/* ==========================================================
   Imprimível - estilo do modal de impressão e utilitários
   Arquivo: /assets/imprimivel-print.css
   Atualização: nov/2025
   Mudanças importantes:
   - REMOVIDO o uso de seletores globais (html, body) para evitar
     impactos no layout principal.
   - NOVO bloco isolado para o iframe de impressão, escopado por
     #imprimivel-print-root (existente apenas no HTML do iframe).
   - Mantida a arquitetura "modal + iframe oculto".
   ========================================================== */

/* Botão */
.btn-imprimir{
  display:inline-block;
  padding:10px 16px;
  border-radius:8px;
  /*background:#ff6b00;*/
  background:#ff6200;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  border:0;
  cursor:pointer;
  line-height:1;
}
.btn-imprimir:hover{ background:#ff8733 }
.btn-imprimir:focus{ outline:2px solid #ffb380; outline-offset:2px }

/* Modal (interstitial) */
#imprimivel-modal{
  position:fixed; inset:0;
  z-index:99999;            /* garantir que fique por cima de tudo */
  display:none;
}
#imprimivel-modal[aria-hidden="false"]{ display:block; }

.imprimivel-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.6);
}

.imprimivel-modal__content{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  background:#fff; border-radius:12px; padding:24px; width:min(520px,92vw);
  box-shadow:0 10px 30px rgba(0,0,0,.25); text-align:center;
  max-height:90vh;           /* evita corte de anúncios altos */
  overflow:auto;             /* permite rolar se o ad for maior */
}

.imprimivel-modal__text{
  margin:0 0 12px;
  font-size:16px;
  color:#111;
}

/* Slot do anúncio */
.imprimivel-modal__ads{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;               /* evita encostar nas bordas */
  overflow:visible;          /* anúncios que abrem dropdowns/tooltips não cortam */
}

/* Conteúdo comum no slot: imagem, link e iframe */
.imprimivel-modal__ads img{
  display:block;
  max-width:100%;
  height:auto;
}

.imprimivel-modal__ads a{
  display:inline-block;      /* evita colapso de altura */
  text-decoration:none;
}

.imprimivel-modal__ads iframe{
  max-width:100%;
  border:0;
  display:block;
}

/* Iframe de impressão (fica invisível) */
#imprimivel-print-frame{
  position: fixed;
  left: -10000px; top: -10000px;
  width: 0; height: 0;
  border: 0; visibility: hidden;
}

/* Acessibilidade: reduzir animações se o projeto adicionar alguma depois */
@media (prefers-reduced-motion: reduce){
  * { animation: none !important; transition: none !important; }
}

/* Aviso do modal */
.imprimivel-modal__notice{
  margin: 0 0 10px;
  font-size: 14px;
  color: #444;
}

/* Barra de progresso - versão com brilho, listras e glow */
.imprimivel-progress{
  margin: 10px 0 16px;
}

.imprimivel-progress__label{
  font-size: 13px;
  color: #444;
  margin-bottom: 8px;
}

.imprimivel-progress__bar{
  width: 100%;
  height: 12px;
  background: linear-gradient(180deg, #eee, #e6e6e6);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.10),
    0 0 0 1px rgba(0,0,0,.06); /* aro discreto */
}

.imprimivel-progress__fill{
  width: 0%;
  height: 100%;
  border-radius: inherit;
  /* 3 camadas: brilho em movimento, listras diagonais e gradiente base */
  background:
    linear-gradient(90deg, rgba(255,255,255,.7) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.7) 80%) 0 0 / 200% 100%,
    repeating-linear-gradient(45deg, rgba(255,138,61,.18) 0 10px, rgba(255,192,154,.18) 10px 20px) 0 0 / 24px 24px,
    linear-gradient(90deg, #ff7a1f 0%, #ff9c56 60%, #ffc09a 100%);
  animation:
    imprimivel-sheen 1.2s linear infinite,
    imprimivel-glow 1.6s ease-in-out infinite;
  box-shadow:
    0 0 12px rgba(255,122,31,.45),
    0 0 24px rgba(255,156,86,.35);
  transition: width linear; /* a duração vem do JS */
}

@keyframes imprimivel-sheen {
  0%   { background-position: 0% 0, 0 0, 0 0; }
  100% { background-position: 200% 0, 24px 0, 0 0; }
}

@keyframes imprimivel-glow {
  0%,100% { box-shadow: 0 0 10px rgba(255,122,31,.35), 0 0 20px rgba(255,156,86,.25); }
  50%     { box-shadow: 0 0 16px rgba(255,122,31,.55), 0 0 32px rgba(255,156,86,.40); }
}

/* Acessibilidade: reduz animações se preferido */
@media (prefers-reduced-motion: reduce){
  .imprimivel-progress__fill{
    animation: none;
  }
}

/* ===== Content Egg - reduzir espaçamentos no conteúdo ===== */

/* Alvos principais no corpo do post */
.entry-content .egg-container,
.entry-content .egg-listcontainer,
.entry-content .egg-item {
  /* antes: costuma vir 24–32px+ */
  margin-bottom: 1px !important;
  padding-bottom: 0 !important;
}

/* Último elemento da sequência não deixa rastro */
.entry-content .egg-container:last-child,
.entry-content .egg-listcontainer:last-child,
.entry-content .egg-item:last-child {
  margin-bottom: 0 !important;
}

/* Aproxima o bloco seguinte do artigo */
.entry-content .egg-container + *,
.entry-content .egg-listcontainer + *,
.entry-content .egg-item + * {
  margin-top: 8px !important;
}

/* Listas / grids internas: encurtar respiro entre itens */
.entry-content .egg-listcontainer .egg-item,
.entry-content .egg-container .egg-item {
  margin-bottom: 8px !important;
}

/* Garantias de responsividade (não estoura largura) */
.entry-content .egg-container img,
.entry-content .egg-listcontainer img,
.entry-content .egg-item img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Botões/CTAs não empurram layout com margens grandes */
.entry-content .egg-container .button,
.entry-content .egg-listcontainer .button,
.entry-content .egg-item .button,
.entry-content .egg-container a.button,
.entry-content .egg-listcontainer a.button,
.entry-content .egg-item a.button {
  margin-top: 8px !important;
  max-width: 100%;
}

/* Redução direta no bloco citado pelo id */
#my-comparison-block,
.entry-content #my-comparison-block {
  margin: 8px 0 !important;
  padding: 0 !important;
}

/* ==========================================================
   Idiomas adicionais (hi, ar, zh-cn): fontes e direção
   (sem alterações nesta atualização)
   ========================================================== */

/* Hindi (hi) - Devanagari */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;700&display=swap');
html[lang="hi"], html[lang^="hi-"] {
  font-family: 'Noto Sans Devanagari', Barlow, -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;
}

/* Árabe (ar) - RTL */
@import url('https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@400;700&display=swap');
html[lang="ar"], html[lang^="ar-"] {
  direction: rtl;
  unicode-bidi: isolate; /* evita inversões inesperadas */
  font-family: 'Noto Naskh Arabic', Tahoma, Arial, sans-serif;
  text-align: right;
}

/* Ajustes comuns em RTL */
html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .entry-content,
html[dir="rtl"] .post-header,
html[dir="rtl"] .archive-header,
html[dir="rtl"] .search-header { direction: rtl; text-align: right; }
html[dir="rtl"] .breadcrumbs-container,
html[dir="rtl"] .entry-meta,
html[dir="rtl"] .entry-categories { direction: rtl; }
html[dir="rtl"] .navigation .nav-previous,
html[dir="rtl"] .post-navigation .nav-previous { float: right; }
html[dir="rtl"] .navigation .nav-next,
html[dir="rtl"] .post-navigation .nav-next { float: left; }
html[dir="rtl"] ul, html[dir="rtl"] ol { padding-left: 0; padding-right: 1.25rem; }

/* Chinês Simplificado (zh-cn) */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap');
html[lang="zh-cn"], html[lang="zh"], html[lang^="zh-"] {
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', 'Heiti SC',
               -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Print - reforço de fontes e direção por idioma */
@media print {
  html[lang="hi"], html[lang^="hi-"] {
    font-family: 'Noto Sans Devanagari', sans-serif !important;
  }
  html[lang="ar"], html[lang^="ar-"] {
    direction: rtl;
    text-align: right;
    font-family: 'Noto Naskh Arabic', serif !important;
  }
  html[lang="zh-cn"], html[lang="zh"], html[lang^="zh-"] {
    font-family: 'Noto Sans SC', sans-serif !important;
  }
}

/* ==========================================================
   NOVO BLOCO (isolado ao IFRAME) — nov/2025
   Impressão A4 segura para QUALQUER proporção, sem afetar o site.
   Requisitos:
   - Use no HTML do iframe um wrapper exclusivo: #imprimivel-print-root
   - Estrutura:
       <body class="imprimivel-print">
         <div id="imprimivel-print-root">
           <div class="sheet"><img ...></div>
         </div>
       </body>
   - Apenas este iframe deve carregar esta folha de estilos.
   ========================================================== */

/* Página A4 sem margens — aplica apenas quando houver impressão */
@media print {
  /* @page é aceito no contexto de impressão e não afeta o layout do site */
  @page { size: A4 portrait; margin: 0; }
}

/* A partir daqui, TODO o estilo de folha e imagem é escopado
   ao wrapper do IFRAME para não tocar no tema principal. */
#imprimivel-print-root .sheet{
  /* Dimensões da folha A4 (não definimos html/body!) */
  width: 210mm;
  height: 297mm;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;           /* nada vaza para outra página */
  page-break-inside: avoid;   /* evita quebra interna */
}

/* Encaixa qualquer proporção sem distorcer */
#imprimivel-print-root .sheet img{
  display: block;

  /* Ocupar o máximo da folha mantendo proporção */
  max-width: 210mm;
  max-height: 297mm;
  width: auto;
  height: auto;

  object-fit: contain;

  /* Dicas de renderização para nitidez de linhas finas */
  image-rendering: auto;
  -webkit-filter: none;
  filter: none;
}

/* Segurança extra: neutraliza transformações no IFRAME apenas */
@media print {
  #imprimivel-print-root, 
  #imprimivel-print-root *{
    transform: none !important;
    filter: none !important;
  }
}

/* ===== YARPP - alinhado à esquerda, thumbs maiores e responsivo ===== */

.yarpp-block {
  margin: 28px 0 0;
  padding: 0;
}

.yarpp-block .yarpp-container {
  max-width: 100%;           /* ocupa toda a largura útil da área de conteúdo */
  margin: 0;                 /* alinhado à esquerda */
}

.yarpp-block .yarpp-title {
  color: inherit;            /* usa a cor de título do tema */
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 700;
  margin: 0 0 16px;
}

/* GRID */
.yarpp-block .yarpp-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

/* Desktop fixo com 5 colunas */
@media (min-width: 1200px) {
  .yarpp-block .yarpp-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* Mobile: duas colunas */
@media (max-width: 767px) {
  .yarpp-block .yarpp-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Cartão */
.yarpp-block .yarpp-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Thumb maior e sem corte */
.yarpp-block .yarpp-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,.04);
}

/* Mostra imagem inteira sem corte */
.yarpp-block .yarpp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;       /* exibe a imagem completa */
  display: block;
  background: #fff;
}

/* Fallback */
.yarpp-block .yarpp-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, #f6f6f6, #fafafa);
}

/* Título de cada item */
.yarpp-block .yarpp-item-title {
  font-size: 0.95rem;
  line-height: 1.35;
  font-weight: 600;
  margin: 0;
  color: inherit;
}

.yarpp-block .yarpp-item-title a {
  color: inherit;
  text-decoration: none;
}

.yarpp-block .yarpp-item-title a:hover {
  text-decoration: underline;
}

/* Refinos */
@media (min-width: 768px) {
  .yarpp-block .yarpp-title { font-size: 1.3rem; margin-bottom: 18px; }
  .yarpp-block .yarpp-grid { gap: 16px; }
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce) {
  .yarpp-block * { transition: none !important; animation: none !important; }
}

/* Menu destaque (links laranja) */
.imprimivel-menu-wrapper {
    width: 100%;
    max-width: 470px;
    margin: 0 auto; /* remove topo e rodapé */
    padding: 0;     /* garante ausência total de espaçamento */
    text-align: center;
}

.imprimivel-menu-titulo {
    color: #0091CF;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px 0; /* margem superior zero e inferior menor */
    padding: 0;
    letter-spacing: 0.5px;
}

.imprimivel-menu-destaque {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
}

.imprimivel-menu-btn {
    display: block;
    background-color: #ff6b00;
    color: #ffffff !important;
    text-align: center;
    padding: 7px 0;
    border-radius: 40px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.35px;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.imprimivel-menu-btn:visited,
.imprimivel-menu-btn:active,
.imprimivel-menu-btn:focus {
    color: #ffffff !important;
    background-color: #ff6b00;
    text-decoration: none;
    outline: none;
}

.imprimivel-menu-btn:hover {
    background-color: #d85d00;
    transform: translateY(-1px);
}

/* =======================================================
   Bloco de categorias na sidebar
   (shortcode [imprimivel_categorias_sidebar])
   Ícone + círculo menores para o widget
   ======================================================= */

.imprimivel-categorias-wrapper {
    width: 100%;
    max-width: 470px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

/* Caso ainda exista título no HTML, ele não será usado no layout atual,
   mas mantemos estilo básico para não quebrar nada. */
.imprimivel-categorias-titulo {
    color: #0091CF;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px 0;
}

/* Grid mais compacto, pronto para dezenas de categorias */
.imprimivel-categorias-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
    gap: 8px;
    justify-items: center;
}

/* Item individual */
.imprimivel-categoria-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
}

/* Thumb circular MENOR (círculo 40x40) */
.imprimivel-categoria-thumb {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid #0091CF;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Imagem dentro do círculo (32x32 para respiro interno) */
.imprimivel-categoria-thumb img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

/* Nome da categoria oculto (texto só em ALT/TITLE para tooltip) */
.imprimivel-categoria-nome {
    display: none;
}

/* Hover suave apenas na borda para dar feedback visual */
.imprimivel-categoria-item:hover .imprimivel-categoria-thumb {
    border-color: #ff6b00;
}

/* Mobile muito estreito continua funcionando, mas o auto-fill já trata bem */
@media (max-width: 360px) {
    .imprimivel-categorias-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* =======================================================
   Descrição de categoria/tag abaixo dos posts
   e tags na cor do site
   ======================================================= */

.imprimivel-archive-desc-after{
    display:block;
    clear: both;         /* fallback para layouts com float */
    grid-column: 1 / -1; /* ocupa a linha inteira em layouts com grid */
    margin-top: 1rem;
}

/* Rótulos de TAG com a cor do site */
.tags-links a,
.entry-tags a,
.meta-tags a,
.tagcloud a,
.wp-block-post-terms__list a,
.post-tags a{
    background: #0091CF !important;
    border-color: #0091CF !important;
    color: #fff !important;
}

.tags-links a:hover,
.entry-tags a:hover,
.meta-tags a:hover,
.tagcloud a:hover,
.wp-block-post-terms__list a:hover,
.post-tags a:hover{
    background: #007db0 !important;
    border-color: #007db0 !important;
    color: #fff !important;
}

/* =======================================================
   Ícone circular antes do título de arquivo (categoria/tag)
   (mantém 40px aqui, independente do widget)
   ======================================================= */

.archive-title .archive-term-icon {
    width: 40px;
    height: 40px;
    border-radius: 9999px;
    border: 2px solid #0091CF;
    object-fit: cover;
    vertical-align: middle;
    margin-right: 6px;
}

