/* ==========================================================================
   PAUTA61 - DOCUMENTO DE ESTILOS E IDENTIDADE VISUAL PREMIUM
   ========================================================================== */

/* Variáveis Globais de Identidade Visual */
:root {
    --brand-green-dark: #4a0f14 !important;    /* Vermelho Logo Primário (Autoridade Editorial) */
    --brand-green-mid: #7a1d23 !important;     /* Vermelho Intermediário */
    --brand-green-accent: #c53030 !important;  /* Vermelho Folha Vibrante (Acidentes/Interações) */
    --brand-green-light: #f4e6e6 !important;   /* Vermelho Claro Secundário */
    --bg-creme-green: #fcf7f7 !important;      /* Off-White Creme para leitura confortável */
    --text-charcoal: #2d3748 !important;       /* Preto editorial profundo (legibilidade) */
    --text-muted: #556b5c !important;          /* Texto secundário */

    /* Tipografia Estilo Estadão */
    --fonte-editorial: "Lora", Georgia, serif !important;
    --fonte-leitura: "Lato", Arial, sans-serif !important;

    --texto-principal: #1e1e21 !important;
    --texto-secundario: #39393f !important;
    --texto-terciario: #56565f !important;
    --azul-link: #002fd8 !important;
}

/* ==========================================================================
   1. TIPOGRAFIA & CONFIGURAÇÕES GERAIS
   ========================================================================== */
body, html {
    background-color: var(--bg-creme-green) !important;
    font-family: 'Inter', sans-serif !important;
    color: var(--text-charcoal) !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Forçar a fonte serifada nas tags de título (Editorial) */
h1, h2, h3, h4, h5, h6,
.giro-hero-title, .giro-sub-card-title, .giro-list-title,
.entry-title, .widget-title, .giro-article-title {
    font-family: var(--fonte-editorial) !important;
    font-weight: 700 !important;
    color: var(--brand-green-dark) !important;
}

/* Configurações Globais de Margem e Alinhamento */
.giro-custom-homepage {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 20px 40px !important;
}

.giro-custom-page-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 60px 40px !important;
}

/* ==========================================================================
   2. CABEÇALHO DUAL-BAR (ESTILO CAPITAL RESET)
   ========================================================================== */
/* Header Fixo/Sticky */
.site-header-custom {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Offset para o conteúdo não subir */
body {
    padding-top: 120px !important;
}

/* 2.1 BARRA DO TOPO (Vermelho ESCURO) */
.giro-header-top-bar {
    background-color: var(--brand-green-dark) !important;
    height: 72px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 40px !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Lado Esquerdo */
.giro-header-top-left {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.giro-menu-toggle-btn {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.giro-hamburger-icon {
    display: inline-block !important;
    width: 18px !important;
    height: 12px !important;
    position: relative !important;
    border-top: 2px solid #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
}

.giro-hamburger-icon::before {
    content: '' !important;
    position: absolute !important;
    top: 3px !important;
    left: 0 !important;
    width: 18px !important;
    height: 2px !important;
    background-color: #ffffff !important;
}

.giro-search-toggle-btn {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 16px !important;
    cursor: pointer !important;
    padding: 0 !important;
}

@media (max-width: 599px) {
    .giro-search-toggle-btn {
        display: none !important;
    }
}

/* Lado Central (Logotipo Invertido Branco Centrado Absolutamente) */
.giro-header-top-center {
    display: flex !important;
    align-items: center !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.giro-custom-logo-link {
    display: block !important;
}

.giro-custom-logo {
    max-height: 44px !important;
    width: auto !important;
    display: block !important;
    filter: brightness(0) invert(1) !important; /* Transforma a logo colorida em branca */
    transition: all 0.3s ease !important;
}

/* Lado Direito */
.giro-header-top-right {
    display: flex !important;
    align-items: center !important;
    gap: 25px !important;
}

.giro-header-socials {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

@media (max-width: 1149px) {
    .giro-header-socials {
        display: none !important;
    }
}

.giro-hdr-soc-link {
    color: rgba(255,255,255,0.75) !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
}

.giro-hdr-soc-link:hover {
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.giro-header-cta-btn {
    border: 1.5px solid rgba(255,255,255,0.7) !important;
    background: transparent !important;
    color: #ffffff !important;
    padding: 7px 15px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    border-radius: 3px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.giro-header-cta-btn:hover {
    background: #ffffff !important;
    color: var(--brand-green-dark) !important;
    border-color: #ffffff !important;
}

/* 2.2 LINHA DE NAVEGAÇÃO CATEGORIAS (FUNDO Vermelho FLORESTA ESCURO) */
.giro-header-nav-bar {
    background-color: #5a1117 !important; /* Ligeiramente mais escuro */
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
}

.giro-header-nav-inner {
    max-width: none !important; /* Remove o limite de 1400px para alinhar com o top-bar 100% */
    width: 100% !important;
    padding: 0 40px !important;
}

.giro-custom-nav-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    gap: 28px !important;
}

/* Scoped directly to top level to avoid leaking into dropdowns */
.giro-custom-nav-menu > li {
    position: relative !important;
}

.giro-custom-nav-menu > li > a {
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    padding: 8px 0 !important;
    display: block !important;
    transition: color 0.2s ease !important;
}

.giro-custom-nav-menu > li > a:hover {
    color: #ffffff !important;
}

.giro-custom-nav-menu > li > a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background-color: #34d399 !important;
    transform: scaleX(0) !important;
    transition: transform 0.25s ease !important;
}

.giro-custom-nav-menu > li:hover > a::after {
    transform: scaleX(1) !important;
}

/* 2.3 ESTILOS AO ROLAR (SCROLLED STATE) */
.site-header-scrolled .giro-header-top-bar {
    height: 52px !important;
}

.site-header-scrolled .giro-custom-logo {
    max-height: 32px !important;
}

.site-header-scrolled .giro-header-nav-bar {
    height: 38px !important;
}

/* 2.4 DRAWER LATERAL PREMIUM */
.giro-drawer-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(3px) !important;
    z-index: 100000 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
}

.giro-drawer-overlay.active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.giro-side-drawer {
    position: fixed !important;
    top: 0 !important;
    left: -340px !important;
    width: 340px !important;
    height: 100vh !important;
    background-color: var(--brand-green-dark) !important;
    z-index: 100001 !important; /* acima do overlay para ficar clicável */
    box-shadow: 8px 0 35px rgba(0, 0, 0, 0.4) !important;
    transition: left 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    padding: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important; /* Habilita rolagem vertical no menu lateral */
    -webkit-overflow-scrolling: touch !important; /* Rolagem suave em iOS */
}

.giro-side-drawer.active {
    left: 0 !important;
}

.giro-side-drawer-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    padding-bottom: 20px !important;
    margin-bottom: 30px !important;
}

.giro-drawer-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: rgba(255,255,255,0.6) !important;
}

.giro-drawer-close-btn {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 32px !important;
    cursor: pointer !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.giro-drawer-menu-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.giro-drawer-menu-list > li > a {
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

.giro-drawer-menu-list a {
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

/* Toggles do submenu vertical no Drawer */
.giro-drawer-submenu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    color: rgba(255, 255, 255, 0.4) !important;
    margin-left: 10px !important;
    cursor: pointer !important;
    padding: 4px !important; /* área de toque maior sem mudar visual */
    flex-shrink: 0 !important;
}

.giro-drawer-menu-list li.menu-item-has-children.submenu-active > a .giro-drawer-submenu-toggle {
    transform: rotate(90deg) !important;
    color: #f8b4b4 !important;
}

/* Estilização para sub-menus verticais no Drawer (Celular/Filtro) - Ocultos por padrão */
.giro-drawer-menu-list ul.sub-menu {
    list-style: none !important;
    padding-left: 20px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease-out, opacity 0.2s ease-out, margin 0.3s ease-out !important;
}

.giro-drawer-menu-list li.submenu-active > ul.sub-menu {
    max-height: 500px !important;
    opacity: 1 !important;
    margin: 12px 0 16px 0 !important;
}

.giro-drawer-menu-list ul.sub-menu li a {
    font-family: 'Inter', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: block !important;
}

.giro-drawer-menu-list ul.sub-menu li a:hover {
    color: #f8b4b4 !important;
}

.giro-drawer-menu-list a:hover {
    color: #f8b4b4 !important;
}

.giro-drawer-social-section {
    margin-top: auto !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    padding-top: 30px !important;
}

.giro-drawer-social-section h4 {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.5) !important;
    margin-bottom: 15px !important;
}

.giro-drawer-socials-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.giro-drawer-soc-link {
    background-color: rgba(255,255,255,0.06) !important;
    color: #ffffff !important;
    padding: 8px 14px !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.giro-drawer-soc-link:hover {
    background-color: var(--brand-green-accent) !important;
    color: #ffffff !important;
}

/* 2.5 BUSCA EXPANSÍVEL OVERLAY */
.giro-search-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    background-color: rgba(12, 43, 24, 0.95) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    z-index: 100002 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding-top: 100px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
}

.giro-search-overlay.active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.giro-search-overlay-inner {
    max-width: 700px !important;
    width: 100% !important;
    padding: 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 25px !important;
    position: relative !important;
}

.giro-header-search-form {
    display: flex !important;
    flex: 1 !important;
    gap: 10px !important;
}

.giro-search-field {
    flex: 1 !important;
    background-color: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 4px !important;
    padding: 10px 15px !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
}

.giro-search-field:focus {
    outline: none !important;
    border-color: #ffffff !important;
}

.giro-search-submit-btn {
    background-color: #ffffff !important;
    color: var(--brand-green-dark) !important;
    border: none !important;
    padding: 10px 20px !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    letter-spacing: 0.05em !important;
}

.giro-search-close-btn {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 28px !important;
    cursor: pointer !important;
    padding: 0 !important;
}

/* ==========================================================================
   3. ARQUITETURA DE HERO PRINCIPAL (SPLIT 40/60 COM IMAGEM ALINHADA E ESTREICHA)
   ========================================================================== */
.giro-hero-destaque {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    margin-bottom: 50px !important;
}

.giro-hero-text {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

/* A imagem tem proporção travada e corte inteligente para manter altura estável */
.giro-hero-image {
    width: 100% !important;
    display: flex !important;
    aspect-ratio: 1.65 !important; /* Proporção estável (16:10 aproximado) */
    overflow: hidden !important;
    border-radius: 6px !important;
}

.giro-hero-image a {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
}

.giro-hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Cortar imagem mantendo proporção */
    object-position: center !important; /* Centralizar corte */
    border-radius: 6px !important;
    transition: opacity 0.3s ease !important;
}

.giro-hero-image img:hover {
    opacity: 0.95 !important;
}

/* No desktop: Forçar lado a lado estrito (sem quebrar) usando Grid de 4.5 colunas para texto e 5.5 colunas para imagem */
@media (min-width: 992px) {
    .giro-hero-destaque {
        display: grid !important;
        grid-template-columns: 4.5fr 5.5fr !important;
        gap: 50px !important;
        align-items: stretch !important;
    }
    
    .giro-hero-text {
        width: auto !important;
        justify-content: center !important;
        gap: 20px !important;
    }
    
    .giro-hero-image {
        width: 100% !important;
        height: auto !important;
    }
    
    .giro-hero-image img {
        height: 100% !important;
    }
}

/* Tipografia do Hero */
.giro-cat-tag {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: var(--brand-green-mid) !important;
    margin-bottom: 12px !important;
    display: inline-block !important;
}

.giro-hero-title {
    font-size: 40px !important;
    line-height: 1.15 !important;
    color: var(--brand-green-dark) !important;
    margin-bottom: 16px !important;
}

.giro-hero-title a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.giro-hero-title a:hover {
    color: var(--brand-green-accent) !important;
}

.giro-hero-excerpt {
    font-family: 'Lato', 'Inter', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #4b5563 !important;
    margin-bottom: 25px !important;
}

/* Tabela de Relacionados estilo Estadão */
.giro-related-table {
    border-top: 1px solid rgba(11, 46, 27, 0.12) !important;
    margin-top: auto !important; /* Forçar colagem na base */
    padding-top: 5px !important;
}

.giro-related-row {
    border-bottom: 1px solid rgba(11, 46, 27, 0.08) !important;
    padding: 14px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.giro-related-row:last-child {
    border-bottom: none !important;
}

.giro-related-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--brand-green-mid) !important;
}

.giro-related-link {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--brand-green-dark) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.giro-related-link:hover {
    color: var(--brand-green-accent) !important;
}

/* Links Relacionados com Bolinha Laranja (Estilo Estadão) */
.giro-hero-related-links {
    margin-top: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    border-top: 1.5px solid rgba(11, 46, 27, 0.08) !important;
    padding-top: 18px !important;
}

.giro-related-link-item {
    display: flex !important;
    align-items: center !important;
}

.giro-related-dot {
    width: 6px !important;
    height: 6px !important;
    background-color: #ff5722 !important; /* Laranja Estadão */
    border-radius: 50% !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
}

.giro-related-link-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--brand-green-dark) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}

.giro-related-link-text:hover {
    color: #ff5722 !important;
}

/* ==========================================================================
   4. SEÇÕES EDITORIAIS E GRIDS EM LINHA (SUB-DESTAQUES)
   ========================================================================== */
.giro-sub-destaques-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 30px !important;
    border-top: 1px solid rgba(11, 46, 27, 0.1) !important;
    border-bottom: none !important;
    padding: 40px 0 !important;
    margin-bottom: 50px !important;
}

.giro-sub-card {
    display: flex !important;
    flex-direction: column !important;
}

.giro-sub-card-img {
    margin-bottom: 15px !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    aspect-ratio: 16/10 !important;
}

.giro-sub-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.giro-sub-card:hover .giro-sub-card-img img {
    transform: scale(1.03) !important;
}

.giro-sub-card-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--brand-green-dark) !important;
    margin-top: 8px !important;
}

.giro-sub-card-title a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.giro-sub-card-title a:hover {
    color: var(--brand-green-accent) !important;
}

.giro-section-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--brand-green-dark) !important;
    border-left: 3px solid var(--brand-green-accent) !important;
    padding-left: 12px !important;
    margin-bottom: 25px !important;
    line-height: 1.2 !important;
}

/* ==========================================================================
   5. FAIXAS DE LARGURA TOTAL (PROGRAMA SEMANAL E NEWSLETTER BORDER-TO-BORDER)
   ========================================================================== */
/* Faixa de Vídeo Semanal */
.giro-video-fullwidth-banner {
    background-color: var(--brand-green-dark) !important; /* Faixa vermelha escura */
    padding: 60px 0 !important;
    margin: 40px 0 60px 0 !important;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

.giro-video-fullwidth-inner {
    max-width: 1300px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: center !important;
}

.giro-video-left-col {
    flex: 1.2 1 600px !important;
}

.giro-video-right-col {
    flex: 1 1 450px !important;
    color: #e2e8f0 !important;
}

.giro-video-tag {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #f8b4b4 !important; /* Vermelho claro suave */
    display: inline-block !important;
    margin-bottom: 12px !important;
}

.giro-video-title {
    font-size: 34px !important;
    color: #ffffff !important;
    margin-bottom: 15px !important;
}

.giro-video-desc {
    font-family: 'Lato', 'Inter', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #cbd5e1 !important;
    margin-bottom: 25px !important;
}

.giro-video-cta-btn {
    display: inline-block !important;
    background-color: var(--brand-green-accent) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease !important;
}

.giro-video-cta-btn:hover {
    background-color: var(--brand-green-mid) !important;
}

.giro-video-container {
    position: relative !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
}

.giro-video-container iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* Faixa de Newsletter (Capital Reset Style) */
.giro-newsletter-fullwidth {
    background-color: #e8ece9 !important;
    padding: 60px 0 !important;
    margin: 50px 0 !important;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    border-top: 1px solid rgba(11, 46, 27, 0.05) !important;
    border-bottom: 1px solid rgba(11, 46, 27, 0.05) !important;
}

.giro-newsletter-inner {
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    text-align: center !important;
}

.giro-newsletter-title {
    font-size: 28px !important;
    color: var(--brand-green-dark) !important;
    margin-bottom: 12px !important;
}

.giro-newsletter-desc {
    font-family: 'Lato', 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: var(--text-muted) !important;
    margin-bottom: 25px !important;
}

.giro-newsletter-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
}

.giro-newsletter-form input {
    flex: 1 1 250px !important;
    max-width: 320px !important;
    padding: 12px 18px !important;
    border: 1px solid rgba(11, 46, 27, 0.15) !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
}

.giro-newsletter-form button {
    background-color: var(--brand-green-dark) !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    padding: 12px 28px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

.giro-newsletter-form button:hover {
    background-color: var(--brand-green-accent) !important;
}

/* ==========================================================================
   6. DUAS COLUNAS PRINCIPAIS (LISTA & SIDEBAR)
   ========================================================================== */
.giro-main-split {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 50px !important;
}

.giro-content-col {
    flex: 2 1 700px !important;
}

.giro-sidebar-col {
    flex: 1 1 350px !important;
}

/* Lista de Matérias Recentes */
.giro-list-item {
    display: flex !important;
    gap: 25px !important;
    margin-bottom: 30px !important;
    border-bottom: 1px solid rgba(11, 46, 27, 0.06) !important;
    padding-bottom: 25px !important;
}

.giro-list-item:last-child {
    border-bottom: none !important;
}

.giro-list-img {
    flex: 0 0 200px !important;
    max-width: 200px !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    aspect-ratio: 16/10 !important;
}

.giro-list-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.giro-list-item:hover .giro-list-img img {
    transform: scale(1.02) !important;
}

.giro-list-details {
    flex: 1 !important;
}

.giro-list-title {
    font-size: 21px !important;
    line-height: 1.3 !important;
    color: var(--brand-green-dark) !important;
    margin-bottom: 8px !important;
}

.giro-list-title a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.giro-list-title a:hover {
    color: var(--brand-green-accent) !important;
}

.giro-list-excerpt {
    font-family: 'Lato', 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #556b5c !important;
}

/* Sidebar Widgets */
.giro-sidebar-widget {
    background-color: #f1f5f2 !important;
    border-radius: 6px !important;
    padding: 24px !important;
    margin-bottom: 35px !important;
    border: 1px solid rgba(11, 46, 27, 0.04) !important;
}

.giro-quicklinks-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.giro-quicklinks-list li {
    margin-bottom: 12px !important;
}

.giro-quicklinks-list li:last-child {
    margin-bottom: 0 !important;
}

.giro-quicklinks-list a {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--brand-green-dark) !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    transition: color 0.2s ease !important;
}

.giro-quicklinks-list a::before {
    content: "→" !important;
    color: var(--brand-green-accent) !important;
    font-weight: 700 !important;
    margin-right: 10px !important;
}

.giro-quicklinks-list a:hover {
    color: var(--brand-green-accent) !important;
}

/* Sidebar Redes Sociais */
.giro-sidebar-socials {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
}

.giro-sidebar-social-link {
    background: #e2ede6 !important;
    color: var(--brand-green-dark) !important;
    padding: 10px !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.giro-sidebar-social-link:hover {
    background-color: var(--brand-green-accent) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   7. MATÉRIA INTERNA (SINGLE POST) & LAYOUT DE LEITURA PREMIUM
   ========================================================================== */
.giro-premium-article {
    max-width: 1300px !important;
    margin: 40px auto 80px auto !important;
    padding: 0 20px !important;
}

.giro-breadcrumbs {
    max-width: 1300px !important;
    margin: 0 auto 20px auto !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--text-muted) !important;
}

.giro-breadcrumbs a {
    color: var(--text-muted) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.giro-breadcrumbs a:hover {
    color: var(--brand-green-mid) !important;
}

.giro-article-header {
    text-align: center !important;
    max-width: 1047px !important;
    margin: 0 auto 40px auto !important;
}

.giro-article-category {
    font-family: var(--fonte-leitura) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: var(--brand-green-accent) !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-bottom: 15px !important;
}

.giro-article-title {
    font-family: var(--fonte-editorial) !important;
    font-size: 50px !important;
    font-weight: normal !important;
    line-height: 1.2 !important;
    letter-spacing: -0.2px !important;
    color: var(--texto-principal) !important;
    margin-bottom: 20px !important;
}

@media (max-width: 768px) {
    .giro-article-title {
        font-size: 28px !important;
    }
}

.giro-article-deck {
    font-family: var(--fonte-leitura) !important;
    font-size: 24px !important;
    font-weight: normal !important;
    line-height: 1.4 !important;
    color: var(--texto-secundario) !important;
    max-width: 1047px !important;
    margin: 0 auto 30px auto !important;
}

@media (max-width: 768px) {
    .giro-article-deck {
        font-size: 20px !important;
    }
}

.giro-article-meta-header {
    max-width: 728px !important;
    margin: 25px auto !important;
}
.giro-article-meta-header .giro-author-name,
.giro-article-meta-header .giro-author-name span {
    font-family: var(--fonte-leitura) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--texto-principal) !important;
}
.giro-article-meta-header .giro-article-date,
.giro-article-meta-header .giro-article-date time {
    font-family: var(--fonte-leitura) !important;
    font-size: 14px !important;
    color: var(--texto-terciario) !important;
    font-weight: 400 !important;
}
@media (max-width: 768px) {
    .giro-article-meta-header .giro-article-date,
    .giro-article-meta-header .giro-article-date time {
        font-size: 12px !important;
    }
}

.giro-article-meta-bottom {
    display: flex !important;
    justify-content: center !important;
    gap: 30px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: var(--text-muted) !important;
    border-top: 1px solid rgba(11, 46, 27, 0.08) !important;
    border-bottom: 1px solid rgba(11, 46, 27, 0.08) !important;
    padding: 15px 0 !important;
    max-width: 800px !important;
    margin: 0 auto 25px auto !important;
}

@media (max-width: 768px) {
    .giro-article-meta-bottom {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: center !important;
    }
}

/* Barra de Compartilhamento Social */
.giro-share-bar {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    align-items: center !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.giro-share-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #3f0b10 !important;
    margin-right: 10px !important;
}

.giro-share-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(12, 43, 24, 0.05) !important;
    transition: background-color 0.2s, transform 0.2s !important;
    padding: 0 !important;
    border: none !important;
}

.giro-share-link svg {
    width: 18px !important;
    height: 18px !important;
    fill: #3f0b10 !important;
}

.giro-share-link:hover {
    background-color: rgba(12, 43, 24, 0.15) !important;
    transform: translateY(-2px) !important;
}

/* Imagem Destacada do Artigo com aspect ratio e crop */
figure.giro-article-featured-img,
.giro-article-featured-img {
    max-width: 945px !important;
    margin: 0 auto 40px auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.giro-article-featured-img-inner {
    width: 100% !important;
    aspect-ratio: 1.85 !important; /* Proporção de corte horizontal estável */
    overflow: hidden !important;
    border-radius: 6px !important;
}

.giro-article-featured-img-inner img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.giro-featured-img-caption {
    display: block !important;
    text-align: left !important;
    font-family: var(--fonte-leitura) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    color: var(--texto-terciario) !important;
    margin-top: 10px !important;
    max-width: 945px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.giro-featured-img-caption .giro-caption-credit {
    white-space: nowrap !important;
}

.giro-featured-img-caption .giro-caption-separator {
    display: none !important;
}

.giro-featured-img-caption .giro-caption-separator.is-inline {
    display: inline !important;
}

/* Grid de Layout da Matéria e Barra Lateral */
.giro-article-layout-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    max-width: 1047px !important;
    margin: 0 auto 60px auto !important;
}

@media (min-width: 992px) {
    .giro-article-layout-grid {
        grid-template-columns: 728px 1fr !important;
        gap: 50px !important;
        justify-content: space-between !important;
    }
}

.giro-article-content-col {
    width: 100% !important;
}

/* Coluna de Leitura de 728px */
.giro-article-body {
    max-width: 728px !important;
    margin: 0 auto !important;
}

.giro-article-body p {
    font-family: var(--fonte-leitura) !important;
    font-size: 20px !important;
    line-height: 1.6 !important;
    color: var(--texto-principal) !important;
    margin-bottom: 40px !important;
}

@media (max-width: 768px) {
    .giro-article-body p {
        font-size: 18px !important;
        line-height: 1.6 !important;
        margin-bottom: 32px !important;
    }
}

.giro-article-body h2,
.giro-article-body h3 {
    font-family: var(--fonte-leitura) !important;
    font-size: 28px !important;
    line-height: 32px !important;
    color: var(--texto-principal) !important;
    font-weight: 700 !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

@media (max-width: 768px) {
    .giro-article-body h2,
    .giro-article-body h3 {
        font-size: 22px !important;
        line-height: 28px !important;
    }
}

/* DROP CAPS: Estilização majestosa do primeiro caractere do texto */
.giro-article-body p.giro-first-p::first-letter {
    font-family: var(--fonte-leitura) !important;
    font-size: 64px !important;
    font-weight: 700 !important;
    float: left !important;
    line-height: 0.8 !important;
    margin-top: 4px !important;
    margin-right: 8px !important;
    color: var(--brand-green-accent) !important;
    text-transform: uppercase !important;
}

/* ==========================================================================
   8. ENGENHARIA DE INTERFACE DO PAYWALL (TELA DE BLOQUEIO PREMIUM)
   ========================================================================== */
.giro-paywall-blurred-container {
    user-select: none !important;
    pointer-events: none !important;
    filter: blur(5px) !important;
    opacity: 0.3 !important;
    margin-bottom: 30px !important;
}

.giro-paywall-lock-box {
    background-color: #3f0b10 !important; /* Fundo Pine Green Profundo */
    border-radius: 8px !important;
    padding: 40px !important;
    color: #ffffff !important;
    text-align: center !important;
    box-shadow: 0 10px 30px rgba(11, 46, 27, 0.2) !important;
    margin: 40px 0 !important;
    border: 1px solid rgba(167, 243, 208, 0.1) !important;
}

.giro-paywall-lock-badge {
    display: inline-block !important;
    background-color: var(--brand-green-accent) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    padding: 6px 14px !important;
    border-radius: 100px !important;
    margin-bottom: 20px !important;
}

.giro-paywall-title {
    font-size: 26px !important;
    color: #ffffff !important;
    margin-bottom: 12px !important;
}

.giro-paywall-desc {
    font-family: 'Lato', 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: #ffffff !important; /* Forçado para Branco */
    line-height: 1.5 !important;
    max-width: 600px !important;
    margin: 0 auto 30px auto !important;
}

/* Overrides de alta especificidade para evitar que temas pais pintem o texto de preto/escuro */
#giro-paywall-forms p,
#giro-paywall-forms p.giro-paywall-desc,
.giro-paywall-lock-box p,
.giro-paywall-lock-box p.giro-paywall-desc {
    color: #ffffff !important;
}

/* Formulários de Autenticação */
.giro-auth-form {
    max-width: 400px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.giro-auth-form input {
    padding: 12px 16px !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 4px !important;
    background-color: rgba(255,255,255,0.06) !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
}

.giro-auth-form input::placeholder {
    color: #94a3b8 !important;
}

.giro-auth-form input:focus {
    outline: none !important;
    border-color: var(--brand-green-accent) !important;
    background-color: rgba(255,255,255,0.1) !important;
}

.giro-auth-submit-btn {
    background-color: var(--brand-green-accent) !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    padding: 14px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

.giro-auth-submit-btn:hover {
    background-color: var(--brand-green-mid) !important;
}

.giro-auth-toggle-link {
    font-size: 13px !important;
    color: #94a3b8 !important;
}

.giro-auth-toggle-link a {
    color: #f8b4b4 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* Box de Comentários Bloqueado */
.giro-comments-locked-box {
    background: #e8ece9 !important;
    border-radius: 6px !important;
    padding: 30px !important;
    text-align: center !important;
    border: 1px dashed rgba(11, 46, 27, 0.15) !important;
    margin-top: 20px !important;
}

.giro-comments-auth-btn {
    display: inline-block !important;
    background-color: var(--brand-green-dark) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    margin-top: 10px !important;
}

/* ==========================================================================
   9. CUSTOMIZAÇÕES DO FOOTER E REDES SOCIAIS FLUTUANTES
   ========================================================================== */
.giro-floating-social-bar {
    position: fixed !important;
    left: 20px !important;
    bottom: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    z-index: 9999 !important;
}

.giro-social-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background-color: var(--brand-green-dark) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    position: relative !important;
}

.giro-social-icon::before {
    font-size: 14px !important;
    font-weight: 700 !important;
}

.icon-youtube::before { content: "YT"; }
.icon-linkedin::before { content: "IN"; }
.icon-facebook::before { content: "FB"; }
.icon-instagram::before { content: "IG"; }
.icon-tiktok::before { content: "TT"; }
.icon-x::before { content: "X"; }
.icon-threads::before { content: "TH"; }
.icon-bluesky::before { content: "BS"; }

.giro-social-icon:hover {
    transform: translateY(-3px) !important;
    background-color: var(--brand-green-accent) !important;
}

/* ==========================================================================
   10. LAYOUT DE MATÉRIA INTERNA (SIDEBAR E RECOMENDAÇÕES)
   ========================================================================== */
.giro-article-sidebar-col {
    width: 100% !important;
}
.giro-sidebar-widget {
    margin-bottom: 45px !important;
}
/* Widget Newsletter */
.giro-sidebar-newsletter {
    background-color: var(--brand-green-dark) !important;
    color: #ffffff !important;
    padding: 30px 25px !important;
    border-radius: 6px !important;
}
.giro-sidebar-newsletter .giro-widget-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 12px !important;
    border-bottom: 2px solid var(--brand-green-mid) !important;
    padding-bottom: 8px !important;
}
.giro-sidebar-newsletter p {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 20px !important;
}
.giro-sidebar-newsletter-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.giro-sidebar-newsletter-form input {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    padding: 12px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
}
.giro-sidebar-newsletter-form input::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}
.giro-sidebar-newsletter-form button {
    background-color: var(--brand-green-mid) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}
.giro-sidebar-newsletter-form button:hover {
    background-color: var(--brand-green-light) !important;
}
.giro-checkbox-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    cursor: pointer !important;
}
.giro-checkbox-label input {
    width: auto !important;
    margin-top: 2px !important;
}
/* Widget Últimas com Número */
.giro-sidebar-latest {
    border-top: 2px solid var(--brand-green-dark) !important;
    padding-top: 25px !important;
}
.giro-sidebar-latest .giro-widget-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--brand-green-dark) !important;
    margin-bottom: 25px !important;
}
.giro-latest-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}
.giro-latest-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 15px !important;
    border-bottom: 1px solid #eeeeee !important;
    padding-bottom: 15px !important;
}
.giro-latest-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
.giro-latest-number {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 0.9 !important;
    color: var(--brand-green-mid) !important;
    min-width: 25px !important;
}
.giro-latest-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.giro-latest-cat {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--brand-green-mid) !important;
    letter-spacing: 0.08em !important;
}
.giro-latest-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: var(--text-charcoal) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.giro-latest-title:hover {
    color: var(--brand-green-mid) !important;
}
/* Tags / Assuntos */
.giro-article-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    max-width: 720px !important;
    margin: 30px auto !important;
    padding-top: 20px !important;
    border-top: 1px dashed #dddddd !important;
}
.giro-tags-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--text-muted) !important;
}
.giro-tag-btn {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: var(--text-charcoal) !important;
    background-color: #f3f4f6 !important;
    border: 1px solid #e5e7eb !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
.giro-tag-btn:hover {
    background-color: var(--brand-green-dark) !important;
    border-color: var(--brand-green-dark) !important;
    color: #ffffff !important;
}
/* Mais notícias (Recomendações no Rodapé) */
.giro-article-bottom-section {
    max-width: 1300px !important;
    margin: 60px auto 0 auto !important;
    padding: 40px 0 0 0 !important;
    border-top: 1px solid #dddddd !important;
}
.giro-bottom-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 30px !important;
}
.giro-bottom-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--brand-green-dark) !important;
    position: relative !important;
    padding-left: 15px !important;
}
.giro-bottom-title::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 4px !important;
    height: 24px !important;
    background-color: var(--brand-green-mid) !important;
}
.giro-bottom-link {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--brand-green-mid) !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}
.giro-bottom-link:hover {
    color: var(--brand-green-dark) !important;
}
.giro-bottom-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
}
@media (min-width: 768px) {
    .giro-bottom-list {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (min-width: 992px) {
    .giro-bottom-list {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
.giro-bottom-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}
.giro-bottom-thumb {
    width: 100% !important;
    aspect-ratio: 1.63 !important;
    overflow: hidden !important;
    border-radius: 6px !important;
}
.giro-bottom-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}
.giro-bottom-item:hover .giro-bottom-thumb img {
    transform: scale(1.03) !important;
}
.giro-bottom-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.giro-bottom-cat {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--brand-green-mid) !important;
    letter-spacing: 0.05em !important;
}
.giro-bottom-item-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
.giro-bottom-item-title a {
    color: var(--text-charcoal) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.giro-bottom-item-title a:hover {
    color: var(--brand-green-mid) !important;
}
.giro-bottom-excerpt {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #666666 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* 11. AJUSTES DE LARGURA E CENTRO DA PÁGINA DE LEITURA (ASTRA OVERRIDES) */
@media (min-width: 922px) {
    .ast-narrow-container .ast-container,
    .ast-narrow-container .site-content .ast-container,
    .ast-narrow-container #content > .ast-container,
    body.single .ast-container,
    body.single-post .ast-container,
    body.single-post .site-content > .ast-container {
        max-width: 1400px !important; /* Mesma largura máxima da Home */
        width: 100% !important;
        padding: 0 40px !important;
    }
}

/* 12. NOVO BLOCO DE ASSINATURA E DATAS (ABAIXO DA FOTO) */
.giro-article-meta-bottom-new {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: var(--text-muted) !important;
    border-bottom: 1px solid rgba(11, 46, 27, 0.08) !important;
    padding-bottom: 15px !important;
    margin-bottom: 25px !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
}

.giro-article-meta-bottom-new .giro-author-name {
    color: var(--brand-green-dark) !important;
}

.giro-article-meta-bottom-new .giro-meta-separator {
    margin: 0 8px !important;
    color: rgba(11, 46, 27, 0.2) !important;
}

/* 13. SEÇÃO DE COMENTÁRIOS E ESPAÇAMENTO PREMIUM */
.giro-article-comments {
    max-width: 720px !important;
    margin: 60px auto 0 auto !important;
    padding-top: 40px !important;
    border-top: 1px solid rgba(11, 46, 27, 0.1) !important;
}

.giro-comments-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #777777 !important;
    margin-bottom: 25px !important;
    border-bottom: none !important;
    display: block !important;
    padding-bottom: 0 !important;
}

/* Espaçamento entre os comentários individualmente */
.comment-list li.comment {
    margin-bottom: 25px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid rgba(11, 46, 27, 0.05) !important;
    list-style: none !important;
}

/* Textos de comentário mais delicados e discretos */
.comment-content, .comment-content p {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #4a4a4a !important;
}

.comment-meta, .comment-metadata a {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: #888888 !important;
}

.comment-author cite, .comment-author cite a {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--brand-green-dark) !important;
    font-style: normal !important;
}

.comment-list li.comment:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

/* Espaçamento entre as respostas (sub-comentários) */
.comment-list .children {
    margin-top: 25px !important;
    margin-left: 30px !important;
    padding-left: 20px !important;
    border-left: 2px solid rgba(11, 46, 27, 0.08) !important;
}

.comment-list .children li.comment {
    margin-bottom: 25px !important;
    padding-bottom: 15px !important;
}

/* Formulário de Comentário e Botões */
.comment-respond {
    margin-top: 40px !important;
}

.comment-form textarea {
    width: 100% !important;
    border: 1px solid rgba(11, 46, 27, 0.12) !important;
    border-radius: 4px !important;
    padding: 15px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    background-color: #fafbfa !important;
    margin-bottom: 15px !important;
}

.comment-form .submit {
    background-color: var(--brand-green-mid) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 24px !important;
    border-radius: 4px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

.comment-form .submit:hover {
    background-color: var(--brand-green-dark) !important;
}

/* Ocultar o título redundante em inglês dos comentários padrão do tema */
.comments-area .comments-title {
    display: none !important;
}

/* 14. BOTÃO CARREGAR MAIS COMENTÁRIOS (SUTIL E DISCRETO) */
.giro-load-more-comments-container {
    text-align: center !important;
    margin: 20px 0 !important;
}

#giro-load-more-comments-btn {
    background: none !important;
    color: var(--brand-green-mid) !important;
    border: none !important;
    border-bottom: 1px solid var(--brand-green-mid) !important;
    padding: 2px 0 !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
    opacity: 0.8 !important;
}

#giro-load-more-comments-btn:hover {
    color: var(--brand-green-dark) !important;
    border-bottom-color: var(--brand-green-dark) !important;
    opacity: 1 !important;
}

/* Efeito de corte (truncamento) no 4º comentário */
.giro-comment-truncated {
    max-height: 90px !important;
    overflow: hidden !important;
    position: relative !important;
}

.giro-comment-truncated::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 50px !important;
    background: linear-gradient(transparent, #ffffff) !important;
    pointer-events: none !important;
}

/* 15. MODAL DE AUTENTICAÇÃO PREMIUM (POPUP DE COMENTÁRIOS COM BLUR) */
.giro-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(11, 46, 27, 0.4) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 100000 !important; /* acima do drawer (99990) */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
    overflow-y: auto !important;
}

.giro-modal-overlay.active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.giro-modal-content {
    background-color: #3f0b10 !important; /* Vermelho Profundo */
    color: #ffffff !important;
    width: 100% !important;
    max-width: 440px !important;
    padding: 35px !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
    position: relative !important;
    min-height: 0 !important; /* garante que o conteúdo define a altura */
    height: auto !important;
    transform: translateY(30px) !important;
    transition: transform 0.3s ease !important;
    box-sizing: border-box !important;
}

.giro-modal-overlay.active .giro-modal-content {
    transform: translateY(0) !important;
}

.giro-modal-close-btn {
    position: absolute !important;
    top: 15px !important;
    right: 20px !important;
    background: none !important;
    border: none !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 32px !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: color 0.2s ease !important;
}

.giro-modal-close-btn:hover {
    color: #ffffff !important;
}

.giro-modal-header {
    text-align: center !important;
    margin-bottom: 25px !important;
}

.giro-modal-badge {
    background-color: var(--brand-green-accent) !important;
    color: #3f0b10 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    display: inline-block !important;
    margin-bottom: 12px !important;
}

.giro-modal-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
}

.giro-modal-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.75) !important;
    line-height: 1.5 !important;
}

.giro-modal-tabs {
    display: flex !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin: 20px 0 25px 0 !important;
}

.giro-modal-tab-btn {
    flex: 1 !important;
    background: none !important;
    border: none !important;
    color: rgba(255, 255, 255, 0.5) !important;
    padding: 10px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border-bottom: 2px solid transparent !important;
    text-align: center !important;
}

.giro-modal-tab-btn:hover {
    color: rgba(255, 255, 255, 0.8) !important;
}

.giro-modal-tab-btn.active {
    color: var(--brand-green-accent) !important;
    border-bottom-color: var(--brand-green-accent) !important;
}

.giro-modal-body .giro-auth-form input {
    width: 100% !important;
    padding: 12px 15px !important;
    margin-bottom: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
}

.giro-modal-body .giro-auth-form input:focus {
    border-color: var(--brand-green-accent) !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    outline: none !important;
}

.giro-modal-body .giro-auth-form input::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* Campos de Cadastro Adicionais no Modal */
.giro-form-group {
    margin-bottom: 15px !important;
    text-align: left !important;
}

.giro-form-group label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin-bottom: 6px !important;
}

.giro-form-group input {
    margin-bottom: 0 !important; /* Sobrescreve margem padrão do input */
}

.giro-form-group-row {
    display: flex !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

.giro-form-group-row .giro-form-group {
    flex: 1 !important;
    margin-bottom: 0 !important;
}

.giro-form-checkbox-group {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 20px 0 !important;
    text-align: left !important;
}

.giro-form-checkbox-group input[type="checkbox"] {
    width: auto !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.giro-form-checkbox-group label {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    cursor: pointer !important;
    user-select: none !important;
}

.giro-form-policy-note {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    line-height: 1.5 !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.giro-form-policy-note a {
    color: var(--brand-green-accent) !important;
    text-decoration: underline !important;
    transition: color 0.2s ease !important;
}

.giro-form-policy-note a:hover {
    color: #ffffff !important;
}

/* ==========================================================================
   15. CORREÇÃO COMPLETA DE LARGURA E EXPANSÃO DO CONTEÚDO DE LEITURA
   ========================================================================== */
body.single-post .ast-container,
body.single-post #primary,
body.single-post #main,
body.single .ast-container,
body.single #primary,
body.single #main {
    max-width: 1400px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    float: none !important;
}

body.single-post .giro-premium-article,
body.single .giro-premium-article {
    max-width: 1300px !important;
    width: 100% !important;
    margin: 40px auto 80px auto !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   16. ALINHAMENTO DO BOTÃO ENTRAR / ASSINANTE À EXTREMA DIREITA (DESKTOP)
   ========================================================================== */
@media (min-width: 922px) {
    .giro-header-nav-inner {
        position: relative !important;
    }
    
    .giro-header-nav-bar ul.giro-custom-nav-menu {
        position: static !important; /* Libera o li para se posicionar pelo .giro-header-nav-inner */
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
    
    .giro-header-nav-bar ul.giro-custom-nav-menu > li.custom-user-menu {
        position: absolute !important;
        right: 40px !important; /* Alinhado exatamente na extrema direita do grid interno */
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        display: block !important;
    }
}

/* ==========================================================================
   17. ESTILOS DO SUBMENU DE USUÁRIO (SOBREPOSIÇÃO PARA EVITAR PERDA DE HOVER)
   ========================================================================== */
.giro-custom-nav-menu li.custom-user-menu ul.sub-menu {
    display: none;
    position: absolute !important;
    top: 85% !important; /* Ligeira sobreposição com o link pai para garantir que o mouse nunca perca o foco */
    right: 0 !important;
    left: auto !important;
    background-color: #4a0f14 !important; /* Fundo vermelho escuro idêntico ao cabeçalho */
    border: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.3) !important;
    border-radius: 6px !important;
    min-width: 200px !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    z-index: 99999 !important;
}

/* Exibir o submenu ao passar o mouse */
.giro-custom-nav-menu li.custom-user-menu:hover ul.sub-menu {
    display: block !important;
}

/* Itens de lista internos do submenu */
.giro-custom-nav-menu li.custom-user-menu ul.sub-menu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
}

/* Links do Submenu */
.giro-custom-nav-menu li.custom-user-menu ul.sub-menu li a {
    color: rgba(255,255,255,0.85) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: none !important; /* Desativa caixa alta */
    letter-spacing: 0.02em !important;
    padding: 10px 20px !important;
    display: block !important;
    text-align: left !important;
    transition: all 0.2s ease !important;
    background: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.giro-custom-nav-menu li.custom-user-menu ul.sub-menu li a:hover {
    color: #ffffff !important;
    background-color: var(--brand-green-mid) !important;
}

.giro-custom-nav-menu li.pauta-nos-menu-parent {
    position: relative !important;
}

.giro-custom-nav-menu li.pauta-nos-menu-parent > ul.sub-menu,
.giro-custom-nav-menu li.pauta-nos-menu-parent:hover > ul.sub-menu {
    display: none !important;
}

.giro-custom-nav-menu li.pauta-nos-menu-parent:hover > .pauta-institutional-submenu,
.giro-custom-nav-menu li.pauta-nos-menu-parent.submenu-active > .pauta-institutional-submenu {
    display: block !important;
}

.giro-custom-nav-menu li.pauta-nos-menu-parent > .pauta-institutional-submenu {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background-color: #5a1117 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
    border-radius: 6px !important;
    min-width: 240px !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    z-index: 100002 !important;
    pointer-events: auto !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
}

.giro-custom-nav-menu li.pauta-nos-menu-parent:hover > .pauta-institutional-submenu,
.giro-custom-nav-menu li.pauta-nos-menu-parent:focus-within > .pauta-institutional-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.giro-custom-nav-menu li.pauta-nos-menu-parent > .pauta-institutional-submenu li a {
    color: rgba(255, 255, 255, 0.85) !important;
    display: block !important;
    padding: 10px 20px !important;
}

.giro-custom-nav-menu li.pauta-nos-menu-parent > .pauta-institutional-submenu li a:hover {
    color: #ffffff !important;
    background-color: var(--brand-green-mid) !important;
}

/* Ocultar a linha under-hover do menu principal dentro do submenu */
.giro-custom-nav-menu li.custom-user-menu ul.sub-menu li a::after {
    display: none !important;
}

/* ==========================================================================
   18. EFEITO DE HOVER UNDERLINE EXPANSIVO (ABRINDO DO CENTRO)
   ========================================================================== */
.giro-custom-nav-menu > li > a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background-color: #a12d2d !important; /* Tom vermelho discreto */
    transform: scaleX(0) !important;
    transform-origin: center !important; /* Garante que abre suavemente do meio da palavra */
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.giro-custom-nav-menu > li:hover > a::after {
    transform: scaleX(1) !important;
}

/* ==========================================================================
   19. ENGINE DE SUBMENUS DROPDOWNS (DESKTOP) E REGRAS DE HIDE EM CELULAR
   ========================================================================== */
@media (max-width: 921px) {
    /* Ocultar a faixa horizontal de categorias em celulares */
    .giro-header-nav-bar {
        display: none !important;
    }

    .giro-side-drawer {
        left: -100vw !important;
        width: 100vw !important;
        padding: 28px 20px 36px 20px !important;
        z-index: 100001 !important;
    }

    .giro-side-drawer.active {
        left: 0 !important;
    }

    .giro-drawer-body,
    .giro-side-drawer-body {
        width: 100% !important;
        max-width: 100% !important;
    }

    .giro-drawer-overlay.active {
        z-index: 100000 !important;
    }
}

/* Leitura mais confortável em monitores grandes, sem alterar tablets e celulares. */
@media (min-width: 1200px) {
    body.single-post .giro-premium-article,
    body.single .giro-premium-article {
        max-width: 1200px !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }

    body.single-post .giro-article-header,
    body.single .giro-article-header {
        max-width: 1180px !important;
    }

    body.single-post .giro-article-layout-grid,
    body.single .giro-article-layout-grid {
        max-width: 1120px !important;
        grid-template-columns: minmax(0, 760px) minmax(260px, 1fr) !important;
        gap: 48px !important;
    }

    body.single-post figure.giro-article-featured-img,
    body.single figure.giro-article-featured-img {
        max-width: none !important;
        width: calc(100% + 80px) !important;
        margin-left: -40px !important;
        margin-right: -40px !important;
    }

    body.single-post .giro-article-body,
    body.single .giro-article-body {
        max-width: 760px !important;
    }

    body.single-post .giro-article-meta-bottom-new,
    body.single .giro-article-meta-bottom-new,
    body.single-post .giro-article-comments,
    body.single .giro-article-comments {
        max-width: 760px !important;
    }
}

/* Menu institucional do rodapé em uma linha, com contraste sobre o fundo escuro. */
.giro-footer-extra-menu-container ul.giro-footer-extra-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
    white-space: nowrap !important;
}

.giro-footer-extra-menu-container ul.giro-footer-extra-menu li,
.giro-footer-extra-menu-container ul.giro-footer-extra-menu li a {
    display: inline-block !important;
    width: auto !important;
}

.giro-footer-extra-menu-container ul.giro-footer-extra-menu li a {
    color: #ffffff !important;
    font-weight: 600 !important;
}

@media (max-width: 921px) {
    .giro-footer-extra-menu-container ul.giro-footer-extra-menu {
        flex-wrap: wrap !important;
        white-space: normal !important;
        gap: 12px 18px !important;
    }
}

@media (min-width: 922px) {
    .giro-custom-nav-menu li {
        position: relative !important;
    }
    
    /* Ocultar submenus padrão */
    .giro-custom-nav-menu li ul.sub-menu {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        background-color: #5a1117 !important; /* Mesma cor da barra */
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
        border-radius: 6px !important;
        min-width: 210px !important;
        padding: 10px 0 !important;
        margin: 0 !important;
        list-style: none !important;
        z-index: 99999 !important;
    }
    
    /* Exibir submenu no hover */
    .giro-custom-nav-menu li:hover > ul.sub-menu {
        display: block !important;
    }
    
    .giro-custom-nav-menu li ul.sub-menu li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    
    .giro-custom-nav-menu li ul.sub-menu li a {
        color: rgba(255, 255, 255, 0.8) !important;
        font-family: 'Inter', sans-serif !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        letter-spacing: 0.02em !important;
        padding: 10px 20px !important;
        display: block !important;
        text-align: left !important;
        transition: all 0.2s ease !important;
        background: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    
    .giro-custom-nav-menu li ul.sub-menu li a:hover {
        color: #ffffff !important;
        background-color: var(--brand-green-mid) !important;
    }
    
    /* Ocultar underline dinâmico de hover nos links dos submenus */
    .giro-custom-nav-menu li ul.sub-menu li a::after {
        display: none !important;
    }
}

/* Ocultar os sub-links da manchete em celular/tablet para manter o texto colado na imagem da matéria */
@media (max-width: 991px) {
    .giro-hero-related-links {
        display: none !important;
    }
}

/* Responsividade para a lista de Últimas Notícias em celular */
@media (max-width: 768px) {
    .giro-list-item {
        flex-direction: column !important; /* Empilha a imagem acima do texto */
        gap: 15px !important;
        padding-bottom: 20px !important;
        margin-bottom: 25px !important;
    }
    
    .giro-list-img {
        flex: 1 1 auto !important;
        max-width: 100% !important;
        width: 100% !important;
        aspect-ratio: 16/9 !important; /* Formato card paisagem em celulares */
    }
}

/* Garante que o modal de cadastro/login possa ser rolado verticalmente em celulares */
@media (max-width: 600px) {
    .giro-modal-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important; /* block em vez de flex: permite que o conteúdo defina altura real */
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 20px 16px 60px 16px !important;
        box-sizing: border-box !important;
    }
    
    .giro-modal-content {
        margin: 0 auto !important;
        transform: none !important;
        position: relative !important;
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
    }

    /* Quando o modal estiver ativo, garantir que o formulário seja completamente visível */
    .giro-modal-overlay.active .giro-modal-content {
        transform: none !important;
    }
}

/* --- NOVAS REGRAS DE LAYOUT DO DRAWER E DO RODAPÉ (FOOTER EXTRA MENU) --- */

/* Espaçamento abaixo do item de Login / Minha Conta no Menu Lateral */
.giro-drawer-menu-list > li.custom-user-menu {
    margin-bottom: 25px !important;
}

/* Nova Grid 3x3 para os ícones coloridos das redes sociais */
.giro-drawer-socials-grid-v2 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Estilo base para os botões/links de redes sociais no Drawer */
.giro-drawer-soc-icon-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    width: 44px !important;
    max-width: 44px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease !important;
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    justify-self: center !important;
}

.giro-drawer-soc-icon-link:hover {
    transform: translateY(-2px) !important;
    opacity: 0.95 !important;
    box-shadow: 0 6px 15px rgba(0,0,0,0.25) !important;
}

/* Cores das Marcas (Redes Sociais) */
.giro-drawer-soc-icon-link.soc-color-youtube {
    background-color: #ff0000 !important;
}
.giro-drawer-soc-icon-link.soc-color-instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}
.giro-drawer-soc-icon-link.soc-color-linkedin {
    background-color: #0077b5 !important;
}
.giro-drawer-soc-icon-link.soc-color-facebook {
    background-color: #1877f2 !important;
}
.giro-drawer-soc-icon-link.soc-color-tiktok {
    background-color: #010101 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.giro-drawer-soc-icon-link.soc-color-x {
    background-color: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.giro-drawer-soc-icon-link.soc-color-threads {
    background-color: #101010 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.giro-drawer-soc-icon-link.soc-color-bluesky {
    background-color: #0285ff !important;
}
.giro-drawer-soc-icon-link.soc-color-whatsapp {
    background-color: #dc2626 !important;
}

/* Ajustes no menu institucional do Drawer */
.giro-drawer-inst-links-list a:hover {
    color: var(--brand-green-accent) !important;
}

/* Estilo e centralização do Rodapé */
.giro-custom-footer-container {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.giro-footer-extra-menu a:hover {
    color: var(--brand-green-accent) !important;
    text-decoration: underline !important;
}

/* Forçar centralização do container do copyright do Astra */
.ast-footer-copyright, 
.site-footer-focus-item,
.ast-below-footer-section, 
.ast-below-footer-bar {
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Esconde qualquer crédito ou link padrão do Astra no rodapé, preservando apenas o nosso menu e copyright */
.site-footer [class*="powered-by"],
.site-footer a[href*="wpastra"],
.site-footer a[href*="wordpress.org"],
.ast-footer-copyright p {
    display: none !important;
}

.giro-custom-footer-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
}

/* Forçar fundo vermelho escuro no rodapé inferior para excelente contraste */
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.site-below-footer-wrap {
    background-color: var(--brand-green-dark) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Estilo para o menu dinâmico do rodapé editável no wp-admin */
.giro-footer-extra-menu-container ul.giro-footer-extra-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 15px 25px !important;
    margin-bottom: 20px !important;
    list-style: none !important;
    padding: 0 !important;
    margin-top: 0 !important;
    width: 100% !important;
}

.giro-footer-extra-menu-container ul.giro-footer-extra-menu li {
    margin: 0 !important;
    padding: 0 !important;
}

.giro-footer-extra-menu-container ul.giro-footer-extra-menu li a {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: color 0.2s !important;
    font-family: 'Inter', sans-serif !important;
}

.giro-footer-extra-menu-container ul.giro-footer-extra-menu li a:hover {
    color: var(--brand-green-accent) !important;
}

/* Menu institucional: regra final para evitar conflitos com Astra e regras legadas. */
.giro-header-nav-bar,
.giro-header-nav-bar nav,
.giro-header-nav-bar .menu-menu-principal-container,
.giro-header-nav-bar ul.giro-custom-nav-menu {
    overflow: visible !important;
}

.giro-header-nav-bar ul.giro-custom-nav-menu > li.pauta-nos-menu-parent {
    position: relative !important;
}

.giro-header-nav-bar ul.giro-custom-nav-menu > li.pauta-nos-menu-parent > ul.pauta-institutional-submenu {
    display: block !important;
    position: absolute !important;
    /* Mesmo alinhamento vertical do submenu padrão de Mais. */
    top: 100% !important;
    left: 0 !important;
    width: max-content !important;
    min-width: 200px !important;
    max-width: 240px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: #5a1117 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.3) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(4px) !important;
    z-index: 2147483000 !important;
}

.giro-header-nav-bar ul.giro-custom-nav-menu > li.pauta-nos-menu-parent:hover > ul.pauta-institutional-submenu,
.giro-header-nav-bar ul.giro-custom-nav-menu > li.pauta-nos-menu-parent:focus-within > ul.pauta-institutional-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.giro-header-nav-bar ul.giro-custom-nav-menu > li.pauta-nos-menu-parent > ul.pauta-institutional-submenu > li,
.giro-header-nav-bar ul.giro-custom-nav-menu > li.pauta-nos-menu-parent > ul.pauta-institutional-submenu > li > a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 20px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

@media (max-width: 921px) {
    .giro-header-nav-bar ul.giro-custom-nav-menu > li.pauta-nos-menu-parent > ul.pauta-institutional-submenu {
        display: none !important;
    }
}

/* Regra final: o menu institucional do rodapé deve permanecer horizontal. */
.site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
    white-space: nowrap !important;
}

.site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu > li {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu > li > a {
    display: inline-block !important;
    width: auto !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

@media (max-width: 921px) {
    .site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu {
        flex-wrap: wrap !important;
        white-space: normal !important;
        gap: 12px 18px !important;
    }
}

/* Ajuste final do cabeçalho e da escala da matéria em monitores grandes. */
@media (min-width: 1200px) {
    body.single-post .giro-premium-article,
    body.single .giro-premium-article {
        max-width: 1280px !important;
    }

    body.single-post .giro-article-header,
    body.single .giro-article-header {
        max-width: 1200px !important;
    }

    body.single-post .giro-article-category,
    body.single .giro-article-category {
        font-size: 22px !important;
        letter-spacing: 0.1em !important;
    }

    body.single-post .giro-article-meta-header,
    body.single .giro-article-meta-header {
        max-width: 1200px !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        text-align: left !important;
    }

    body.single-post .giro-share-bar,
    body.single .giro-share-bar {
        justify-content: flex-end !important;
        width: 100% !important;
    }

    body.single-post figure.giro-article-featured-img,
    body.single figure.giro-article-featured-img {
        width: calc(100% + 80px) !important;
    }

    body.single-post .giro-article-layout-grid,
    body.single .giro-article-layout-grid {
        max-width: 1200px !important;
        grid-template-columns: minmax(0, 820px) minmax(280px, 1fr) !important;
    }

    body.single-post .giro-article-body,
    body.single .giro-article-body,
    body.single-post .giro-article-meta-bottom-new,
    body.single .giro-article-meta-bottom-new,
    body.single-post .giro-article-comments,
    body.single .giro-article-comments {
        max-width: 820px !important;
    }

    body.single-post .giro-featured-img-caption,
    body.single .giro-featured-img-caption {
        max-width: none !important;
        width: calc(100% - 80px) !important;
        margin: 10px 40px 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
    }
}

/* Regra final do menu do rodapé. */
.site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
    white-space: nowrap !important;
}

.site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu > li {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu > li > a {
    display: inline-block !important;
    width: auto !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

@media (max-width: 921px) {
    .site-footer .giro-footer-extra-menu-container ul.giro-footer-extra-menu {
        flex-wrap: wrap !important;
        white-space: normal !important;
        gap: 12px 18px !important;
    }
}
