/* ===========================================================
   Clique Cristão — Portal Católico
   Paleta extraída da logo (laranja). Sem gradientes, sem ícones.
   =========================================================== */

:root{
  --orange:        #ef7d18;   /* laranja principal da logo */
  --orange-deep:   #d2620a;   /* laranja escuro (texto/realce) */
  --orange-soft:   #fbe7d2;   /* laranja claro de fundo */
  --ink:           #1d1a17;   /* quase preto, quente */
  --ink-soft:      #4a443d;
  --muted:         #857c70;
  --line:          #e7e1d8;
  --paper:         #fbf9f5;   /* fundo geral, off-white quente */
  --white:         #ffffff;
  --night:         #211d18;   /* rodapé / blocos escuros */
  --maxw:          1200px;
}

*{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }

body{
  font-family:"Source Sans 3", system-ui, sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

img{ display:block; max-width:100%; }

/* Evita estouro horizontal por títulos/links longos no mobile */
body{ overflow-x:hidden; }
h1,h2,h3,h4,p,a{ overflow-wrap:break-word; word-wrap:break-word; }

a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--orange-deep); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

h1,h2,h3,h4{ font-family:"Lora", Georgia, serif; line-height:1.2; font-weight:600; }

/* ---------- Utility bar ---------- */
.utility{
  background:var(--night);
  color:#d8cfc2;
  font-size:13px;
}
.utility__inner{ display:flex; justify-content:space-between; align-items:center; height:38px; }
.utility a{ color:#d8cfc2; }
.utility a:hover{ color:var(--orange); }
.utility__left, .utility__right{ display:flex; align-items:center; gap:12px; }
.utility__sep{ color:#5b554c; }
.utility__saint strong{ color:#fff; font-weight:600; }

/* ---------- Masthead ---------- */
.masthead{ background:var(--white); border-bottom:1px solid var(--line); }
.masthead__inner{ display:flex; align-items:center; gap:32px; height:96px; }
.brand img{ height:54px; width:auto; }

.mainnav{ display:flex; gap:26px; margin-left:8px; }
.mainnav a{
  font-weight:600; font-size:15.5px; color:var(--ink-soft);
  padding:6px 0; position:relative; white-space:nowrap;
}
.mainnav a:hover{ color:var(--ink); }
.mainnav a.is-active{ color:var(--orange-deep); }
.mainnav a.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:-37px; height:3px; background:var(--orange);
}

.masthead__tools{ margin-left:auto; display:flex; align-items:center; gap:14px; }
.cc-search{ display:flex; border:1.5px solid var(--line); border-radius:2px; overflow:hidden; }
.cc-search input{
  border:0; outline:0; padding:9px 12px; font-size:14px; width:170px;
  font-family:inherit; background:var(--white);
}
.cc-search button{
  border:0; background:var(--ink); color:#fff; font-weight:600; padding:0 16px;
  cursor:pointer; font-family:inherit; font-size:13.5px;
}
.cc-search button:hover{ background:var(--orange-deep); }

.navtoggle{
  display:none; border:1.5px solid var(--line); background:var(--white);
  font-family:inherit; font-weight:700; font-size:14px; padding:9px 14px; cursor:pointer; border-radius:2px;
}

/* ---------- Breaking strip ---------- */
.breaking{ background:var(--orange-soft); border-bottom:1px solid var(--line); }
.breaking__inner{ display:flex; align-items:center; gap:16px; min-height:46px; padding:8px 0; }
.breaking__tag{
  background:var(--orange-deep); color:#fff; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; padding:5px 11px; white-space:nowrap;
}
.breaking p{ font-size:15px; color:var(--ink); }
.breaking em{ font-style:italic; font-weight:600; }

/* ---------- Section titles ---------- */
.section-title{
  font-size:24px; color:var(--ink); position:relative; padding-bottom:10px; margin-bottom:22px;
}
.section-title::after{
  content:""; position:absolute; left:0; bottom:0; width:54px; height:4px; background:var(--orange);
}
.section-title--light{ color:#fff; }
.section-title--light::after{ background:var(--orange); }

/* ---------- HERO ---------- */
.hero{
  display:grid; grid-template-columns:1.55fr 1fr; gap:30px; margin-top:34px;
}
.hero__media{ position:relative; display:block; overflow:hidden; border-radius:3px; }
.hero__media img{ width:100%; height:480px; object-fit:cover; transition:transform .5s ease; }
.hero__media:hover img{ transform:scale(1.03); }

.cat{
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  padding:5px 11px; display:inline-block;
}
.cat--solid{
  position:absolute; top:18px; left:18px; background:var(--orange); color:#fff;
}

.hero__overlay{
  position:absolute; left:0; right:0; bottom:0;
  background:rgba(26,22,18,.82);   /* painel sólido translúcido, sem degradê */
  padding:24px 26px 26px;
  color:#fff;
}
.hero__meta{ font-size:13px; color:var(--orange); font-weight:600; letter-spacing:.04em; }
.hero__title{ color:#fff; font-size:30px; line-height:1.18; margin:8px 0 10px; }
.hero__media:hover .hero__title{ color:#ffe9d4; }
.hero__excerpt{ font-size:15px; color:#e3ddd4; max-width:90%; }

/* ---------- Latest sidebar ---------- */
.latest{ display:flex; flex-direction:column; }
.tabs{ display:flex; gap:0; border-bottom:2px solid var(--line); margin-bottom:6px; }
.tab{
  border:0; background:none; font-family:"Lora",serif; font-size:18px; font-weight:600;
  color:var(--muted); padding:6px 16px 12px 2px; margin-right:14px; cursor:pointer; position:relative;
}
.tab.is-active{ color:var(--ink); }
.tab.is-active::after{
  content:""; position:absolute; left:0; right:14px; bottom:-2px; height:3px; background:var(--orange);
}
.tabpanel{ display:none; }
.tabpanel.is-active{ display:block; }

.mini{
  display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--line);
}
.mini:last-child{ border-bottom:0; }
.mini img{ width:92px; height:70px; object-fit:cover; border-radius:3px; flex:none; }
.mini__cat{ font-size:12px; color:var(--orange-deep); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.mini h3{ font-size:16px; margin-top:3px; font-weight:600; }
.mini--hl{ background:var(--orange-soft); padding:14px; border-bottom:0; border-radius:3px; margin:6px 0; }
.rank{
  font-family:"Lora",serif; font-size:30px; font-weight:700; color:var(--orange);
  width:38px; flex:none; text-align:center; line-height:1;
}

/* ---------- Generic block ---------- */
.block{ margin-top:54px; }
.block__head{ display:flex; justify-content:space-between; align-items:flex-end; }
.block__nav{ display:flex; gap:8px; padding-bottom:18px; }
.arrow{
  width:38px; height:38px; border:1.5px solid var(--line); background:var(--white);
  font-size:20px; line-height:1; cursor:pointer; color:var(--ink-soft); border-radius:50%;
}
.arrow:hover{ border-color:var(--orange); color:var(--orange-deep); }

/* ---------- 3 cards ---------- */
.cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.card img{ width:100%; height:210px; object-fit:cover; border-radius:3px; transition:transform .4s; }
.card a:hover img{ transform:scale(1.03); }
.card__cat{ display:block; font-size:12.5px; color:var(--orange-deep); font-weight:700; text-transform:uppercase; letter-spacing:.04em; margin:13px 0 6px; }
.card h3{ font-size:20px; line-height:1.25; margin-bottom:8px; }
.card p{ font-size:15px; color:var(--ink-soft); }

/* ---------- Split (refletindo / oração) ---------- */
.split{ display:grid; grid-template-columns:1.55fr 1fr; gap:40px; margin-top:54px; align-items:start; }
.split--rev .split__main{ order:0; }

.reflect{ display:grid; grid-template-columns:230px 1fr; gap:20px; margin-bottom:22px; }
.reflect img{ width:100%; height:170px; object-fit:cover; border-radius:3px; }
.reflect h3{ font-size:23px; margin:6px 0 8px; }
.reflect p{ font-size:15px; color:var(--ink-soft); }
.readmore{ display:inline-block; margin-top:10px; font-weight:700; font-size:14px; color:var(--orange-deep); border-bottom:2px solid var(--orange); padding-bottom:2px; }
.readmore--light{ color:var(--orange); border-color:var(--orange); }

.reflect__list{ list-style:none; border-top:1px solid var(--line); }
.reflect__list li{ padding:15px 0; border-bottom:1px solid var(--line); }
.reflect__list a{ font-family:"Lora",serif; font-size:18px; font-weight:600; display:block; }
.reflect__list span{ font-size:12.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }

/* ---------- Prayer / oração (bloco escuro) ---------- */
.prayer{ background:var(--night); padding:26px; border-radius:4px; align-self:stretch; }
.prayer__card h3{ color:#fff; font-size:22px; margin-bottom:12px; }
.prayer__card p{ color:#cfc6b9; font-size:15.5px; font-style:italic; }
.prayer__amen{ color:var(--orange) !important; font-weight:700; font-style:normal !important; margin-top:8px; }
.prayer__verse{ border-top:1px solid #3a342c; margin-top:24px; padding-top:20px; }
.prayer__verse-label{ font-size:12px; color:var(--orange); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.prayer__verse blockquote{ font-family:"Lora",serif; color:#fff; font-size:21px; font-style:italic; margin:10px 0 6px; }
.prayer__verse cite{ color:#a89e8f; font-style:normal; font-size:14px; }

/* ---------- Feed (notícias com filtro) ---------- */
.feed{ display:grid; grid-template-columns:1.4fr 1fr; gap:38px; margin-top:6px; }
.feed__lead img{ width:100%; height:300px; object-fit:cover; border-radius:3px; }
.feed__lead h3{ font-size:26px; margin:8px 0 10px; line-height:1.2; }
.feed__lead p{ font-size:15.5px; color:var(--ink-soft); }
.feed__lead .card__cat{ margin-top:14px; }

.feed__list{ list-style:none; }
.feed__item{ display:flex; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.feed__item:first-child{ padding-top:0; }
.feed__item img{ width:120px; height:84px; object-fit:cover; border-radius:3px; flex:none; }
.feed__item h4{ font-size:17px; margin-top:4px; font-weight:600; }
.feed__item.is-hidden{ display:none; }

.filters, .tabs--mini{ display:flex; gap:8px; padding-bottom:16px; }
.filter{
  border:1.5px solid var(--line); background:var(--white); font-family:inherit; font-weight:600;
  font-size:14px; padding:7px 15px; cursor:pointer; color:var(--ink-soft); border-radius:2px;
}
.filter:hover{ border-color:var(--orange); }
.filter.is-active{ background:var(--orange); border-color:var(--orange); color:#fff; }

.block__more{ text-align:center; margin-top:34px; }
.btn-more{
  display:inline-block; background:var(--orange); color:#fff; font-weight:700; font-size:15px;
  padding:13px 40px; border-radius:2px; letter-spacing:.02em;
}
.btn-more:hover{ background:var(--orange-deep); color:#fff; }

/* ---------- Spotlight (santos + newsletter) ---------- */
.spotlight__list{ list-style:none; }
.spotlight__list li a{ display:flex; gap:14px; align-items:center; padding:13px 0; border-bottom:1px solid var(--line); }
.spotlight__list img{ width:78px; height:78px; object-fit:cover; border-radius:3px; flex:none; }
.spotlight__list h4{ font-size:16.5px; margin-top:3px; font-weight:600; }

.promo{ background:var(--orange-soft); border-left:4px solid var(--orange); padding:24px; margin-top:24px; border-radius:0 3px 3px 0; }
.promo__kicker{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--orange-deep); }
.promo h3{ font-size:22px; margin:6px 0 8px; }
.promo p{ font-size:14.5px; color:var(--ink-soft); margin-bottom:14px; }
.promo__form{ display:flex; }
.promo__form input{ flex:1; border:1.5px solid #e2c8a8; border-right:0; padding:11px 13px; font-family:inherit; font-size:14px; outline:0; border-radius:2px 0 0 2px; }
.promo__form button{ border:0; background:var(--orange-deep); color:#fff; font-weight:700; font-family:inherit; padding:0 20px; cursor:pointer; border-radius:0 2px 2px 0; }
.promo__form button:hover{ background:var(--ink); }

/* ---------- Footer ---------- */
.footer{ background:var(--night); color:#bcb3a4; margin-top:64px; }
.footer__top{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding:54px 24px 40px; }
.footer__brand img{ height:46px; background:#fff; padding:8px 12px; border-radius:3px; }
.footer__brand p{ font-size:14.5px; margin:16px 0; max-width:340px; }
.footer__social{ display:flex; gap:16px; }
.footer__social a{ color:#fff; font-weight:600; font-size:14px; border-bottom:2px solid var(--orange); padding-bottom:2px; }
.footer__col h4{ color:#fff; font-size:16px; margin-bottom:14px; }
.footer__col a{ display:block; font-size:14.5px; padding:6px 0; color:#bcb3a4; }
.footer__col a:hover{ color:var(--orange); }
.footer__bar{ border-top:1px solid #36302a; }
.footer__bar-inner{ display:flex; justify-content:space-between; font-size:13px; padding:18px 24px; color:#8a8174; }

/* ===========================================================
   Responsivo
   =========================================================== */
/* ---------- Tablet / abaixo de 980px ---------- */
@media (max-width:980px){
  .hero, .split, .feed, .footer__top{ grid-template-columns:1fr; gap:30px; }
  .cards3{ grid-template-columns:1fr 1fr; }
  .mainnav{ display:none; }
  .navtoggle{ display:block; }
  .mainnav.is-open{
    display:flex; flex-direction:column; gap:0; position:absolute; top:96px; left:0; right:0;
    background:#fff; border-bottom:1px solid var(--line); z-index:40; padding:8px 24px;
    box-shadow:0 14px 30px rgba(0,0,0,.08);
  }
  .mainnav.is-open a{ padding:14px 0; border-bottom:1px solid var(--line); font-size:16px; }
  .mainnav.is-open a.is-active::after{ display:none; }
  .masthead{ position:relative; }
  .hero__media img{ height:380px; }
  .footer__top{ grid-template-columns:1fr 1fr; }
}

/* ---------- Celular / abaixo de 680px ---------- */
@media (max-width:680px){
  .masthead__inner{ height:64px; gap:12px; }
  .brand img{ height:40px; width:auto; }
  .cc-search{ display:none; }
  .navtoggle{ margin-left:auto; padding:10px 16px; }   /* alvo de toque confortável */
  .mainnav.is-open{ top:64px; max-height:80vh; overflow-y:auto; }

  /* Hero: texto SAI de cima da imagem para leitura confortável no celular */
  .hero{ margin-top:20px; }
  .hero__media{ border-radius:3px 3px 0 0; }
  .hero__media img{ height:240px; }
  .hero__overlay{
    position:static; background:var(--night); padding:18px 18px 20px; border-radius:0 0 3px 3px;
  }
  .hero__excerpt{ max-width:100%; }
  .hero__title{ font-size:22px; }
  .cat--solid{ top:12px; left:12px; }

  .cards3, .footer__top{ grid-template-columns:1fr; }
  .reflect, .split__main .reflect{ grid-template-columns:1fr; }
  .reflect img{ height:210px; }
  .feed__lead h3{ font-size:22px; }
  .feed__lead img{ height:220px; }

  /* Cabeçalhos de bloco e controles empilham e não estouram */
  .block, .split{ margin-top:40px; }
  .block__head{ flex-wrap:wrap; gap:10px; }
  .filters, .block__nav{ flex-wrap:wrap; }
  .pagination{ flex-wrap:wrap; }

  /* Áreas escuras com menos respiro lateral */
  .cat-header{ padding:30px 0; }
  .prayer, .cta-box, .side-box{ padding:22px; }

  /* iOS NÃO dá zoom ao focar se a fonte for ≥16px */
  .cc-search input, .form-field input, .form-field textarea,
  .cta-box input, .promo__form input{ font-size:16px; }
}

/* ---------- Celular pequeno / abaixo de 560px ---------- */
@media (max-width:560px){
  /* Barra superior: mantém só a data para não estourar */
  .utility__saint, .utility__right{ display:none; }
  .utility__inner{ justify-content:flex-start; height:34px; }

  /* Formulários em linha passam a empilhar */
  .cta-box form, .promo__form, .contact-info dl{ flex-direction:column; }
  .cta-box input, .promo__form input{ border-radius:2px; margin-bottom:8px; }
  .cta-box button, .promo__form button{ border-radius:2px; padding:13px; width:100%; }

  .article__title{ font-size:24px; }
  .article__lead{ font-size:17px; }
  .article__body{ font-size:16.5px; }
  .page-head h1, .cat-header h1{ font-size:26px; }
}

/* ===========================================================
   Acessibilidade
   =========================================================== */
.skip-link{
  position:absolute; left:-9999px; top:0; background:var(--orange-deep); color:#fff;
  padding:10px 18px; z-index:100; font-weight:700;
}
.skip-link:focus{ left:8px; top:8px; color:#fff; }

/* ===========================================================
   Breadcrumb (trilha)
   =========================================================== */
.crumb{ font-size:13.5px; color:var(--muted); padding:20px 0 4px; }
.crumb a{ color:var(--orange-deep); font-weight:600; }
.crumb span{ color:var(--muted); }
.crumb .sep{ margin:0 8px; color:#c9c0b3; }

/* ===========================================================
   Página de matéria (single)
   =========================================================== */
.article-wrap{ display:grid; grid-template-columns:minmax(0,720px) 1fr; gap:48px; margin:18px auto 0; align-items:start; }
.article{ max-width:720px; }
.article__cat{ font-size:13px; color:var(--orange-deep); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.article__title{ font-size:38px; line-height:1.14; margin:10px 0 14px; }
.article__lead{ font-size:20px; line-height:1.5; color:var(--ink-soft); font-family:"Lora",serif; font-style:italic; margin-bottom:22px; }

.byline{ display:flex; align-items:center; gap:14px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:26px; }
.byline__avatar{ width:46px; height:46px; border-radius:50%; background:var(--orange-soft); color:var(--orange-deep); font-family:"Lora",serif; font-weight:700; font-size:20px; display:flex; align-items:center; justify-content:center; flex:none; }
.byline__name{ font-weight:700; font-size:15px; }
.byline__meta{ font-size:13px; color:var(--muted); }
.byline__share{ margin-left:auto; display:flex; gap:8px; }
.byline__share a{ border:1.5px solid var(--line); padding:6px 12px; font-size:13px; font-weight:600; border-radius:2px; color:var(--ink-soft); }
.byline__share a:hover{ border-color:var(--orange); color:var(--orange-deep); }

.article__figure{ margin-bottom:26px; }
.article__figure img{ width:100%; height:auto; border-radius:3px; }
.article__figure figcaption{ font-size:13px; color:var(--muted); margin-top:8px; }

.article__body{ font-size:18px; line-height:1.72; color:#2c2822; }
.article__body p{ margin-bottom:22px; }
.article__body h2{ font-size:26px; margin:34px 0 14px; }
.article__body h3{ font-size:21px; margin:28px 0 10px; }
.article__body a{ color:var(--orange-deep); border-bottom:1px solid var(--orange); }
.article__body ul, .article__body ol{ margin:0 0 22px 22px; }
.article__body li{ margin-bottom:8px; }
.article__body blockquote{
  border-left:4px solid var(--orange); background:var(--orange-soft); margin:26px 0; padding:18px 24px;
  font-family:"Lora",serif; font-style:italic; font-size:21px; color:var(--ink);
}
.article__body blockquote cite{ display:block; font-size:14px; font-style:normal; color:var(--muted); margin-top:8px; }

.tags{ margin:30px 0; display:flex; flex-wrap:wrap; gap:8px; }
.tags a{ background:#f1ece4; padding:6px 13px; font-size:13px; font-weight:600; border-radius:2px; color:var(--ink-soft); }
.tags a:hover{ background:var(--orange); color:#fff; }

/* CTA de conversão dentro/abaixo da matéria */
.cta-box{ background:var(--night); color:#fff; padding:30px; border-radius:4px; margin:36px 0; }
.cta-box h3{ color:#fff; font-size:24px; margin-bottom:8px; }
.cta-box p{ color:#cfc6b9; margin-bottom:16px; font-size:15.5px; }
.cta-box form{ display:flex; max-width:440px; }
.cta-box input{ flex:1; border:0; padding:13px 14px; font-family:inherit; font-size:15px; border-radius:2px 0 0 2px; outline:0; }
.cta-box button{ border:0; background:var(--orange); color:#fff; font-weight:700; font-family:inherit; padding:0 22px; cursor:pointer; border-radius:0 2px 2px 0; }
.cta-box button:hover{ background:var(--orange-deep); }

/* Sidebar da matéria */
.article-side{ position:sticky; top:20px; }
.side-box{ border:1px solid var(--line); border-radius:4px; padding:20px; margin-bottom:24px; }
.side-box h3{ font-size:18px; margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--orange); display:inline-block; }
.side-list{ list-style:none; }
.side-list li{ padding:11px 0; border-bottom:1px solid var(--line); }
.side-list li:last-child{ border-bottom:0; }
.side-list a{ font-family:"Lora",serif; font-weight:600; font-size:16px; display:block; }
.side-list .card__cat{ margin:0 0 3px; }

/* Relacionadas */
.related{ margin-top:50px; padding-top:30px; border-top:3px solid var(--ink); }

/* ===========================================================
   Página de categoria (archive)
   =========================================================== */
.cat-header{ background:var(--night); color:#fff; padding:46px 0; margin-top:0; }
.cat-header h1{ color:#fff; font-size:40px; }
.cat-header p{ color:#cfc6b9; max-width:640px; margin-top:10px; font-size:16px; }
.cat-header .crumb{ padding:0 0 14px; color:#a89e8f; }
.cat-header .crumb a{ color:var(--orange); }
.cat-header .crumb span{ color:#a89e8f; }

.cc-archive{ display:grid; grid-template-columns:1fr 320px; gap:48px; margin-top:40px; align-items:start; }
.cards-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.cards-grid .card h3{ font-size:19px; }

.pagination{ display:flex; gap:6px; justify-content:center; margin:46px 0 0; }
.pagination a{ min-width:42px; height:42px; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--line); font-weight:600; border-radius:2px; padding:0 12px; }
.pagination a:hover{ border-color:var(--orange); color:var(--orange-deep); }
.pagination a.is-active{ background:var(--orange); border-color:var(--orange); color:#fff; }

/* ===========================================================
   Páginas estáticas (sobre / contato)
   =========================================================== */
.page-head{ padding:40px 0 6px; }
.page-head h1{ font-size:40px; }
.page-head p{ color:var(--ink-soft); font-size:17px; margin-top:8px; max-width:680px; }

.static{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:48px; margin:24px auto 0; align-items:start; }
.prose{ font-size:17.5px; line-height:1.7; color:#2c2822; max-width:720px; }
.prose h2{ font-size:25px; margin:30px 0 12px; }
.prose p{ margin-bottom:18px; }
.prose ul{ margin:0 0 18px 22px; }
.prose li{ margin-bottom:7px; }

.values{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:24px 0; }
.value{ border-top:3px solid var(--orange); padding-top:14px; }
.value h3{ font-size:19px; margin-bottom:6px; }
.value p{ font-size:14.5px; color:var(--ink-soft); }

.contact-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:48px; margin-top:8px; align-items:start; }
.form-field{ margin-bottom:18px; }
.form-field label{ display:block; font-weight:600; font-size:14.5px; margin-bottom:6px; }
.form-field input, .form-field textarea{
  width:100%; border:1.5px solid var(--line); padding:12px 14px; font-family:inherit; font-size:15px;
  border-radius:2px; outline:0; background:var(--white);
}
.form-field input:focus, .form-field textarea:focus{ border-color:var(--orange); }
.form-field textarea{ min-height:150px; resize:vertical; }
.form-submit{ background:var(--orange); color:#fff; border:0; font-family:inherit; font-weight:700; font-size:15px; padding:13px 36px; cursor:pointer; border-radius:2px; }
.form-submit:hover{ background:var(--orange-deep); }

.contact-info{ background:var(--orange-soft); border-left:4px solid var(--orange); padding:24px; border-radius:0 3px 3px 0; }
.contact-info h3{ font-size:19px; margin-bottom:12px; }
.contact-info dt{ font-weight:700; font-size:14px; margin-top:12px; }
.contact-info dd{ font-size:15px; color:var(--ink-soft); }

@media (max-width:980px){
  .article-wrap, .cc-archive, .static, .contact-grid{ grid-template-columns:1fr; gap:32px; }
  .article-side{ position:static; }
  .cards-grid{ grid-template-columns:1fr 1fr; }
  .values{ grid-template-columns:1fr; }
  .article__title, .cat-header h1, .page-head h1{ font-size:30px; }
}
@media (max-width:680px){
  .cards-grid{ grid-template-columns:1fr; }
  .article__title{ font-size:26px; }
  .article__body{ font-size:17px; }
  .byline__share{ width:100%; margin:10px 0 0; }
}

/* ===========================================================
   Espaços publicitários (Google AdSense / Ad Manager)
   - Espaço reservado (min-height) evita CLS / queda no Core Web Vitals
   - Rótulo "Publicidade" atende à política do AdSense
   - Trocar o .ad__ph pelo bloco <ins class="adsbygoogle"> real
   =========================================================== */
.ad{ margin:30px auto; text-align:center; max-width:100%; }
.ad--inline{ margin:30px 0; }
.ad__label{
  display:block; font-size:11px; text-transform:uppercase; letter-spacing:.1em;
  color:var(--muted); margin-bottom:6px;
}
.ad__ph{                       /* placeholder visual — remover ao inserir o anúncio real */
  display:flex; align-items:center; justify-content:center;
  background:#f1ece4; border:1px dashed #d6ccbc; color:#b3a795;
  font-size:13px; font-weight:600; letter-spacing:.02em;
}
.ad .adsbygoogle{ display:block; }

/* Tamanhos reservados por tipo de slot */
.ad--leader .ad__ph{ min-height:90px; }      /* topo/rodapé: 728x90 / 970x90 */
.ad--rect   .ad__ph{ min-height:250px; }      /* sidebar/in-feed: 300x250 */
.ad--inarticle .ad__ph{ min-height:250px; }   /* dentro da matéria */

/* Sidebar: anúncio acompanha a rolagem no desktop */
.ad--sticky{ position:sticky; top:20px; }

@media (max-width:680px){
  .ad{ margin:22px auto; }
  .ad--leader .ad__ph{ min-height:100px; }     /* mobile: 320x100 / 320x50 */
  .ad--sticky{ position:static; }
}

/* ===========================================================
   Integração com a marcação do WordPress
   (menus, paginação, logo, legendas, imagens do conteúdo,
    e o "fallback" de quando o post não tem imagem destacada)
   =========================================================== */

/* --- Logo personalizada (Personalizar → Identidade do site) --- */
.custom-logo-link{ display:inline-block; line-height:0; }
.custom-logo{ height:54px; width:auto; }
.footer__brand .custom-logo{ height:46px; background:#fff; padding:8px 12px; border-radius:3px; }

/* --- Menu principal vindo do wp_nav_menu (<ul><li><a>) --- */
.mainnav{ list-style:none; align-items:center; }
.mainnav li{ position:relative; }
.mainnav .current-menu-item > a,
.mainnav .current_page_item > a,
.mainnav .current-menu-parent > a{ color:var(--orange-deep); }
.mainnav .current-menu-item > a::after,
.mainnav .current-menu-parent > a::after{
  content:""; position:absolute; left:0; right:0; bottom:-37px; height:3px; background:var(--orange);
}
/* Submenu simples (suspenso) */
.mainnav ul.sub-menu{
  list-style:none; position:absolute; top:100%; left:0; min-width:210px; background:#fff;
  border:1px solid var(--line); box-shadow:0 14px 30px rgba(0,0,0,.08); padding:6px 0; display:none; z-index:40;
}
.mainnav li:hover > ul.sub-menu{ display:block; }
.mainnav ul.sub-menu a{ display:block; padding:9px 16px; white-space:nowrap; }

/* --- Menus do rodapé --- */
.footer__col ul{ list-style:none; }

/* --- Paginação (the_posts_pagination) --- */
.navigation.pagination{ margin:46px 0 0; }
.navigation .nav-links{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.page-numbers{
  min-width:42px; height:42px; display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--line); font-weight:600; border-radius:2px; padding:0 12px; color:var(--ink);
}
a.page-numbers:hover{ border-color:var(--orange); color:var(--orange-deep); }
.page-numbers.current{ background:var(--orange); border-color:var(--orange); color:#fff; }

/* --- Imagens e legendas dentro do conteúdo --- */
.article__body img{ height:auto; border-radius:3px; }
.article__body figure{ margin:24px 0; }
.wp-caption-text, .article__body figcaption{ font-size:13px; color:var(--muted); margin-top:8px; text-align:center; }
.aligncenter{ display:block; margin-left:auto; margin-right:auto; }
.alignleft{ float:left; margin:6px 22px 16px 0; }
.alignright{ float:right; margin:6px 0 16px 22px; }
.article__body .wp-block-quote, .article__body blockquote{ clear:both; }

/* --- Comentários (visual básico, caso ative) --- */
.comments-area{ margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }
.comments-title, .comment-reply-title{ font-family:"Lora",serif; font-size:22px; margin-bottom:16px; }
.comment-list{ list-style:none; }
.comment-body{ padding:16px 0; border-bottom:1px solid var(--line); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea{
  width:100%; border:1.5px solid var(--line); padding:11px 13px; font-family:inherit; font-size:16px; border-radius:2px; margin-bottom:12px;
}
.comment-form .submit{ background:var(--orange); color:#fff; border:0; font-weight:700; padding:12px 30px; border-radius:2px; cursor:pointer; font-family:inherit; }

/* --- Fallback de imagem (post sem imagem destacada): bloco sólido com a inicial --- */
.thumb-fallback{
  display:flex; align-items:center; justify-content:center; background:var(--orange-soft);
  color:var(--orange-deep); font-family:"Lora",serif; font-weight:700; border-radius:3px;
}
.hero__media .thumb-fallback{ height:480px; font-size:90px; }
.card a .thumb-fallback{ height:210px; font-size:56px; }
.cards-grid .card a .thumb-fallback{ height:240px; font-size:60px; }
.reflect .thumb-fallback{ height:170px; font-size:48px; }
.feed__lead .thumb-fallback{ height:300px; font-size:80px; }
.mini .thumb-fallback{ width:92px; height:70px; font-size:28px; flex:none; }
.feed__item .thumb-fallback{ width:120px; height:84px; font-size:30px; flex:none; }
.spotlight__list .thumb-fallback{ width:78px; height:78px; font-size:28px; flex:none; }
.side-list .thumb-fallback{ display:none; }

@media (max-width:980px){
  .mainnav .current-menu-item > a::after,
  .mainnav .current-menu-parent > a::after{ display:none; }
  .mainnav ul.sub-menu{ position:static; border:0; box-shadow:none; padding:0; display:block; }
  .mainnav ul.sub-menu a{ padding-left:18px; color:var(--muted); }
}
@media (max-width:680px){
  .hero__media .thumb-fallback{ height:240px; font-size:60px; }
}

/* ===========================================================
   BLINDAGEM contra "lazy load" (LiteSpeed, Jetpack, etc.)
   -----------------------------------------------------------
   Plugins de lazy load costumam injetar width/height INLINE nas
   imagens — e estilo inline vence o CSS normal, estourando as
   miniaturas das listagens. Forçamos aqui o tamanho correto.
   (As regras ficam no FIM do arquivo de propósito, para prevalecer.)
   =========================================================== */
.mini img            { width:92px !important;  height:70px !important;  object-fit:cover; }
.feed__item img      { width:120px !important; height:84px !important;  object-fit:cover; }
.spotlight__list img { width:78px !important;  height:78px !important;  object-fit:cover; }
.card img            { width:100% !important;  height:210px !important; object-fit:cover; }
.cards-grid .card img{ height:240px !important; }
.reflect img         { width:100% !important;  height:170px !important; object-fit:cover; }
.feed__lead img      { width:100% !important;  height:300px !important; object-fit:cover; }
.hero__media img     { width:100% !important;  height:480px !important; object-fit:cover; }

@media (max-width:980px){
  .hero__media img{ height:380px !important; }
}
@media (max-width:680px){
  .hero__media img{ height:240px !important; }
  .reflect img    { height:210px !important; }
  .feed__lead img { height:220px !important; }
}

/* ===========================================================
   Seção "Notícias" da home: filtros funcionam como ABAS
   (trocam o conteúdo no lugar, sem sair da página)
   =========================================================== */
.news-panel{ display:none; }
.news-panel.is-active{ display:block; }
