/*
Theme Name: Institucional 01
Theme URI: https://fddev.com.br/
Author: Hellston Linhares
Author URI: https://fddev.com.br
Description: Tema institucional 01, focado na proposta de valor para empresas diversas, utilizando Bootstrap 5, Dark Mode e opções de personalização de cores.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pixgo-theme
*/

/* Reset e importações, se necessário. O Bootstrap cuidará da maior parte. */
body {
    transition: background-color 0.5s, color 0.5s;
}

/* Estilos para o Dark Mode (fallback, Customizer gerará CSS dinâmico) */
body.dark-mode {
    background-color: #121212;
    color: #f8f9fa; /* Cor clara para texto no modo escuro */
}

/* Ajusta o logo para layout horizontal */
/* Brilho para a imagem do logo */
.custom-logo {
	filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px #fff);
	height: 35px;      /* define altura fixa */
    width: auto;       /* mantém proporção */
    max-width: 200px;  /* evita que quebre o layout em telas grandes */
    display: block;
}

/* Responsividade para telas pequenas */
@media (max-width: 576px) {
    .custom-logo {
        height: 25px;   /* reduz o tamanho em mobile */
        max-width: 150px;
    }
}

/* Estilo para links no modo dark */
.dark-mode a {
    color: #8ab4f8; /* Exemplo de cor de link acessível */
}

.navbar-nav .nav-link:hover {
    background-color: rgba(255,255,255,0.25); /* fundo branco transparente */
}

/* Ajusta o espaço da navbar quando a admin bar está ativa */
.admin-bar .navbar.fixed-top {
	margin-top: 32px; /* altura da admin bar no desktop */
}
@media screen and (max-width: 782px) {
	.admin-bar .navbar.fixed-top {
		margin-top: 46px; /* altura da admin bar em mobile/tablet */
	}
}

/* Ajusta o conteúdo também */
.admin-bar main {
	margin-top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar main {
		margin-top: 46px;
	}
}

/* Padding na esquerda - Apenas no mobile (até lg) */
@media (max-width: 991.98px) {
    .nav-item {
		padding-bottom: 2px;
	}

	.navbar-nav .nav-link {
        transition: all 0.2s ease;
    }

    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active {
        padding-left: 0.75rem !important; /* equivale ao ps-3 */
        background-color: rgba(255, 255, 255, 0.1); /* leve destaque opcional */
        border-radius: 4px;
    }
}

/* INÍCIO CONTACT FORM 7 */
/* Mensagens de erro por campo */
.wpcf7-not-valid-tip {
    color: #dc3545; /* vermelho Bootstrap */
    font-size: 0.875rem;
    margin-top: .25rem;
}

/* Bordas vermelhas no input inválido */
.wpcf7-form-control.wpcf7-not-valid {
    border-color: #dc3545;
}

/* Mensagens globais */
.wpcf7-response-output {
    margin-top: 1rem;
    padding: .75rem 1rem;
    border-radius: .375rem;
}

/* Sucesso */
.wpcf7-form.sent .wpcf7-response-output {
    background: #d1e7dd;
    color: #0f5132;
    border: 1px solid #badbcc;
}

/* Erro */
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output {
    background: #f8d7da;
    color: #842029;
    border: 1px solid #f5c2c7;
}

/* Mensagem em envio */
.wpcf7-form .wpcf7-spinner {
    margin-left: .5rem;
}
/* FIM CONTACT FORM 7 */

/* ==== Estilos Modernos para Cards ==== */
.post-thumb img {
    transition: transform .4s ease, filter .4s ease;
    border-bottom: 3px solid #0d6efd20;
}

.post-thumb:hover img {
    transform: scale(1.05);
    filter: brightness(1.05);
}

.post-card {
    transition: transform .3s ease, box-shadow .3s ease;
}

.post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

/* Estilos para a modal das imagens ampliadas */
#imageModal .modal-content {
  background-color: transparent;
  border: none;
  text-align: center;
}

#imageModal .modal-dialog {
  max-width: 95vw !important; /* ocupa quase toda a largura da tela */
}

#imageModal img {
  width: 100%;
  height: auto;
  max-height: 90vh; /* altura máxima da tela */
  object-fit: contain;
}

/* Videos Youtube */
.lazy-video {
  position: relative;
  cursor: pointer;
}

.lazy-video .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 68px;
  height: 48px;
  transform: translate(-50%, -50%);
  background: url('https://www.gstatic.com/images/icons/material/system/1x/play_arrow_white_48dp.png') no-repeat center center / contain;
  border: none;
  background-color: rgba(0,0,0,0.3);
  border-radius: 50%;
}

.hover-text-primary:hover {
  color: var(--bs-primary) !important;
}

/* Padronizando o tamanho das miniaturas na página de lista de posts */
.post-thumb {
  height: 250px;               /* altura padronizada */
  display: flex;               
  align-items: center;         /* centraliza verticalmente */
  justify-content: center;     /* centraliza horizontalmente */
  background-color: #f8f8f8;   /* fundo neutro (ajuste à paleta do seu tema) */
  overflow: hidden;            /* evita vazamentos */
  border-radius: 6px;          /* opcional */
}

.post-thumb img {
  height: 100%;
  width: auto;                 /* mantém proporção natural */
  object-fit: contain;         /* exibe a imagem completa */
}

.tag-cloud a:hover {
    color: #0d6efd !important; /* Cor primária do Bootstrap */
    text-decoration: underline;
}

/* 🔧 Alinhamento da foto à esquerda e aprimoramento visual do bloco do autor */
.author-box .card-body {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 1.5rem;
}

.author-avatar {
  flex: 0 0 110px;
}

.author-avatar img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #f8f9fa;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.author-info {
  flex: 1;
}

/* Cards de links */
.author-cards .card {
  transition: all 0.3s ease;
  border-radius: 10px;
}

.author-cards .card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1);
}

/* Responsivo */
@media (max-width: 768px) {
  .author-box .card-body {
    flex-wrap: wrap;
    text-align: center;
  }

  .author-avatar {
    margin: 0 auto 1rem;
  }

  .author-info {
    text-align: center;
  }
}
