
/* =========================================================================
   Blog dinamico - widgets NVLF (Posts recentes / Grade de posts / Hero)
   Marcacao gerada por wp-content/novamira-sandbox/nvlf-blog-feed.php
   ========================================================================= */

/* --- comuns --- */
.nvlf-meta{display:block;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.4;text-transform:uppercase;color:#C76F51}
.nvlf-post-feature,.nvlf-post-item,.nvlf-post-card{text-decoration:none;color:inherit;background:#E9DFD0;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.nvlf-post-feature:hover,.nvlf-post-item:hover,.nvlf-post-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(30,48,46,.14)}
.nvlf-post-feature img,.nvlf-post-item img,.nvlf-post-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.nvlf-post-feature:hover img,.nvlf-post-card:hover img{transform:scale(1.035)}
.nvlf-vazio{font-family:"DM Sans",sans-serif;font-size:14px;color:#7A807C;background:#EFE9DE;border:1px dashed rgba(23,59,58,.25);padding:16px 18px;margin:0}
.nvlf-vazio--publica{border:none;background:#E9DFD0;color:#173B3A;font-size:15px;text-align:center;padding:44px 24px;border-radius:16px}
@media (prefers-reduced-motion:reduce){
  .nvlf-post-feature,.nvlf-post-item,.nvlf-post-card,
  .nvlf-post-feature img,.nvlf-post-card img{transition:none !important;transform:none !important}
}

/* --- linha da home: destaque + laterais --- */
.nvlf-recentes{display:flex;gap:25px;align-items:stretch;width:100%}
.nvlf-recentes__feature{flex:1 1 60%;min-width:0;display:flex}
.nvlf-recentes__side{flex:1 1 36%;min-width:0;display:flex;flex-direction:column;gap:18px}

/* --- card grande --- */
.nvlf-post-feature{display:flex;flex-direction:column;width:100%}
.nvlf-post-feature__img{display:block;width:100%;aspect-ratio:1.75/1;overflow:hidden}
.nvlf-post-feature__body{display:block;padding:27px 29px 28px}
.nvlf-post-feature__title{display:block;margin-top:10px;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:31px;line-height:1.08;color:#173B3A}
.nvlf-post-feature__excerpt{display:block;margin-top:10px;font-family:"DM Sans",sans-serif;font-size:14px;line-height:1.6;color:#727873}
.nvlf-post-feature__date{display:block;margin-top:18px;font-family:"DM Sans",sans-serif;font-size:11px;line-height:1.5;color:#6C746F}

/* --- card lateral horizontal --- */
.nvlf-post-item{display:flex;align-items:stretch;min-height:125px}
/* A altura vem do estica do flex, nao da imagem: com height:100% num item de
   altura indefinida o navegador cai no tamanho intrinseco do arquivo e a foto
   estoura o card (fotos de celular em retrato chegam a 3000px). */
.nvlf-post-item__img{display:block;flex:0 0 27%;max-width:27%;overflow:hidden;position:relative}
.nvlf-post-item__img img{position:absolute;inset:0}
.nvlf-post-item__body{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:18px 16px;min-width:0}
.nvlf-post-item__title{display:block;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:20px;line-height:1.12;color:#173B3A}
.nvlf-post-item__date{display:block;font-family:"DM Sans",sans-serif;font-size:11px;line-height:1.5;color:#6C746F}

/* --- grade da pagina /blog --- */
.nvlf-grade-destaque{margin-bottom:25px}
.nvlf-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.nvlf-post-card{display:flex;flex-direction:column}
.nvlf-post-card__img{display:block;width:100%;aspect-ratio:4/3;overflow:hidden}
.nvlf-post-card__body{display:flex;flex-direction:column;padding:22px 22px 24px;flex:1 1 auto}
.nvlf-post-card__title{display:block;margin-top:9px;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:22px;line-height:1.12;color:#173B3A}
.nvlf-post-card__excerpt{display:block;margin-top:9px;font-family:"DM Sans",sans-serif;font-size:13.5px;line-height:1.6;color:#727873}
.nvlf-post-card__date{display:block;margin-top:auto;padding-top:14px;font-family:"DM Sans",sans-serif;font-size:11px;line-height:1.5;color:#6C746F}

/* Na pagina /blog o card em destaque ocupa a largura toda: em coluna ele
   ficaria com 650px de imagem. Vira horizontal a partir do tablet. */
@media (min-width:768px){
  .nvlf-grade-destaque .nvlf-post-feature{flex-direction:row;align-items:stretch;min-height:360px}
  .nvlf-grade-destaque .nvlf-post-feature__img{flex:0 0 56%;max-width:56%;aspect-ratio:auto;position:relative}
  .nvlf-grade-destaque .nvlf-post-feature__img img{position:absolute;inset:0}
  .nvlf-grade-destaque .nvlf-post-feature__body{flex:1 1 44%;display:flex;flex-direction:column;justify-content:center;padding:34px 38px}
  .nvlf-grade-destaque .nvlf-post-feature__title{font-size:34px}
}

/* --- filtros de categoria --- */
.nvlf-filtros{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.nvlf-filtros a{font-family:"DM Sans",sans-serif;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#173B3A;text-decoration:none;padding:10px 18px;border:1px solid rgba(23,59,58,.20);border-radius:999px;transition:all .2s ease}
.nvlf-filtros a:hover{border-color:#C76F51;color:#C76F51}
.nvlf-filtros a.is-active{background:#173B3A;border-color:#173B3A;color:#FFFFFF}

/* --- paginacao --- */
.nvlf-pag{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:46px}
.nvlf-pag a,.nvlf-pag span{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#E9DFD0;color:#173B3A;font-family:"DM Sans",sans-serif;font-weight:700;font-size:14px;text-decoration:none;transition:all .2s ease}
.nvlf-pag a:hover{background:#C76F51;color:#FFFFFF}
.nvlf-pag .is-current{background:#173B3A;color:#FFFFFF}

/* --- card do hero --- */
/* A imagem de fundo muda a cada post publicado, entao a legibilidade nao pode
   depender da foto: o overlay do Elementor (opacity .5) e reforcado aqui. */
.nvlf-hero-post::before{opacity:1 !important;background-image:linear-gradient(180deg,rgba(8,26,25,0) 0%,rgba(8,26,25,.42) 46%,rgba(8,26,25,.88) 100%) !important}
.nvlf-hero-post__title{display:block;margin:10px 0 14px;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:35px;line-height:1.04;color:#FFFFFF;text-decoration:none}
.nvlf-hero-post__title:hover{color:#F3D1C3}
.nvlf-hero-post__btn{display:inline-block;align-self:flex-start;background:#FFFFFF;color:#173B3A;font-family:"DM Sans",sans-serif;font-weight:700;font-size:14px;letter-spacing:.2px;padding:14px 26px;border-radius:12px;text-decoration:none;transition:all .2s ease}
.nvlf-hero-post__btn:hover{background:#C76F51;color:#FFFFFF}

/* --- tablet (<=1024) --- */
@media (max-width:1024px){
  .nvlf-recentes{flex-direction:column}
  .nvlf-recentes__feature,.nvlf-recentes__side{flex:1 1 100%}
  .nvlf-grade{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* --- mobile (<=767) --- */
@media (max-width:767px){
  .nvlf-recentes{gap:14px}
  .nvlf-post-feature__img{aspect-ratio:1.5/1}
  .nvlf-post-feature__body{padding:22px 20px}
  .nvlf-post-feature__title{font-size:24px}
  .nvlf-post-item{min-height:130px}
  .nvlf-post-item__img{flex:0 0 32%;max-width:32%}
  .nvlf-post-item__title{font-size:17px}
  .nvlf-grade{grid-template-columns:minmax(0,1fr);gap:16px}
  .nvlf-post-card__title{font-size:21px}
  .nvlf-hero-post__title{font-size:28px}
}
