/*
Theme Name: Clube da Aeronáutica de Brasília
Theme URI: https://clubedaaeronauticadf.com.br
Author: ACS VI COMAR
Description: Tema institucional do Clube da Aeronáutica de Brasília, com cessão de espaços para eventos em destaque. Header e footer em templates separados (header.php / footer.php).
Version: 1.12.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: clubaer
*/

:root{
  /* Cores das placas de Brasília (padrão de 1978, Danilo Barbosa) */
  --placa-verde:#1B6B3A;        /* direção: para onde ir */
  --placa-verde-claro:#2F9E5A;
  --placa-azul:#1A4F8A;         /* localização: onde você está */
  --placa-marrom:#7B4E2D;       /* ponto turístico e de lazer */
  --placa-escuro:#0F1C0E;
  --placa-branco:#F5F5F0;

  --noite:#0a1628;
  --concreto:#0d1e38;

  /* Nomes antigos do tema, agora apontando para a paleta das placas */
  --teal-deep:var(--placa-verde);
  --teal-bright:var(--placa-verde-claro);
  --teal-tint:#EAF3EC;
  --navy:var(--placa-azul);
  --navy-ink:var(--noite);
  --gold:#C99A3E;
  --gold-dark:#A87F2E;
  --sand:#F0F2F5;
  --white:#FFFFFF;
  --text-body:#3A4252;
  --border:#E2E8F0;

  --fonte:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:var(--fonte);
  background:var(--sand);
  color:var(--text-body);
  overflow-x:hidden;
}

h1,h2,h3{
  font-family:var(--fonte);
  color:var(--navy-ink);
  margin:0;
}

a{ text-decoration:none; color:inherit; }

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

.container{ max-width:1240px; margin:0 auto; padding:0 32px; }

/* ---------- Header ---------- */

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background-image:url('https://clubedaaeronauticadf.com.br/wp-content/uploads/2024/05/topo1.jpg');
  background-size:cover;
  background-position:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(10,22,40,.72);
  backdrop-filter:blur(6px);
  z-index:0;
}

.site-header .container{
  position:relative;
  z-index:1;
  padding-top:14px;
  padding-bottom:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.site-branding{ display:flex; align-items:center; gap:12px; }

.site-branding .custom-logo{
  /* Deixa a logo enviada em Aparência > Personalizar branca,
     independente da cor original do arquivo. */
  filter:brightness(0) invert(1);
  max-height:44px;
  width:auto;
}

.site-branding .site-title{
  font-family:var(--fonte);
  font-weight:600;
  font-size:15px;
  color:#fff;
  line-height:1.15;
}

.site-branding .site-tagline{
  font-family:var(--fonte);
  font-weight:500;
  font-size:12px;
  letter-spacing:.02em;
  color:#9ED8B0;
}

.primary-menu{
  list-style:none;
  display:flex;
  align-items:center;
  gap:28px;
  margin:0;
  padding:0;
}

.primary-menu li{ position:relative; }

.primary-menu > li > a{
  display:inline-block;
  padding:8px 2px;
  position:relative;
  text-transform:uppercase;
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
  color:#EAF3F1;
}

.primary-menu > li > a:after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:2px;
  height:2px;
  background:var(--teal-bright);
  transform:scaleX(0);
  transition:transform .18s ease;
}

.primary-menu > li:hover > a:after{ transform:scaleX(1); }

/* Mega-menu: title + description per item */
.primary-menu .sub-menu{
  list-style:none;
  margin:0; padding:10px 0;
  position:absolute;
  top:100%; left:0;
  min-width:290px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 20px 40px rgba(10,22,40,.20);
  display:none;
}

.primary-menu li:hover > .sub-menu{ display:block; }

.primary-menu .sub-menu a{
  display:flex; flex-direction:column; align-items:flex-start;
  padding:13px 22px;
  text-transform:none; letter-spacing:normal;
}

.primary-menu .sub-menu a:after{ display:none; }

.primary-menu .sub-menu .menu-item-title,
.primary-menu .sub-menu a{
  font-weight:700; font-size:14.5px; color:var(--navy-ink);
}

.primary-menu .sub-menu .menu-item-description{
  display:block; font-weight:400; font-size:12px; color:#767676; margin-top:4px; white-space:normal;
}

.primary-menu .sub-menu a:hover{ color:var(--teal-deep); }

/* Bordered, uppercase-italic buttons (header CTA + hero + section CTAs) */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 24px; border-radius:4px;
  font-weight:700; font-size:15px;
  text-transform:uppercase; font-style:italic; letter-spacing:.03em;
  transition:color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.btn-gold{ background:#fff; border:2px solid var(--gold); color:var(--navy-ink); }
.btn-gold:hover{ border-color:var(--teal-deep); color:var(--teal-deep); transform:translateY(-2px); box-shadow:0 8px 18px rgba(10,22,40,.16); }

.btn-outline{ background:transparent; border:2px solid rgba(255,255,255,.85); color:#fff; }
.btn-outline:hover{ border-color:var(--gold); color:var(--gold); transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.22); }

.btn-navy{ background:transparent; border:2px solid var(--navy); color:var(--navy); }
.btn-navy:hover{ border-color:var(--gold-dark); color:var(--gold-dark); transform:translateY(-2px); box-shadow:0 8px 18px rgba(10,22,40,.16); }

.header-cta{ padding:10px 20px; font-size:14px; }

.menu-toggle{ display:none; }

/* Accent chevron link (READ MORE ›, VIEW ALL ›) */
.link-accent{
  display:inline-flex; align-items:center; gap:4px;
  text-transform:uppercase; font-style:italic; font-weight:700;
  font-size:13px; letter-spacing:.02em; color:var(--teal-deep);
  transition:color .18s ease;
}
.link-accent svg{ transition:transform .18s ease; }
.link-accent:hover{ color:var(--gold-dark); }
.link-accent:hover svg{ transform:translateX(2px); }

/* ---------- Home feature (triptych, top banner) ---------- */
/* Técnica real do Aiaa: rotação + contra-rotação (o item gira e
   corta com overflow:hidden; o conteúdo interno gira de volta pra
   ficar reto). O painel sob o mouse "cresce" via flex-grow, e o
   primeiro painel já nasce mais largo. Sem as margens negativas
   horizontais do site deles: lá elas cancelavam o padding do
   container de conteúdo; aqui o tríptico já é full-bleed, então
   essas margens só empurravam o conteúdo pra fora da tela. */

.home-feature{ list-style:none; margin:0; padding:0; overflow:hidden; }

/* 768–959px: mesma faixa "tablet" do Aiaa, ainda sem rotação */
@media (min-width:768px) and (max-width:959px){
  .home-feature{ display:flex; height:400px; }
  .home-feature__item{
    position:relative; overflow:hidden; flex:3 0 0%;
    transition:flex-grow .35s ease; border-left:1px solid rgba(255,255,255,.3);
  }
  .home-feature__item:first-child{ border-left:none; }
  .home-feature__item:first-child,
  .home-feature__item:hover{ flex-grow:5; }
  .home-feature__container{ display:block; height:100%; }
  .home-feature__photo{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .3s ease-out; }
  .home-feature__item:hover .home-feature__photo{ transform:scale(1.05); }
  .home-feature__desc{ position:absolute; left:0; right:0; bottom:0; padding:24px; background:rgba(10,22,40,.82); color:#fff; }
  .home-feature__item:first-child .home-feature__desc,
  .home-feature__item:hover .home-feature__desc{ background:rgba(255,255,255,.92); color:var(--navy-ink); }
}

/* 960px+: corte diagonal de verdade, com rotação */
@media (min-width:960px){
  .home-feature{ display:flex; position:relative; z-index:5; height:600px; }
  .home-feature__item{
    position:relative; overflow:hidden;
    flex:3 0 0%; margin:-80px 0;
    transform:rotate(14.6deg);
    border-left:1px solid rgba(255,255,255,.3);
    transition:flex-grow .35s ease;
  }
  .home-feature__item:first-child{ border-left:none; }
  .home-feature__item:first-child,
  .home-feature__item:hover{ flex-grow:5; }

  .home-feature__container{
    display:block; height:700px; margin:0 -40%;
    transform:rotate(-14.6deg); position:relative;
  }
  .home-feature__photo{
    position:absolute; top:0; right:0; bottom:0; left:0;
    background-size:cover; background-position:center; background-color:var(--navy);
    transition:transform .3s ease-out;
  }
  .home-feature__item:first-child .home-feature__photo{ left:20%; }
  .home-feature__item:last-child .home-feature__photo{ right:20%; }
  .home-feature__item:hover .home-feature__photo{ transform:scale(1.05); }

  .home-feature__desc{
    position:absolute; left:0; bottom:48px; width:100%;
    padding:0 34% 0 20%;
    display:flex; flex-direction:column; justify-content:center; min-height:170px;
    background:rgba(10,22,40,.82); color:#fff; text-shadow:0 0 2px rgba(0,0,0,.5);
    transition:background .25s ease-out, color .25s ease-out, padding .35s ease;
  }
  .home-feature__item:first-child .home-feature__desc,
  .home-feature__item:hover .home-feature__desc{
    padding:0 28% 0 26%;
    background:rgba(255,255,255,.92); color:var(--navy-ink); text-shadow:none;
  }
  .home-feature__item:first-child .home-feature__desc{ padding-left:32%; }
  .home-feature__item:last-child:hover .home-feature__desc{ padding-right:32%; }
}

@media (min-width:1280px){
  .home-feature{ height:680px; }
  .home-feature__item{ margin:-100px 0; }
  .home-feature__container{ height:820px; }
}

.home-feature__title{
  font-size:20px; font-weight:600; margin-bottom:10px; max-width:280px;
  font-family:var(--fonte);
}
.home-feature .link-accent{ color:var(--gold); }

/* Abaixo de 768px: cards simples empilhados, sem corte diagonal */
@media (max-width:767px){
  .home-feature__item{ position:relative; height:280px; margin-bottom:2px; }
  .home-feature__container, .home-feature__photo{ position:absolute; inset:0; background-size:cover; background-position:center; }
  .home-feature__desc{
    position:absolute; left:0; right:0; bottom:0; padding:22px 24px;
    background:linear-gradient(180deg, rgba(10,22,40,0) 0%, rgba(10,22,40,.88) 100%);
    color:#fff;
  }
}

/* ---------- Resources (Diretorias em Destaque) ---------- */

.resources-section{ padding:70px 0; }
.resources-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; text-align:center; }
.resource-icon{
  width:56px; height:56px; margin:0 auto 18px; border-radius:50%;
  background:linear-gradient(135deg,var(--teal-deep),var(--teal-bright));
  display:flex; align-items:center; justify-content:center;
}
.resource-item h3{ font-size:18px; margin-bottom:10px; }
.resource-item p{ font-size:14.5px; line-height:1.6; margin-bottom:14px; max-width:280px; margin-left:auto; margin-right:auto; }

/* ---------- Featured Events ---------- */

.events-featured-section{ padding:0 0 80px; }
.events-featured-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.event-featured-card{ }
.event-featured-photo{
  display:block; height:200px; border-radius:12px;
  background-size:cover; background-position:center;
  transition:transform .2s ease;
}
.event-featured-card:hover .event-featured-photo{ transform:translateY(-3px); }
.event-featured-body{ padding-top:16px; text-align:center; }
.event-featured-body h3{ font-size:16px; margin-bottom:10px; }

/* ---------- Quick links + Diretorias: fundo com foto compartilhado ---------- */

.feature-bg-section{
  position:relative;
  background-image:url('https://clubedaaeronauticadf.com.br/wp-content/uploads/2024/05/topo1.jpg');
  background-size:cover;
  background-position:center;
}
.feature-bg-section::before{
  content:"";
  position:absolute; inset:0;
  background:rgba(246,248,247,.90);
}
.feature-bg-section > section{ position:relative; z-index:1; }

/* ---------- Quick links ---------- */

.quicklinks{ padding:40px 0 64px; }

.quicklinks-grid{
  display:grid; grid-template-columns:repeat(6,1fr); gap:18px;
}

.quick-tile{
  background:#fff; border:1px solid var(--border); border-radius:16px;
  padding:30px 16px 26px; display:flex; flex-direction:column; align-items:center;
  gap:16px; text-align:center; position:relative; overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}

.quick-tile::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--teal-bright), var(--gold));
  transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}

.quick-tile:hover{
  transform:translateY(-7px);
  box-shadow:0 20px 36px rgba(27,107,58,.20);
  border-color:transparent;
}

.quick-tile:hover::before{ transform:scaleX(1); }

.quick-tile__icon{
  width:54px; height:54px; border-radius:50%;
  background:linear-gradient(135deg, var(--teal-deep), var(--teal-bright));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 18px rgba(27,107,58,.28);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), background .35s ease;
}

.quick-tile:hover .quick-tile__icon{
  transform:scale(1.1) rotate(-6deg);
  background:linear-gradient(135deg, var(--gold-dark), var(--gold));
  box-shadow:0 10px 22px rgba(168,127,46,.35);
}

.quick-tile__icon svg{ stroke:#fff; }

.quick-tile__label{
  font-size:13px; font-weight:600; color:var(--navy-ink);
  text-transform:uppercase; font-style:italic; letter-spacing:.02em;
}

/* ---------- Espaços para locação ---------- */

.spaces-section{
  background:var(--teal-tint);
  padding:80px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.spaces-header{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:24px; flex-wrap:wrap; margin-bottom:44px;
}

.spaces-header h2{ font-size:32px; margin-bottom:14px; }
.spaces-header p{ font-size:16px; line-height:1.65; max-width:620px; }

.spaces-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.space-card{
  background:#fff; border-radius:14px; overflow:hidden; border:1px solid var(--border);
  transition:transform .18s ease, box-shadow .18s ease;
}

.space-card:hover{ transform:translateY(-4px); box-shadow:0 16px 32px rgba(10,22,40,.12); }

.space-card .space-icon{
  height:120px; display:flex; align-items:center; justify-content:center;
}

.space-card .space-body{ padding:20px; }
.space-card h3{ font-size:17px; margin-bottom:6px; text-transform:uppercase; font-style:italic; letter-spacing:.02em; }
.space-card .space-capacity{ font-size:12.5px; font-weight:600; color:var(--teal-deep); margin-bottom:10px; }
.space-card p{ font-size:14px; line-height:1.55; margin-bottom:14px; }

.cta-banner{
  margin-top:36px; background:var(--navy-ink); border-radius:16px; padding:32px 36px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}

.cta-banner h3{ font-size:20px; color:#fff; margin-bottom:6px; }
.cta-banner p{ font-size:14.5px; color:#C7D0E8; }

/* ---------- Latest posts ---------- */

.posts-section{ padding:80px 0; }
.posts-section-head{ text-align:center; margin-bottom:36px; }
.posts-section h2{ font-size:30px; margin-bottom:10px; }

.posts-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }

.post-card{
  background:#fff; border-radius:14px; overflow:hidden; border:1px solid var(--border);
  transition:transform .18s ease;
  display:flex;
}

.post-card:hover{ transform:translateY(-3px); }

.post-card .post-thumb{
  width:130px; flex-shrink:0; background-size:cover; background-position:center;
  background-color:var(--teal-deep);
}

.post-card .post-body{ padding:18px 20px; }

.post-card .post-badge{
  font-size:11px; font-weight:700; color:var(--teal-deep); background:var(--teal-tint);
  padding:3px 8px; border-radius:5px;
}

.post-card h3{ font-size:16px; margin-top:10px; margin-bottom:12px; line-height:1.4; }

/* ---------- Footer ---------- */

.site-footer{ background:var(--navy-ink); padding:64px 0 0; }

.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:32px; padding-bottom:40px;
}

.footer-brand{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer-brand span{ font-family:var(--fonte); font-weight:600; font-size:15px; color:#fff; }
.footer-col p{ font-size:13.5px; line-height:1.6; color:#9AA6C9; max-width:280px; }

.footer-col h3{ font-size:13px; color:#fff; letter-spacing:.02em; margin-bottom:16px; }

.footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14px; }
.footer-links a{ color:#C7D0E8; transition:color .18s ease; }
.footer-links a:hover{ color:#fff; }

.footer-contact{ display:flex; flex-direction:column; gap:10px; font-size:14px; color:#C7D0E8; }

.footer-social{ display:flex; gap:10px; margin-top:16px; }
.footer-social a{
  width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; transition:background .18s ease;
}
.footer-social a:hover{ background:rgba(255,255,255,.16); }

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08); padding:20px 0;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.footer-bottom span{ font-size:12.5px; color:#8792B4; }

/* ---------- Responsive ---------- */

@media (max-width:960px){
  .primary-menu{ display:none; }
  .menu-toggle{ display:inline-flex; }
  .spaces-grid{ grid-template-columns:1fr 1fr; }
  .quicklinks-grid{ grid-template-columns:repeat(3,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .resources-grid{ grid-template-columns:1fr; gap:32px; }
  .events-featured-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:700px){
  .home-feature{ flex-direction:column; gap:16px; }
  .home-feature__item{ margin-left:0 !important; }
  .home-feature__item .home-feature__container{ clip-path:none !important; border-radius:12px; }
  .home-feature__desc{ padding-left:24px !important; }
}

@media (max-width:600px){
  .spaces-grid{ grid-template-columns:1fr; }
  .posts-grid{ grid-template-columns:1fr; }
  .quicklinks-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr; }
  .cta-banner{ flex-direction:column; align-items:flex-start; }
  .post-card{ flex-direction:column; }
  .post-card .post-thumb{ width:100%; height:110px; }
  .events-featured-grid{ grid-template-columns:1fr; }
}

/* =====================================================================
   PÁGINAS INTERNAS
   (single, page, archive, search, 404 e template-parts)
   ===================================================================== */

/* ---------- Utilitários ---------- */

.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; padding:0; overflow:hidden;
  position:absolute !important; word-wrap:normal !important;
}
.screen-reader-text:focus{
  clip:auto !important; clip-path:none; height:auto; width:auto;
  display:block; top:8px; left:8px; z-index:100000;
  padding:12px 18px; background:#fff; color:var(--navy-ink); font-weight:700;
}

:where(a, button, input, select, textarea):focus-visible{
  outline:2px solid var(--gold); outline-offset:2px;
}

.post-badge{
  display:inline-block; font-size:11px; font-weight:700; line-height:1.4;
  color:var(--teal-deep); background:var(--teal-tint);
  padding:3px 8px; border-radius:5px;
}

/* ---------- Faixa de título (corte diagonal, como o tríptico) ---------- */

.page-hero{
  position:relative;
  color:#fff;
  background:var(--navy-ink) url('https://clubedaaeronauticadf.com.br/wp-content/uploads/2024/05/topo1.jpg') center/cover no-repeat;
  padding:56px 0 112px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 64px), 0 100%);
}
.page-hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(110deg, rgba(10,22,40,.94) 0%, rgba(10,22,40,.82) 55%, rgba(27,107,58,.74) 100%);
}
.page-hero .container{ position:relative; z-index:1; }

.page-hero h1{
  color:#fff;
  font-size:clamp(28px, 4vw, 44px);
  font-weight:600;
  line-height:1.15;
  max-width:860px;
  text-wrap:balance;
}
.page-hero__lead{
  margin:16px 0 0; max-width:640px;
  font-size:17px; line-height:1.6; color:#C7D0E8;
}
.page-hero__meta{
  margin-top:16px; display:flex; flex-wrap:wrap; align-items:center; gap:12px;
  font-size:14px; color:#C7D0E8;
}
.page-hero .post-badge{
  margin-bottom:16px; background:rgba(47,158,90,.24); color:#9ED8B0;
  transition:background .18s ease, color .18s ease;
}
.page-hero a.post-badge:hover{ background:var(--gold); color:var(--navy-ink); }
.page-hero .search-form{ margin-top:26px; max-width:560px; }

/* Quando há imagem destacada, ela sobe e cruza a diagonal */
.page-hero--overlap{ padding-bottom:190px; }
.page-hero--overlap + .site-main .entry-featured{
  margin-top:-160px; position:relative; z-index:2;
}

/* Trilha de navegação */
.breadcrumbs ol{
  list-style:none; margin:0 0 22px; padding:0;
  display:flex; flex-wrap:wrap; gap:6px;
  font-size:13px; color:#9ED8B0;
}
.breadcrumbs li + li::before{ content:"›"; margin-right:6px; color:rgba(255,255,255,.4); }
.breadcrumbs a{ color:#C7D0E8; transition:color .18s ease; }
.breadcrumbs a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.breadcrumbs [aria-current]{ color:#fff; }

/* ---------- Área de conteúdo ---------- */

.site-main{ padding:56px 0 96px; }
.entry-layout{ max-width:760px; margin:0 auto; }

.entry-featured{ margin:0 0 40px; }
.entry-featured img{
  width:100%; border-radius:14px;
  box-shadow:0 24px 48px rgba(10,22,40,.22);
}
.entry-featured figcaption{ margin-top:10px; font-size:13px; color:#6B7690; }

/* Tipografia do texto (conteúdo vindo do editor de blocos) */
.entry-content{ font-size:17px; line-height:1.75; color:var(--text-body); }
.entry-content > *{ margin-top:0; margin-bottom:1.25em; }
.entry-content > *:last-child{ margin-bottom:0; }

.entry-content h2{ font-size:28px; line-height:1.25; margin:1.8em 0 .6em; }
.entry-content h3{ font-size:22px; line-height:1.3; margin:1.6em 0 .5em; }
.entry-content h4,
.entry-content h5,
.entry-content h6{
  font-family:var(--fonte); font-weight:700;
  font-size:18px; color:var(--navy-ink); margin:1.5em 0 .5em;
}

.entry-content a{
  color:var(--teal-deep);
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px;
  transition:color .18s ease;
}
.entry-content a:hover{ color:var(--gold-dark); }

.entry-content ul,
.entry-content ol{ padding-left:1.4em; }
.entry-content li{ margin-bottom:.4em; }
.entry-content li::marker{ color:var(--teal-bright); }

.entry-content blockquote{
  margin:2em 0; padding:4px 0 4px 24px;
  border-left:3px solid var(--gold);
  font-family:var(--fonte); font-size:20px; line-height:1.55; color:var(--navy-ink);
}
.entry-content blockquote cite{
  display:block; margin-top:10px;
  font-family:var(--fonte); font-style:normal; font-size:14px; color:#6B7690;
}

.entry-content img{ border-radius:10px; }
.entry-content figcaption,
.entry-content .wp-element-caption{ margin-top:8px; font-size:13px; color:#6B7690; text-align:left; }

.entry-content hr{ border:0; height:1px; background:var(--border); margin:2.5em 0; }

.entry-content .wp-block-table{ overflow-x:auto; }
.entry-content table{ width:100%; border-collapse:collapse; font-size:15px; }
.entry-content th,
.entry-content td{ padding:10px 12px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; }
.entry-content th{ background:var(--teal-tint); color:var(--navy-ink); font-weight:700; }

.entry-content pre{
  overflow-x:auto; padding:16px 18px; border-radius:8px;
  background:var(--navy-ink); color:#EAF3F1; font-size:14px; line-height:1.6;
}
.entry-content :not(pre) > code{ background:var(--teal-tint); padding:2px 6px; border-radius:4px; font-size:.9em; }

/* Botões do editor, no mesmo estilo dos botões do tema */
.entry-content .wp-block-button__link:not(.has-background){
  background:transparent; color:var(--navy); border:2px solid var(--navy);
}
.entry-content .wp-block-button__link{
  border-radius:4px; padding:12px 22px;
  font-weight:700; font-size:15px; text-transform:uppercase; font-style:italic; letter-spacing:.03em;
  text-decoration:none;
  transition:border-color .18s ease, color .18s ease, transform .18s ease;
}
.entry-content .wp-block-button__link:not(.has-background):hover{
  border-color:var(--gold-dark); color:var(--gold-dark); transform:translateY(-2px);
}

/* Bloco "Arquivo" (PDFs: estatuto, tabelas, formulários) */
.entry-content .wp-block-file{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  padding:16px 18px; background:#fff; border:1px solid var(--border); border-radius:10px;
}
.entry-content .wp-block-file .wp-block-file__button{
  margin:0; background:var(--navy); color:#fff; border-radius:4px;
  padding:8px 14px; font-size:13px; font-weight:700; text-decoration:none;
}
.entry-content .wp-block-file .wp-block-file__button:hover{ background:var(--teal-deep); color:#fff; }

.entry-content .wp-block-gallery img{ border-radius:8px; }
.entry-content iframe,
.entry-content video{ max-width:100%; }

/* Larguras do editor */
.entry-content .alignfull{
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
.entry-content .alignfull img{ border-radius:0; }
@media (min-width:1100px){
  .entry-content .alignwide{ margin-left:-120px; margin-right:-120px; max-width:none; }
}

.page-links{ margin-top:32px; font-size:14px; font-weight:600; }
.page-links a,
.page-links > span{ margin-left:6px; }

/* Tags */
.entry-tags{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top:40px; padding-top:24px; border-top:1px solid var(--border);
}
.entry-tags a{
  font-size:13px; padding:5px 12px; border-radius:999px;
  background:#fff; border:1px solid var(--border); color:var(--navy-ink);
  transition:border-color .18s ease, color .18s ease;
}
.entry-tags a:hover{ border-color:var(--teal-bright); color:var(--teal-deep); }

/* Notícia anterior / próxima */
.post-navigation{ margin-top:48px; }
.post-navigation .nav-links{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.post-navigation .nav-next{ grid-column:2; text-align:right; }
.post-navigation a{
  display:block; height:100%; padding:18px 20px;
  background:#fff; border:1px solid var(--border); border-radius:12px;
  transition:border-color .18s ease;
}
.post-navigation a:hover{ border-color:var(--teal-bright); }
.post-navigation .nav-label{
  display:flex; align-items:center; gap:4px;
  font-size:12px; font-weight:700; text-transform:uppercase; font-style:italic; letter-spacing:.02em;
  color:var(--teal-deep);
}
.post-navigation .nav-next .nav-label{ justify-content:flex-end; }
.post-navigation .nav-title{
  display:block; margin-top:6px;
  font-family:var(--fonte); font-weight:600; font-size:16px; line-height:1.35;
  color:var(--navy-ink);
}

/* Subpáginas ("Nesta seção") */
.section-children{ margin-top:64px; padding-top:40px; border-top:1px solid var(--border); }
.section-children h2{ font-size:24px; margin-bottom:22px; }
.child-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.child-link{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 20px; background:#fff; border:1px solid var(--border); border-radius:12px;
  color:var(--teal-deep);
  transition:border-color .18s ease, transform .18s ease;
}
.child-link:hover{ border-color:var(--teal-bright); transform:translateY(-2px); }
.child-link strong{
  display:block; font-family:var(--fonte); font-weight:600; font-size:16px; color:var(--navy-ink);
}
.child-link__desc{ display:block; margin-top:4px; font-size:13.5px; line-height:1.5; color:#6B7690; }
.child-link svg{ flex-shrink:0; }

/* ---------- Listagens (cards) ---------- */

.archive-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }

.archive-card{
  position:relative; display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.archive-card:hover{ transform:translateY(-4px); box-shadow:0 16px 32px rgba(10,22,40,.12); }
.archive-card:focus-within{ outline:2px solid var(--gold); outline-offset:2px; }

.archive-card__thumb{
  aspect-ratio:16/10; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--teal-deep), var(--navy));
}
.archive-card__thumb img{ width:100%; height:100%; object-fit:cover; }

.archive-card__body{ display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.archive-card__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  margin-bottom:12px; font-size:12.5px; color:#6B7690;
}
.archive-card__title{ font-size:18px; line-height:1.35; margin-bottom:10px; }
.archive-card__title a::after{ content:""; position:absolute; inset:0; }
.archive-card__title a:focus-visible{ outline:none; }
.archive-card__excerpt{ margin:0 0 16px; font-size:14.5px; line-height:1.6; }
.archive-card .link-accent{ margin-top:auto; }

/* Paginação */
.pagination{ margin-top:48px; }
.pagination .nav-links{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.pagination .page-numbers{
  min-width:42px; height:42px; padding:0 12px;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--border); border-radius:8px;
  font-size:14px; font-weight:600; color:var(--navy-ink);
  transition:border-color .18s ease, color .18s ease;
}
.pagination a.page-numbers:hover{ border-color:var(--teal-bright); color:var(--teal-deep); }
.pagination .page-numbers.current{ background:var(--navy-ink); border-color:var(--navy-ink); color:#fff; }
.pagination .page-numbers.dots{ background:none; border:0; }

/* Relacionados */
.related-section{ padding:72px 0 88px; background:var(--teal-tint); border-top:1px solid var(--border); }
.related-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-bottom:28px;
}
.related-head h2{ font-size:26px; }

/* ---------- Busca ---------- */

.search-form{
  display:flex; overflow:hidden;
  background:#fff; border:1px solid var(--border); border-radius:6px;
}
.search-form:focus-within{ box-shadow:0 0 0 3px rgba(201,154,62,.55); }
.search-form input[type="search"]{
  flex:1; min-width:0; border:0; background:transparent;
  padding:14px 16px; font:inherit; font-size:15px; color:var(--navy-ink);
}
.search-form input[type="search"]:focus{ outline:none; }
.search-form button{
  display:flex; align-items:center; gap:8px;
  border:0; padding:0 20px; cursor:pointer;
  background:var(--gold); color:var(--navy-ink);
  font:inherit; font-size:13px; font-weight:700; text-transform:uppercase; font-style:italic; letter-spacing:.03em;
  transition:background .18s ease, color .18s ease;
}
.search-form button:hover{ background:var(--gold-dark); color:#fff; }

/* ---------- Estados vazios e 404 ---------- */

.empty-state{ max-width:600px; margin:0 auto; text-align:center; }
.empty-state p{ margin:0 0 24px; font-size:16.5px; line-height:1.7; }

.error-links{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:960px; margin:0 auto; }

/* ---------- Comentários ---------- */

.comments-area{ margin-top:56px; padding-top:32px; border-top:1px solid var(--border); }
.comments-title{ font-size:22px; margin-bottom:20px; }
.comment-list{ list-style:none; margin:0 0 32px; padding:0; }
.comment-list .children{ list-style:none; padding-left:28px; }
.comment-body{ padding:18px 0; border-bottom:1px solid var(--border); font-size:15px; line-height:1.65; }
.comment-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:13px; color:#6B7690; }
.comment-author{ display:flex; align-items:center; gap:10px; color:var(--navy-ink); font-weight:600; }
.comment-author img{ border-radius:50%; }
.comment-respond h3{ font-size:20px; margin-bottom:14px; }
.comment-form label{ display:block; margin-bottom:6px; font-size:14px; font-weight:600; color:var(--navy-ink); }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; padding:12px 14px; font:inherit; font-size:15px;
  background:#fff; border:1px solid var(--border); border-radius:6px; color:var(--navy-ink);
}
.comment-form .form-submit input{ cursor:pointer; background:transparent; }

/* ---------- Responsivo (páginas internas) ---------- */

@media (max-width:960px){
  .archive-grid{ grid-template-columns:1fr 1fr; }
  .error-links{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:600px){
  .page-hero{
    padding:40px 0 84px;
    clip-path:polygon(0 0, 100% 0, 100% calc(100% - 32px), 0 100%);
  }
  .page-hero--overlap{ padding-bottom:132px; }
  .page-hero--overlap + .site-main .entry-featured{ margin-top:-112px; }
  .page-hero__lead{ font-size:16px; }
  .site-main{ padding:40px 0 64px; }
  .entry-content{ font-size:16.5px; }
  .entry-content h2{ font-size:24px; }
  .archive-grid,
  .child-grid,
  .post-navigation .nav-links{ grid-template-columns:1fr; }
  .post-navigation .nav-next{ grid-column:auto; }
  .search-form button span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
  .search-form button{ padding:0 16px; }
}

@media (prefers-reduced-motion:reduce){
  .archive-card, .child-link, .entry-tags a, .pagination .page-numbers,
  .entry-content .wp-block-button__link{ transition:none; }
  .archive-card:hover, .child-link:hover,
  .entry-content .wp-block-button__link:hover{ transform:none; }
}


/* =====================================================================
   CABEÇALHO: submenu de 3º nível e menu mobile
   ===================================================================== */

.primary-menu .sub-menu .sub-menu{ top:-10px; left:100%; }

.menu-toggle{
  display:none; align-items:center; justify-content:center;
  width:44px; height:44px; padding:0; cursor:pointer;
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.35); border-radius:6px;
}
.menu-toggle .icon-close{ display:none; }
.menu-toggle[aria-expanded="true"] .icon-open{ display:none; }
.menu-toggle[aria-expanded="true"] .icon-close{ display:block; }

@media (max-width:960px){
  .site-header .container{ flex-wrap:wrap; }
  .header-cta{ margin-left:auto; }
  .menu-toggle{ display:inline-flex; order:3; }

  .primary-nav{
    display:none; order:4; flex-basis:100%;
    max-height:calc(100vh - 96px); overflow-y:auto;
    padding:4px 0 16px;
  }
  .primary-nav.is-open{ display:block; }

  .primary-nav .primary-menu{ display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav .primary-menu > li{ border-top:1px solid rgba(255,255,255,.12); }
  .primary-nav .primary-menu > li > a{ display:block; padding:14px 0; }
  .primary-nav .primary-menu > li > a:after{ display:none; }

  .primary-nav .sub-menu,
  .primary-nav .sub-menu .sub-menu{
    display:block; position:static; min-width:0;
    margin:0; padding:0 0 10px 14px;
    background:transparent; box-shadow:none; border-radius:0;
  }
  .primary-nav .sub-menu a{ padding:8px 0; }
  .primary-nav .sub-menu a,
  .primary-nav .sub-menu .menu-item-title{ color:#C7D0E8; font-size:14.5px; font-weight:500; }
  .primary-nav .sub-menu a:hover,
  .primary-nav .sub-menu a:hover .menu-item-title{ color:#fff; }
  .primary-nav .menu-item-description{ display:none; }
}

@media (max-width:600px){
  .header-cta{ display:none; }
  .menu-toggle{ margin-left:auto; }
}


/* =====================================================================
   PÁGINA INICIAL
   ===================================================================== */

.home-feature__title{ color:inherit; }

.hp-section{ padding:112px 0; }

.hp-head{
  display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap;
  gap:16px 32px; margin-bottom:48px;
}

.hp-title{
  font-size:clamp(30px, 3.6vw, 46px);
  font-weight:600; line-height:1.12; letter-spacing:-.01em;
  max-width:640px; text-wrap:balance;
}

.hp-lead{ margin:20px 0 0; max-width:560px; font-size:18px; line-height:1.7; }

/* ---------- Barra de atalhos (sobe sobre o tríptico) ---------- */

.hp-shortcuts{ position:relative; z-index:6; margin-top:24px; }

/* A partir de 960px a barra cruza a base do tríptico; os textos dos
   painéis sobem para não ficarem atrás dela. */
@media (min-width:960px){
  .hp-shortcuts{ margin-top:-56px; }
  .home-feature__desc{ bottom:104px; }
}

.hp-shortcuts__bar{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(6, 1fr); gap:1px;
  background:var(--border);
  border-radius:6px; overflow:hidden;
  box-shadow:0 30px 60px rgba(10,22,40,.16);
}

.hp-shortcut{
  display:flex; align-items:center; gap:12px; height:100%;
  padding:22px 20px; background:#fff;
  font-size:14px; font-weight:600; line-height:1.3; color:var(--navy-ink);
  transition:background .2s ease, color .2s ease;
}
.hp-shortcut svg{ flex-shrink:0; stroke:var(--teal-deep); transition:stroke .2s ease; }
.hp-shortcut:hover{ background:var(--teal-tint); color:var(--teal-deep); }
.hp-shortcut:hover svg{ stroke:var(--gold-dark); }

/* ---------- Apresentação ---------- */

.hp-intro{ padding:128px 0 120px; }
.hp-intro__grid{ display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:center; }

.hp-intro__facts{ list-style:none; margin:40px 0 0; padding:0; border-top:1px solid var(--border); }
.hp-intro__facts li{
  display:flex; align-items:center; gap:16px;
  padding:16px 0; border-bottom:1px solid var(--border);
  font-family:var(--fonte); font-size:18px; color:var(--navy-ink);
}
.hp-intro__facts li::before{ content:""; flex-shrink:0; width:20px; height:2px; background:var(--gold); }

.hp-video{
  display:inline-flex; align-items:center; gap:14px; margin-top:36px;
  font-size:15px; font-weight:700; color:var(--navy-ink);
}
.hp-video__icon{
  width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center;
  border:2px solid var(--gold); color:var(--navy-ink);
  transition:background .2s ease;
}
.hp-video__icon svg{ margin-left:3px; }
.hp-video:hover .hp-video__icon{ background:var(--gold); }
.hp-video:hover{ color:var(--teal-deep); }

.hp-intro__media{ position:relative; margin:0 28px 28px 0; }
.hp-intro__media::before{
  content:""; position:absolute; inset:28px -28px -28px 28px;
  border:1.5px solid var(--gold); border-radius:4px;
}
.hp-intro__media img{
  position:relative; z-index:1;
  width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:4px;
}

/* ---------- Estrutura (mosaico) ---------- */

.hp-exp{ background:#fff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }

.hp-exp__grid{
  display:grid; grid-template-columns:repeat(3, 1fr); grid-auto-rows:280px; gap:16px;
}
.hp-exp__grid > :first-child{ grid-column:span 2; grid-row:span 2; }

.hp-tile{
  position:relative; display:block; overflow:hidden; isolation:isolate;
  border-radius:6px; color:#fff;
  background:linear-gradient(135deg, var(--teal-deep), var(--navy));
}
.hp-tile__img{
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.hp-tile::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(10,22,40,0) 30%, rgba(10,22,40,.88) 100%);
}
.hp-tile__body{ position:absolute; left:0; right:0; bottom:0; padding:26px 28px; }
.hp-tile h3{ color:#fff; font-size:22px; font-weight:600; }
.hp-exp__grid > :first-child h3{ font-size:34px; }
.hp-tile p{ margin:8px 0 0; max-width:420px; font-size:14.5px; line-height:1.55; color:rgba(255,255,255,.84); }
.hp-tile:hover .hp-tile__img{ transform:scale(1.04); }
.hp-tile:focus-visible{ outline-offset:3px; }

/* ---------- Espaços para locação ---------- */

.hp-rent{ background:var(--teal-tint); }
.hp-rent__grid{ display:grid; grid-template-columns:5fr 7fr; gap:88px; align-items:start; }
.hp-rent__intro{ position:sticky; top:120px; }
.hp-rent__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }

.hp-rent__list{ list-style:none; margin:0; padding:0; border-top:1px solid #CFE0D4; }
.hp-rent__row{
  display:grid; grid-template-columns:1fr auto; gap:6px 24px;
  padding:26px 0; border-bottom:1px solid #CFE0D4;
}
.hp-rent__name{
  font-family:var(--fonte); font-size:23px; font-weight:600;
  color:var(--navy-ink); transition:color .2s ease;
}
.hp-rent__cap{
  align-self:center; white-space:nowrap;
  font-size:13px; font-weight:700; color:var(--teal-deep);
}
.hp-rent__desc{ grid-column:1 / -1; max-width:560px; font-size:15px; line-height:1.6; }
.hp-rent__row:hover .hp-rent__name{ color:var(--teal-deep); }

/* ---------- Agenda ---------- */

.hp-agenda{ background:var(--navy-ink); color:#C7D0E8; }
.hp-agenda .hp-title{ color:#fff; }
.hp-agenda .link-accent{ color:var(--gold); }
.hp-agenda .link-accent:hover{ color:#fff; }

.hp-events{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3, 1fr);
  border-top:1px solid rgba(255,255,255,.14);
}
.hp-events > li + li{ border-left:1px solid rgba(255,255,255,.14); }
.hp-event{ display:block; height:100%; padding:36px 32px 8px; }
.hp-events > li:first-child .hp-event{ padding-left:0; }

.hp-event__date{ display:flex; align-items:baseline; gap:12px; margin-bottom:20px; }
.hp-event__day{
  font-family:var(--fonte); font-size:64px; font-weight:500; line-height:1;
  color:var(--gold); font-variant-numeric:lining-nums;
}
.hp-event__month{ font-size:15px; font-weight:600; color:#fff; text-transform:capitalize; }
.hp-event h3{ color:#fff; font-size:21px; line-height:1.3; transition:color .2s ease; }
.hp-event__meta{ display:block; margin-top:12px; font-size:14px; line-height:1.6; color:#9AA6C9; text-transform:none; }
.hp-event__meta::first-letter{ text-transform:uppercase; }
.hp-event:hover h3{ color:var(--gold); }

.hp-agenda__empty{
  margin:0; padding-top:32px; border-top:1px solid rgba(255,255,255,.14);
  max-width:560px; font-size:17px; line-height:1.7;
}

/* ---------- Notícias ---------- */

.hp-news__grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:start; }

.hp-news__image{
  aspect-ratio:4/3; overflow:hidden; border-radius:6px;
  background:linear-gradient(135deg, var(--teal-deep), var(--navy));
}
.hp-news__image img{ width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s ease; }
.hp-news__lead a:hover .hp-news__image img{ transform:scale(1.03); }
.hp-news__lead h3{ margin-top:12px; font-size:28px; line-height:1.25; transition:color .2s ease; }
.hp-news__lead a:hover h3{ color:var(--teal-deep); }

.hp-news__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  margin-top:20px; font-size:13px; color:#6B7690;
}

.hp-news__list{ list-style:none; margin:0; padding:0; }
.hp-news__item a{
  display:grid; grid-template-columns:112px 1fr; gap:22px; align-items:center;
  padding:22px 0; border-bottom:1px solid var(--border);
}
.hp-news__item:first-child a{ padding-top:0; }
.hp-news__thumb{
  aspect-ratio:1; overflow:hidden; border-radius:4px;
  background:linear-gradient(135deg, var(--teal-deep), var(--navy));
}
.hp-news__thumb img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.hp-news__item .hp-news__meta{ margin-top:0; margin-bottom:8px; }
.hp-news__item h3{ font-size:17px; line-height:1.4; transition:color .2s ease; }
.hp-news__item a:hover h3{ color:var(--teal-deep); }

/* ---------- Parceiros ---------- */

.hp-partners{ padding:56px 0; background:#fff; border-top:1px solid var(--border); }
.hp-partners__inner{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:28px 48px; }
.hp-partners h2{ font-size:20px; font-weight:600; }
.hp-partners__logos{ list-style:none; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; gap:24px 48px; }
.hp-partners__logos img{ height:52px; width:auto; filter:grayscale(1); opacity:.65; transition:filter .25s ease, opacity .25s ease; }
.hp-partners__logos a:hover img,
.hp-partners__logos a:focus-visible img{ filter:none; opacity:1; }

/* ---------- Responsivo (home) ---------- */

@media (max-width:1100px){
  .hp-shortcuts__bar{ grid-template-columns:repeat(3, 1fr); }
  .hp-intro__grid, .hp-rent__grid{ gap:56px; }
}

@media (max-width:960px){
  .hp-section{ padding:88px 0; }
  .hp-intro{ padding:96px 0 88px; }
  .hp-intro__grid{ grid-template-columns:1fr; }
  .hp-intro__media{ max-width:520px; margin:0 16px 16px 0; }
  .hp-intro__media::before{ inset:16px -16px -16px 16px; }

  .hp-exp__grid{ grid-template-columns:1fr 1fr; grid-auto-rows:240px; }

  .hp-rent__grid{ grid-template-columns:1fr; }
  .hp-rent__intro{ position:static; }

  .hp-events{ grid-template-columns:1fr; }
  .hp-events > li + li{ border-left:0; border-top:1px solid rgba(255,255,255,.14); }
  .hp-event, .hp-events > li:first-child .hp-event{ padding:28px 0; }
  .hp-event__date{ margin-bottom:12px; }
  .hp-event__day{ font-size:48px; }

  .hp-news__grid{ grid-template-columns:1fr; gap:40px; }
}

@media (max-width:767px){
  .hp-shortcuts{ margin-top:16px; }
  .hp-shortcuts__bar{ grid-template-columns:repeat(2, 1fr); box-shadow:0 12px 28px rgba(10,22,40,.10); }
  .hp-shortcut{ padding:18px 16px; font-size:13.5px; }
}

@media (max-width:600px){
  .hp-section{ padding:72px 0; }
  .hp-intro{ padding:72px 0; }
  .hp-lead{ font-size:16.5px; }
  .hp-exp__grid{ grid-template-columns:1fr; grid-auto-rows:240px; }
  .hp-exp__grid > :first-child{ grid-column:auto; grid-row:span 1; }
  .hp-exp__grid > :first-child h3{ font-size:26px; }
  .hp-rent__name{ font-size:20px; }
  .hp-rent__row{ grid-template-columns:1fr; }
  .hp-rent__cap{ grid-row:auto; }
  .hp-news__item a{ grid-template-columns:84px 1fr; gap:16px; }
  .hp-news__lead h3{ font-size:23px; }
  .hp-partners__logos img{ height:40px; }
}

@media (prefers-reduced-motion:reduce){
  .hp-tile__img, .hp-news__image img, .hp-shortcut, .hp-video__icon{ transition:none; }
  .hp-tile:hover .hp-tile__img, .hp-news__lead a:hover .hp-news__image img{ transform:none; }
}


/* =====================================================================
   IDENTIDADE BRASÍLIA: SISTEMA DE PLACAS
   Adaptado do design system do DF Agora. Verde = direção (para onde
   ir), azul = localização e informação, marrom = lazer e programação.
   Dourado fica como destaque próprio do clube (avisos).
   ===================================================================== */

/* ---------- Tipografia: Inter em todo o tema ---------- */

body{ font-family:var(--fonte); font-size:16px; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1, h2, h3{ font-family:var(--fonte); font-weight:800; letter-spacing:-.02em; }

.page-hero h1,
.hp-title{ font-weight:800; letter-spacing:-.03em; }

.hp-tile h3,
.archive-card__title,
.hp-news__lead h3,
.hp-news__item h3,
.hp-event h3,
.child-link strong,
.post-navigation .nav-title,
.footer-brand span{ font-weight:700; letter-spacing:-.01em; }

.entry-content blockquote{ font-weight:500; letter-spacing:-.01em; }

/* Rótulos em caixa alta, sem itálico (padrão das letras de placa) */
.btn,
.link-accent,
.quick-tile__label,
.space-card h3,
.post-navigation .nav-label,
.search-form button,
.entry-content .wp-block-button__link{ font-style:normal; }

/* ---------- Placa (componente base) ---------- */
/* Fundo colorido com o filete branco interno das placas reais */

.placa{
  --placa-cor:var(--placa-verde);
  display:block;
  background:var(--placa-cor);
  color:#fff;
  border-radius:6px;
  padding:14px 22px;
  box-shadow:
    inset 0 0 0 4px var(--placa-cor),
    inset 0 0 0 6px rgba(255,255,255,.92),
    0 18px 40px rgba(10,22,40,.22);
}
.placa--azul{ --placa-cor:var(--placa-azul); }
.placa--marrom{ --placa-cor:var(--placa-marrom); }

.placa ul{ list-style:none; margin:0; padding:0; }
.placa li + li .placa__linha{ border-top:1px solid rgba(255,255,255,.24); }
.placa__linha{
  display:flex; align-items:center; gap:14px;
  padding:13px 0;
  font-size:17px; font-weight:600; letter-spacing:.01em; line-height:1.3;
  color:#fff;
}
.placa__linha svg{ flex-shrink:0; transition:transform .2s ease; }
.placa__linha:hover svg{ transform:translate(2px,-2px); }
.placa__linha:hover span{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }

.placa__rotulo{
  display:block; margin-bottom:4px;
  font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.placa__nome{ display:block; font-size:17px; font-weight:700; line-height:1.25; letter-spacing:-.005em; }

/* ---------- Título de seção com ícone de placa ---------- */

.placa-titulo{
  display:flex; align-items:center; gap:14px;
  font-size:clamp(22px, 2.4vw, 30px);
  font-weight:800; letter-spacing:.02em; text-transform:uppercase;
  line-height:1.15; color:var(--noite);
}
.placa-titulo__icone{
  --c:var(--placa-verde);
  width:42px; height:42px; flex-shrink:0;
  display:grid; place-items:center;
  background:var(--c); color:#fff; border-radius:5px;
  box-shadow:inset 0 0 0 3px var(--c), inset 0 0 0 4.5px rgba(255,255,255,.92);
}
.placa-titulo--azul .placa-titulo__icone{ --c:var(--placa-azul); }
.placa-titulo--marrom .placa-titulo__icone{ --c:var(--placa-marrom); }
.hp-agenda .placa-titulo{ color:#fff; }

/* ---------- Chapéus (selos de categoria) ---------- */

.post-badge{
  font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  padding:4px 9px; border-radius:3px;
  background:var(--placa-azul); color:#fff;
}
.post-badge--aviso{ background:var(--gold); color:var(--noite); }
.page-hero .post-badge{ background:var(--placa-azul); color:#fff; }
.page-hero .post-badge--aviso{ background:var(--gold); color:var(--noite); }
.page-hero a.post-badge:hover{ background:#fff; color:var(--noite); }

/* ---------- Botões e links ---------- */

.btn{
  font-size:13.5px; font-weight:600; letter-spacing:.09em; border-radius:4px;
  padding:14px 22px;
}
.btn-gold{
  background:var(--placa-verde); border:0; color:#fff;
  box-shadow:inset 0 0 0 3px var(--placa-verde), inset 0 0 0 4.5px rgba(255,255,255,.9);
  padding:16px 24px;
}
.btn-gold:hover{
  background:#155A30; color:#fff;
  box-shadow:inset 0 0 0 3px #155A30, inset 0 0 0 4.5px rgba(255,255,255,.9), 0 10px 22px rgba(10,22,40,.2);
}
.btn-navy{ border:2px solid var(--placa-azul); color:var(--placa-azul); }
.btn-navy:hover{ background:var(--placa-azul); border-color:var(--placa-azul); color:#fff; }
.header-cta{ padding:12px 18px; font-size:12.5px; }

.link-accent{
  gap:8px; font-size:12px; font-weight:700; letter-spacing:.12em;
  color:var(--placa-verde);
}
.link-accent:hover{ color:var(--placa-verde-claro); }
.link-accent:hover svg{ transform:translateX(4px); }

/* ---------- Cabeçalho ---------- */

.site-header{ border-bottom:3px solid var(--placa-verde); }
.site-header::before{ background:rgba(10,22,40,.84); }
.site-branding .site-title{ font-weight:800; font-size:14px; letter-spacing:.04em; text-transform:uppercase; }
.site-branding .site-tagline{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.primary-menu > li > a{ font-weight:600; font-size:12.5px; letter-spacing:.12em; }
.primary-menu > li > a:after{ height:3px; bottom:0; background:var(--placa-verde-claro); }
.primary-menu .sub-menu{ border-radius:6px; border-top:3px solid var(--placa-verde); }
.primary-menu .sub-menu .menu-item-title,
.primary-menu .sub-menu a{ font-weight:600; font-size:14px; }

/* ---------- Faixa de título das páginas internas ---------- */
/* Sai a diagonal, entra o corte reto das placas */

.page-hero{ clip-path:none; padding:56px 0 64px; border-bottom:4px solid var(--placa-verde); }
.page-hero--overlap{ padding-bottom:170px; }
.page-hero::before{ background:linear-gradient(110deg, rgba(10,22,40,.95) 0%, rgba(10,22,40,.86) 60%, rgba(27,107,58,.72) 100%); }

/* Trilha no formato de placa escura */
.breadcrumbs ol{
  display:inline-flex; gap:8px;
  padding:8px 14px; border-radius:6px;
  background:rgba(15,28,14,.78); border:1px solid rgba(255,255,255,.14);
  font-size:13px; color:rgba(255,255,255,.6);
}
.breadcrumbs a{ color:#7BD69C; }
.breadcrumbs a:hover{ color:#fff; }
.breadcrumbs li + li::before{ color:rgba(255,255,255,.35); }
.breadcrumbs [aria-current]{ color:#fff; font-weight:600; }

/* ---------- Cards e listas ---------- */

.archive-card{ border-radius:6px; box-shadow:inset 0 3px 0 var(--placa-verde); }
.archive-card:hover{ box-shadow:inset 0 3px 0 var(--placa-verde), 0 16px 32px rgba(10,22,40,.12); }
.child-link, .post-navigation a{ border-radius:6px; }

/* ---------- Rodapé ---------- */

.site-footer{ background:var(--noite); border-top:4px solid var(--placa-verde); }
.footer-col h3{ font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

/* =====================================================================
   PÁGINA INICIAL NO SISTEMA DE PLACAS
   ===================================================================== */

/* Tríptico */
.home-feature__title{ font-weight:800; letter-spacing:-.01em; }
.home-feature .link-accent{ color:#7BD69C; }
@media (min-width:768px){
  .home-feature__item:first-child .home-feature__desc .link-accent,
  .home-feature__item:hover .home-feature__desc .link-accent{ color:var(--placa-verde); }
}

/* Atalhos: uma placa verde direcional */
.hp-shortcuts__placa{
  background:var(--placa-verde);
  border-radius:6px; padding:7px;
  box-shadow:
    inset 0 0 0 4px var(--placa-verde),
    inset 0 0 0 5.5px rgba(255,255,255,.92),
    0 30px 60px rgba(10,22,40,.24);
}
.hp-shortcuts__bar{ gap:0; background:transparent; box-shadow:none; border-radius:2px; }
.hp-shortcuts__bar > li{ box-shadow:-1px 0 0 rgba(255,255,255,.24), 0 -1px 0 rgba(255,255,255,.24); }
.hp-shortcut{
  background:transparent; color:#fff;
  font-size:12.5px; font-weight:600; letter-spacing:.07em; text-transform:uppercase;
  padding:20px 18px;
}
.hp-shortcut svg{ stroke:currentColor; }
.hp-shortcut:hover{ background:rgba(255,255,255,.1); color:#fff; }
.hp-shortcut:hover svg{ stroke:currentColor; transform:translateY(-2px); }
.hp-shortcut svg{ transition:transform .2s ease; }

/* Apresentação: placa de destinos + placa azul "você está no" */
.hp-intro__placa-destinos{ margin-top:36px; max-width:520px; }
.hp-intro__media{ margin:0; }
.hp-intro__media::before{ display:none; }
.hp-intro__media img{ border-radius:6px; }
.hp-intro__placa-local{
  position:absolute; z-index:2; left:-28px; bottom:36px;
  max-width:280px; padding:16px 22px;
}
.hp-video__icon{ border-color:var(--placa-verde); color:var(--placa-verde); }
.hp-video:hover .hp-video__icon{ background:var(--placa-verde); color:#fff; }
.hp-video:hover{ color:var(--placa-verde); }

/* Mosaico */
.hp-tile{ border-radius:6px; }
.hp-tile::after{ background:linear-gradient(180deg, rgba(10,22,40,0) 30%, rgba(10,22,40,.9) 100%); }
.hp-tile h3{ font-weight:800; }

/* Locação: capacidade como plaquinha verde */
.hp-rent__name{ font-weight:700; letter-spacing:-.01em; }
.hp-rent__cap{
  justify-self:start;
  padding:4px 10px; border-radius:3px;
  background:var(--placa-verde); color:#fff;
  font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
}

/* Agenda: data em placa marrom */
.hp-agenda .link-accent{ color:#7BD69C; }
.hp-agenda .link-accent:hover{ color:#fff; }
.hp-event__date{
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  min-width:84px; padding:14px 14px 12px; margin-bottom:22px;
  background:var(--placa-marrom); border-radius:5px;
  box-shadow:inset 0 0 0 3px var(--placa-marrom), inset 0 0 0 4.5px rgba(255,255,255,.9);
}
.hp-event__day{ font-family:var(--fonte); font-size:38px; font-weight:800; color:#fff; letter-spacing:-.02em; }
.hp-event__month{ font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.hp-event:hover h3{ color:#7BD69C; }

/* Parceiros */
.hp-partners h2{ font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#6B7690; }

@media (max-width:960px){
  .hp-intro__placa-local{ left:16px; bottom:16px; }
  .hp-event__date{ margin-bottom:16px; }
}
@media (max-width:600px){
  .placa__linha{ font-size:15.5px; }
  .hp-shortcut{ padding:16px 14px; font-size:11.5px; }
  .placa-titulo__icone{ width:36px; height:36px; }
}
@media (prefers-reduced-motion:reduce){
  .placa__linha svg, .hp-shortcut svg{ transition:none; }
}


/* =====================================================================
   CABEÇALHO E MENU EM GAVETA (modelo DF Agora)
   Menu à esquerda, logo no centro, busca e locação à direita.
   Canto vivo em tudo que é placa.
   ===================================================================== */

.ch-header{ border-bottom:3px solid var(--gold); box-shadow:0 2px 16px rgba(10,22,40,.35); }
.ch-header::before{ background:rgba(10,22,40,.86); backdrop-filter:none; }

.ch-inner{
  position:relative; z-index:1;
  max-width:1280px; margin:0 auto; padding:0 20px;
  height:68px;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px;
}

/* Esquerda: hambúrguer + "Menu" */
.ch-left{ display:flex; align-items:center; gap:8px; }
.ch-hamburger{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; padding:0 9px;
  background:none; border:0; cursor:pointer;
  transition:background .2s ease;
}
.ch-hamburger:hover{ background:rgba(255,255,255,.12); }
.ch-hamburger span{ display:block; width:20px; height:2px; background:#fff; transition:transform .22s ease, opacity .22s ease; }
.menu-aberto .ch-hamburger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-aberto .ch-hamburger span:nth-child(2){ opacity:0; }
.menu-aberto .ch-hamburger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.ch-menu-label{ font-size:14px; font-weight:700; color:#fff; letter-spacing:-.01em; }

/* Centro: logo */
.ch-center{ display:flex; justify-content:center; }
.ch-logo{ display:inline-flex; align-items:center; gap:10px; transition:opacity .2s ease; }
.ch-logo:hover, .ch-logo a:hover{ opacity:.85; }
.ch-logo .custom-logo{ max-height:46px; width:auto; }
.ch-logo .site-title{ display:block; font-size:13.5px; line-height:1.15; }
.ch-logo .site-tagline{ display:block; }

/* Direita: busca + locação */
.ch-right{ display:flex; align-items:center; justify-content:flex-end; gap:10px; }

.ch-busca{
  display:flex; align-items:center; overflow:hidden;
  width:132px; height:40px;
  background:rgba(255,255,255,.08); border:2px solid rgba(255,255,255,.75);
  cursor:pointer;
  transition:width .3s cubic-bezier(.4,0,.2,1), background .2s ease, border-color .2s ease;
}
.ch-busca.on, .ch-busca:focus-within{ width:300px; background:#fff; border-color:#fff; cursor:text; }
.ch-busca__submit{
  flex-shrink:0; display:flex; align-items:center; height:100%;
  padding:0 10px 0 13px; background:none; border:0; color:#fff; cursor:pointer;
}
.ch-busca.on .ch-busca__submit, .ch-busca:focus-within .ch-busca__submit{ color:var(--placa-azul); }
.ch-busca__label{ padding-right:14px; font-size:14px; font-weight:700; color:#fff; white-space:nowrap; user-select:none; }
.ch-busca.on .ch-busca__label, .ch-busca:focus-within .ch-busca__label{ display:none; }
.ch-busca input[type="search"]{
  flex:1; min-width:0; width:0; opacity:0;
  height:100%; padding:0 10px 0 0;
  background:none; border:0; outline:none;
  font:inherit; font-size:14px; color:var(--noite);
  -webkit-appearance:none;
}
.ch-busca.on input[type="search"], .ch-busca:focus-within input[type="search"]{ width:auto; opacity:1; }
.ch-busca input::placeholder{ color:#8795A8; }

.ch-cta{
  display:inline-flex; align-items:center; gap:8px;
  height:40px; padding:0 14px;
  background:var(--placa-verde); border:2px solid rgba(255,255,255,.9); color:#fff;
  font-size:13.5px; font-weight:700; letter-spacing:-.01em; white-space:nowrap;
  transition:background .2s ease;
}
.ch-cta:hover{ background:#155A30; color:#fff; }
.ch-cta:hover .cd-seta{ transform:translateX(3px); }

.ch-hamburger:focus-visible, .ch-cta:focus-visible, .ch-busca:focus-within{ outline:3px solid var(--gold); outline-offset:2px; }

/* ---------- Seta das placas (traço grosso, ponta reta) ---------- */

.cd-seta{
  width:18px; height:18px; flex-shrink:0;
  fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:butt; stroke-linejoin:miter;
  transition:transform .22s ease;
}
.cd-seta--u{ transform:rotate(-90deg); }
.cd-seta--ur{ transform:rotate(-45deg); }

/* ---------- Gaveta ---------- */

.cd-overlay{
  position:fixed; inset:0; z-index:998;
  background:rgba(0,0,0,.55); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .3s ease;
}
.cd-overlay.on{ opacity:1; }
body.menu-aberto{ overflow:hidden; }

.cd-drawer{
  position:fixed; top:0; left:0; z-index:999;
  width:340px; max-width:88vw; height:100%;
  display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(180deg, var(--placa-azul) 0%, #173f6f 55%, var(--noite) 100%);
  box-shadow:0 0 48px rgba(0,0,0,.45);
  transform:translateX(-100%); visibility:hidden;
  transition:transform .32s cubic-bezier(.4,0,.2,1), visibility 0s linear .32s;
}
.cd-drawer.on{ transform:none; visibility:visible; transition:transform .32s cubic-bezier(.4,0,.2,1); }

.cd-topo{
  flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 20px; background:var(--noite); border-bottom:3px solid var(--gold);
}
.cd-logo-img{ height:38px; width:auto; filter:brightness(0) invert(1); }
.cd-logo-txt{ font-size:14px; font-weight:800; color:#fff; text-transform:uppercase; letter-spacing:.03em; }
.cd-fechar{
  width:36px; height:36px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:2px solid rgba(255,255,255,.85); color:#fff; cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.cd-fechar:hover{ background:#fff; color:var(--placa-azul); }

.cd-busca{
  flex-shrink:0; margin:16px 20px 6px;
  display:flex; align-items:center; gap:10px;
  height:44px; padding:0 14px;
  background:#fff; border:2px solid #fff; color:var(--placa-azul);
}
.cd-busca:focus-within{ border-color:var(--gold); }
.cd-busca input{
  flex:1; min-width:0; background:none; border:0; outline:none;
  font:inherit; font-size:14px; font-weight:500; color:var(--noite);
}
.cd-busca input::placeholder{ color:#8795A8; }

.cd-nav{ flex:1; overflow-y:auto; padding:12px 20px 20px; display:flex; flex-direction:column; gap:6px; }
.cd-nav::-webkit-scrollbar{ width:3px; }
.cd-nav::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.2); }

/* Tarja (placa) */
.cd-placa{
  display:flex; align-items:center; gap:10px;
  width:100%; min-height:46px; padding:0 16px;
  background:#fff; border:2px solid #fff;
  color:var(--placa-azul);
  font-size:15.5px; font-weight:700; letter-spacing:-.015em; line-height:1.2;
  cursor:pointer; list-style:none;
  transition:background .2s ease, color .2s ease;
}
.cd-placa-txt{ flex:1; min-width:0; }
.cd-placa:hover{ background:#EDF3FA; }
.cd-placa:hover .cd-seta--r{ transform:translateX(3px); }
.cd-placa:hover .cd-seta--ur{ transform:rotate(-45deg) translateX(3px); }

/* Página atual: faixa dourada à esquerda */
.cd-placa--ativo{ box-shadow:inset 6px 0 0 var(--gold); padding-left:20px; }
.cd-placa--ativo .cd-seta{ color:var(--gold-dark); }

.cd-placa--vazada{ background:transparent; color:#fff; border-color:rgba(255,255,255,.85); }
.cd-placa--vazada:hover{ background:rgba(255,255,255,.1); }

.cd-placa--cta{ background:var(--placa-verde); border-color:var(--placa-verde); color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.9); }
.cd-placa--cta:hover{ background:#155A30; }

/* Grupos: aberto vira tarja vazada, filhos colados abaixo */
.cd-grupo summary::-webkit-details-marker{ display:none; }
.cd-grupo[open] > summary{ background:transparent; color:#fff; border-color:rgba(255,255,255,.85); }
.cd-grupo[open] > summary .cd-seta--r{ transform:rotate(90deg); }
.cd-grupo[open]{ margin-bottom:8px; }

.cd-sub{ display:flex; flex-direction:column; gap:4px; margin-top:4px; animation:cd-slide .2s ease; }
@keyframes cd-slide{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

.cd-sub a{
  display:flex; align-items:center; gap:10px;
  min-height:40px; padding:0 14px 0 12px;
  background:#fff; border-left:6px solid var(--ed, var(--placa-verde));
  color:var(--noite); font-size:14px; font-weight:600; letter-spacing:-.01em;
  transition:background .2s ease;
}
.cd-sub a span{ flex:1; }
.cd-sub a .cd-seta{ width:15px; height:15px; color:var(--ed, var(--placa-verde)); }
.cd-sub a:hover{ background:#EDF3FA; }
.cd-sub a[aria-current="page"]{ background:#FFF7E6; box-shadow:inset 0 -2px 0 var(--gold); }

/* 3º nível: título do subgrupo + filhos recuados */
.cd-sub-grupo{ display:flex; flex-direction:column; gap:4px; margin:4px 0 2px; }
.cd-sub-titulo{
  display:block; padding:6px 2px 2px;
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.cd-sub a.cd-sub-titulo{ min-height:0; padding:6px 2px 2px; background:none; border:0; color:rgba(255,255,255,.75); font-size:11px; }
.cd-sub a.cd-sub-titulo:hover{ color:#fff; background:none; text-decoration:underline; }
.cd-sub a.cd-sub-filho{ margin-left:14px; min-height:38px; font-size:13.5px; }

/* Bloco final */
.cd-bloco{ display:flex; flex-direction:column; gap:6px; margin-top:18px; }
.cd-telefone{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:8px; padding:6px 2px;
  font-size:14px; font-weight:700; color:#fff;
}
.cd-telefone svg{ color:var(--gold); }
.cd-telefone:hover{ text-decoration:underline; text-underline-offset:3px; }

/* Redes */
.cd-redes{
  flex-shrink:0; display:flex; gap:8px;
  padding:14px 20px 18px; border-top:1px solid rgba(255,255,255,.14);
}
.cd-redes a{
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  border:2px solid rgba(255,255,255,.7); color:#fff;
  transition:background .2s ease, border-color .2s ease;
}
.cd-redes a:hover{ background:var(--rede, #fff); border-color:var(--rede, #fff); }

.cd-placa:focus-visible, .cd-sub a:focus-visible, .cd-redes a:focus-visible,
.cd-fechar:focus-visible, .cd-telefone:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }

/* ---------- Responsivo do cabeçalho ---------- */

@media (max-width:900px){
  .ch-busca__label{ display:none; }
  .ch-busca{ width:40px; }
  .ch-busca.on, .ch-busca:focus-within{ width:230px; }
}

@media (max-width:640px){
  .ch-inner{ height:60px; padding:0 12px; gap:8px; grid-template-columns:auto 1fr auto; }
  .ch-menu-label{ display:none; }
  .ch-logo .custom-logo{ max-height:38px; }
  .ch-logo .site-title{ font-size:12px; }
  .ch-cta{ display:none; }
  .ch-busca__label{ display:none; }
  .ch-busca{ width:40px; }
  .ch-right{ position:relative; }
  .ch-busca.on, .ch-busca:focus-within{ position:absolute; right:0; top:50%; transform:translateY(-50%); width:calc(100vw - 24px); max-width:320px; z-index:5; }
}

@media (prefers-reduced-motion:reduce){
  .cd-drawer, .cd-overlay, .ch-busca, .cd-seta, .ch-hamburger span{ transition:none; }
  .cd-sub{ animation:none; }
}


/* =====================================================================
   RODAPÉ NO SISTEMA DE PLACAS
   ===================================================================== */

.cf-footer{
  position:relative;
  background:var(--noite); color:#C7D0E8;
  border-top:3px solid var(--gold);
  padding:0;
}

/* Faixa de chamada: placa verde que sobe sobre a borda do rodapé */
.cf-chamada{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin-top:-44px; margin-bottom:64px;
  padding:24px 30px;
  border-radius:0;
  position:relative; z-index:2;
}
.cf-chamada__texto strong{ display:block; max-width:560px; font-size:19px; font-weight:700; line-height:1.35; color:#fff; letter-spacing:-.01em; }
.cf-chamada__btn{
  flex-shrink:0; display:inline-flex; align-items:center; gap:10px;
  min-height:48px; padding:0 20px;
  background:#fff; color:var(--placa-verde);
  font-size:15px; font-weight:700; letter-spacing:-.01em;
  transition:background .2s ease;
}
.cf-chamada__btn:hover{ background:#EAF3EC; }
.cf-chamada__btn:hover .cd-seta{ transform:translateX(3px); }

/* Colunas */
.cf-grid{
  display:grid; grid-template-columns:1.3fr 1fr 1fr 1.15fr 1.1fr; gap:40px 32px;
  padding-bottom:56px;
}

.cf-marca{ display:inline-flex; align-items:center; gap:10px; margin-bottom:16px; }
.cf-marca span{ font-size:14px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:#fff; line-height:1.2; }
.cf-logo-img{ height:auto; width:220px; max-width:100%; filter:brightness(0) invert(1); }
.cf-col--marca p{ margin:0; max-width:260px; font-size:14px; line-height:1.65; color:#9AA6C9; }

/* Placa de grupo: tarja colorida com filete branco, canto vivo */
.cf-placa{
  display:inline-flex; align-items:center;
  min-height:32px; padding:0 12px; margin-bottom:18px;
  background:var(--ed, var(--placa-verde));
  box-shadow:inset 0 0 0 2px var(--ed, var(--placa-verde)), inset 0 0 0 3.5px rgba(255,255,255,.9);
  font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:#fff;
}

.cf-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.cf-links a{
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 0;
  font-size:14px; font-weight:500; color:#C7D0E8;
  transition:color .2s ease;
}
.cf-links a .cd-seta{ width:13px; height:13px; opacity:0; transform:translateX(-4px); transition:opacity .2s ease, transform .2s ease; }
.cf-links a .cd-seta--ur{ transform:rotate(-45deg) translateX(-4px); }
.cf-links a:hover{ color:#fff; }
.cf-links a:hover .cd-seta{ opacity:1; transform:none; color:var(--gold); }
.cf-links a:hover .cd-seta--ur{ transform:rotate(-45deg); }

/* Contato */
.cf-telefone{ display:block; white-space:nowrap; font-size:19px; font-weight:800; color:#fff; letter-spacing:-.01em; }
.cf-telefone:hover{ color:var(--gold); }
.cf-email{ display:block; margin-top:6px; font-size:14px; color:#C7D0E8; word-break:break-word; }
.cf-email:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.cf-endereco{ margin:10px 0 0; font-size:13.5px; line-height:1.6; color:#9AA6C9; }
.cf-acoes{ display:flex; flex-direction:column; gap:6px; margin-top:18px; }
.cf-tarja{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  min-height:42px; padding:0 14px;
  border:2px solid rgba(255,255,255,.8); color:#fff;
  font-size:14px; font-weight:700;
  transition:background .2s ease;
}
.cf-tarja:hover{ background:rgba(255,255,255,.1); }
.cf-tarja:hover .cd-seta{ transform:translateX(3px); }

.cf-redes{ display:flex; gap:8px; margin-top:20px; }
.cf-redes a{
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border:2px solid rgba(255,255,255,.7); color:#fff;
  transition:background .2s ease, border-color .2s ease;
}
.cf-redes a:hover{ background:var(--rede, #fff); border-color:var(--rede, #fff); }

/* Base: silhueta do Congresso + direitos + voltar ao topo */
.cf-base{ position:relative; border-top:1px solid rgba(255,255,255,.1); overflow:hidden; }
.cf-skyline{
  position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:1200px; max-width:none; height:120px;
  color:#fff; opacity:.06; pointer-events:none;
}
.cf-base__inner{
  position:relative; line-height:1.6;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  padding-top:28px; padding-bottom:28px;
  font-size:12.5px; color:#8792B4;
}
.cf-autor{ color:#C7D0E8; font-weight:600; text-decoration:underline; text-decoration-color:rgba(201,154,62,.6); text-underline-offset:3px; }
.cf-autor:hover{ color:var(--gold); }

.cf-topo{
  display:inline-flex; align-items:center; gap:8px;
  min-height:36px; padding:0 12px;
  border:2px solid rgba(255,255,255,.6); color:#fff;
  font-size:13px; font-weight:700;
  transition:background .2s ease;
}
.cf-topo .cd-seta{ width:15px; height:15px; }
.cf-topo:hover{ background:rgba(255,255,255,.1); }
.cf-topo:hover .cd-seta--u{ transform:rotate(-90deg) translateX(3px); }

.cf-footer a:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }

/* Espaço para a chamada subir sobre a borda sem cobrir o conteúdo */
main + .cf-footer, #main + .cf-footer{ margin-top:44px; }


/* Responsivo */
@media (max-width:1100px){
  .cf-grid{ grid-template-columns:1fr 1fr 1fr; }
  .cf-col--marca{ grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:12px 32px; }
  .cf-col--marca .cf-marca{ margin-bottom:0; }
  .cf-col--marca .cf-redes{ margin-top:0; }
}
@media (max-width:760px){
  .cf-chamada{ flex-direction:column; align-items:flex-start; padding:22px; }
  .cf-chamada__texto strong{ font-size:17px; }
  .cf-grid{ grid-template-columns:1fr 1fr; gap:36px 24px; }
  .cf-col--contato{ grid-column:1 / -1; }
}
@media (max-width:480px){
  .cf-grid{ grid-template-columns:1fr; }
  .cf-chamada__btn{ width:100%; justify-content:space-between; }
  .cf-base__inner{ flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce){
  .cf-links a .cd-seta, .cf-tarja .cd-seta, .cf-topo .cd-seta{ transition:none; }
}


/* =====================================================================
   CALENDÁRIO DE EVENTOS (page-calendario-de-eventos.php)
   ===================================================================== */

/* Barra: abas de período, filtros e assinatura */
.cal-barra{
  display:flex; align-items:center; flex-wrap:wrap; gap:14px 20px;
  margin-bottom:48px; padding-bottom:24px; border-bottom:1px solid var(--border);
}
.cal-abas{ display:flex; }
.cal-aba{
  display:inline-flex; align-items:center;
  min-height:40px; padding:0 18px;
  border:2px solid var(--noite); color:var(--noite);
  font-size:14px; font-weight:700;
  transition:background .2s ease, color .2s ease;
}
.cal-aba + .cal-aba{ border-left:0; }
.cal-aba:hover{ background:#E6EAF0; }
.cal-aba[aria-current="page"]{ background:var(--noite); color:#fff; }

.cal-filtros{ display:flex; flex-wrap:wrap; gap:6px; }
.cal-filtro{
  display:inline-flex; align-items:center;
  min-height:32px; padding:0 12px;
  background:#fff; border:1px solid var(--border);
  font-size:13px; font-weight:600; color:var(--text-body);
  transition:border-color .2s ease, color .2s ease;
}
.cal-filtro:hover{ border-color:var(--placa-marrom); color:var(--placa-marrom); }
.cal-filtro[aria-current="true"]{ background:var(--placa-marrom); border-color:var(--placa-marrom); color:#fff; }

.cal-assinar{
  margin-left:auto;
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; color:var(--placa-verde);
}
.cal-assinar:hover{ color:var(--placa-verde-claro); text-decoration:underline; text-underline-offset:3px; }

/* Meses */
.cal-mes + .cal-mes{ margin-top:56px; }
.cal-mes .placa-titulo{ margin-bottom:20px; font-size:clamp(20px, 2vw, 24px); }

.cal-lista{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }

/* Evento */
.cal-evento{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px;
  padding:18px 22px 18px 18px;
  background:#fff; border:1px solid var(--border);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.cal-evento:hover{ border-color:#C9D3E0; box-shadow:0 10px 24px rgba(10,22,40,.08); }
.cal-evento.is-agora{ border-color:var(--gold); box-shadow:inset 4px 0 0 var(--gold); }

/* Data em placa marrom */
.cal-data{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  width:84px; min-height:84px; padding:10px 6px;
  background:var(--placa-marrom); color:#fff;
  box-shadow:inset 0 0 0 3px var(--placa-marrom), inset 0 0 0 4.5px rgba(255,255,255,.9);
  text-align:center;
}
.cal-data__dia{ font-size:32px; font-weight:800; line-height:1; letter-spacing:-.02em; }
.cal-data__mes{ font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.cal-data__ate{ margin-top:2px; font-size:10.5px; font-weight:600; color:rgba(255,255,255,.85); }

.cal-corpo{ min-width:0; }
.cal-corpo h3{ font-size:19px; font-weight:700; line-height:1.3; letter-spacing:-.01em; }
.cal-corpo h3 a{ color:var(--noite); transition:color .2s ease; }
.cal-corpo h3 a:hover{ color:var(--placa-verde); }

.cal-tag{
  display:inline-block; margin-bottom:8px; padding:3px 8px;
  background:var(--placa-verde); color:#fff;
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
}
.cal-tag--agora{ background:var(--gold); color:var(--noite); }

.cal-info{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px;
  margin:8px 0 0; font-size:14px; color:var(--text-body);
}
.cal-quando{ font-weight:600; color:var(--noite); }
.cal-local{ display:inline-flex; align-items:center; gap:5px; color:var(--placa-azul); font-weight:600; }
.cal-local svg{ flex-shrink:0; }
.cal-cat{
  display:inline-block; padding:2px 8px;
  border:1px solid var(--placa-marrom); color:var(--placa-marrom);
  font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
}
.cal-resumo{ margin:8px 0 0; max-width:640px; font-size:14.5px; line-height:1.6; color:#5A6475; }

.cal-acoes{ display:flex; flex-direction:column; align-items:flex-end; gap:10px; white-space:nowrap; }
.cal-gcal{ font-size:12.5px; font-weight:600; color:#6B7690; }
.cal-gcal:hover{ color:var(--placa-azul); text-decoration:underline; text-underline-offset:3px; }

/* Eventos já realizados */
.cal-evento.is-passado .cal-data{ background:#8A7B70; box-shadow:inset 0 0 0 3px #8A7B70, inset 0 0 0 4.5px rgba(255,255,255,.9); }
.cal-evento.is-passado .cal-corpo h3 a{ color:#4A5568; }

/* Responsivo */
@media (max-width:760px){
  .cal-barra{ margin-bottom:36px; }
  .cal-assinar{ margin-left:0; }
  .cal-evento{ grid-template-columns:auto 1fr; gap:16px; padding:16px; }
  .cal-data{ width:68px; min-height:72px; }
  .cal-data__dia{ font-size:26px; }
  .cal-acoes{ grid-column:2; flex-direction:row; align-items:center; justify-content:flex-start; gap:16px; }
  .cal-corpo h3{ font-size:17px; }
}
@media (max-width:420px){
  .cal-evento{ grid-template-columns:1fr; }
  .cal-data{ flex-direction:row; width:auto; min-height:0; justify-content:flex-start; gap:8px; padding:8px 12px; align-self:start; justify-self:start; }
  .cal-data__dia{ font-size:20px; }
  .cal-acoes{ grid-column:auto; }
}


/* =====================================================================
   HOME: ESPAÇOS PARA EVENTOS EM PLACA DE DESTINOS
   Como as placas das vias de Brasília: destino à esquerda, "distância"
   (aqui, a capacidade) alinhada à direita.
   ===================================================================== */

.hp-locacao{ background:var(--teal-tint); }
.hp-locacao__grid{ display:grid; grid-template-columns:5fr 7fr; gap:64px; align-items:center; }
.hp-locacao__lead{ margin:14px 0 0; font-size:17px; color:var(--text-body); }
.hp-locacao__actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }

.hp-locacao__placa{ padding:10px 28px; }
.hp-locacao__placa li + li .hp-destino{ border-top:1px solid rgba(255,255,255,.24); }

.hp-destino{
  display:flex; align-items:center; gap:16px;
  padding:17px 0; color:#fff;
}
.hp-destino svg{ flex-shrink:0; transition:transform .2s ease; }
.hp-destino__nome{ flex:1; min-width:0; font-size:19px; font-weight:700; letter-spacing:-.01em; }
.hp-destino__cap{ flex-shrink:0; font-size:15px; font-weight:600; color:rgba(255,255,255,.88); font-variant-numeric:tabular-nums; }
.hp-destino:hover svg{ transform:translateY(-3px); }
.hp-destino:hover .hp-destino__nome{ text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:5px; }

@media (max-width:960px){
  .hp-locacao__grid{ grid-template-columns:1fr; gap:36px; }
}
@media (max-width:520px){
  .hp-locacao__placa{ padding:6px 18px; }
  .hp-destino{ gap:12px; padding:14px 0; }
  .hp-destino__nome{ font-size:16px; }
  .hp-destino__cap{ font-size:12.5px; }
  .hp-locacao__actions .btn{ flex:1; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){
  .hp-destino svg{ transition:none; }
}

/* Mosaico com 5 blocos: o último ocupa duas colunas para fechar a grade */
.hp-exp__grid > :last-child:nth-child(5){ grid-column:span 2; }
@media (max-width:960px){
  .hp-exp__grid > :last-child:nth-child(5){ grid-column:auto; }
}
@media (max-width:600px){
  .hp-exp__grid > :last-child:nth-child(5){ grid-column:auto; }
}


/* =====================================================================
   FORMULÁRIOS (page-formularios.php)
   ===================================================================== */

/* Aviso em placa azul (informação) */
.forms-aviso{
  display:flex; align-items:center; gap:22px;
  padding:22px 28px; margin-bottom:40px;
  border-radius:0;
}
.forms-aviso__icone{ flex-shrink:0; display:grid; place-items:center; width:48px; height:48px; border:2px solid rgba(255,255,255,.85); }
.forms-aviso__texto{ flex:1; min-width:0; }
.forms-aviso__texto p{ margin:0; font-size:17px; line-height:1.45; color:#fff; }
.forms-aviso__tel{
  flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end;
  padding:10px 16px; background:#fff; color:var(--placa-azul);
  transition:background .2s ease;
}
.forms-aviso__tel:hover{ background:#EDF3FA; }
.forms-aviso__numero{ font-size:20px; font-weight:800; letter-spacing:-.01em; white-space:nowrap; }
.forms-aviso__ramal{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }

/* Formulários */
.forms-lista{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }

.form-card{
  display:flex; flex-direction:column;
  padding:28px 26px 26px;
  background:#fff; border:1px solid var(--border);
  box-shadow:inset 0 3px 0 var(--placa-verde);
}
.form-card--destaque{ border-color:var(--placa-verde); }

.form-card__doc{
  position:relative; width:52px; height:52px; margin-bottom:20px;
  display:grid; place-items:center; color:var(--placa-verde);
}
.form-card__doc span{
  position:absolute; left:50%; bottom:6px; transform:translateX(-50%);
  padding:1px 4px; background:var(--placa-verde); color:#fff;
  font-size:8.5px; font-weight:800; letter-spacing:.08em;
}

.form-card__titulo{ font-size:24px; font-weight:800; letter-spacing:-.02em; color:var(--noite); }
.form-card__texto{ margin:8px 0 24px; font-size:15.5px; line-height:1.55; color:var(--text-body); }

.form-card__extra{ align-self:flex-start; margin:-10px 0 24px; }
.form-card__acoes{ margin-top:auto; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.form-card__baixar{
  display:inline-flex; align-items:center; gap:10px;
  min-height:46px; padding:0 18px;
  background:var(--placa-verde); color:#fff;
  box-shadow:inset 0 0 0 2px var(--placa-verde), inset 0 0 0 3.5px rgba(255,255,255,.9);
  font-size:14.5px; font-weight:700;
  transition:background .2s ease;
}
.form-card__baixar:hover{ background:#155A30; color:#fff; }
.form-card__baixar:hover svg{ transform:translateY(2px); }
.form-card__baixar svg{ transition:transform .2s ease; }

@media (max-width:960px){
  .forms-lista{ grid-template-columns:1fr; }
  .form-card{ display:grid; grid-template-columns:auto 1fr; column-gap:20px; align-items:start; }
  .form-card__doc{ grid-row:span 3; margin-bottom:0; }
  .form-card__texto{ margin-bottom:18px; }
  .form-card__extra{ margin:-6px 0 18px; }
}
@media (max-width:600px){
  .forms-aviso{ flex-direction:column; align-items:flex-start; gap:16px; padding:22px; }
  .forms-aviso__tel{ align-items:flex-start; }
  .form-card{ display:flex; flex-direction:column; padding:22px 20px; }
  .form-card__doc{ margin-bottom:12px; width:44px; height:44px; }
  .form-card__titulo{ font-size:20px; }
}
@media (prefers-reduced-motion:reduce){
  .form-card__baixar svg{ transition:none; }
}


/* =====================================================================
   ESTILOS DE BLOCO DO CLUBE (editor do WordPress)
   ===================================================================== */

.entry-content .is-style-abertura{
  font-size:21px; line-height:1.6; font-weight:500; letter-spacing:-.01em; color:var(--noite);
}

.entry-content .is-style-placa-verde,
.entry-content .is-style-placa-azul,
.entry-content .is-style-placa-marrom{
  --placa-cor:var(--placa-verde);
  padding:22px 28px; color:#fff;
  background:var(--placa-cor);
  box-shadow:inset 0 0 0 4px var(--placa-cor), inset 0 0 0 6px rgba(255,255,255,.92);
}
.entry-content .is-style-placa-azul{ --placa-cor:var(--placa-azul); }
.entry-content .is-style-placa-marrom{ --placa-cor:var(--placa-marrom); }
.entry-content [class*="is-style-placa-"] > *{ margin:0 0 .6em; }
.entry-content [class*="is-style-placa-"] > *:last-child{ margin-bottom:0; }
.entry-content [class*="is-style-placa-"] p,
.entry-content [class*="is-style-placa-"] h2,
.entry-content [class*="is-style-placa-"] h3{ color:#fff; }
.entry-content [class*="is-style-placa-"] a{ color:#fff; text-decoration-color:rgba(255,255,255,.6); }
.entry-content .placa-rotulo{
  font-size:11px !important; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.78) !important;
}

.entry-content h2.is-style-placa,
.entry-content h3.is-style-placa{
  display:flex; align-items:center; gap:12px;
  font-size:22px; text-transform:uppercase; letter-spacing:.03em;
}
.entry-content h2.is-style-placa::before,
.entry-content h3.is-style-placa::before{
  content:""; flex-shrink:0; width:34px; height:34px;
  background:var(--placa-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='square'%3E%3Cpath d='M12 20 V5 M6 11 L12 5 L18 11'/%3E%3C/svg%3E") center/18px no-repeat;
  box-shadow:inset 0 0 0 2.5px var(--placa-verde), inset 0 0 0 4px rgba(255,255,255,.9);
}

.entry-content ul.is-style-setas{ list-style:none; padding:0; border-top:1px solid var(--border); }
.entry-content ul.is-style-setas li{
  position:relative; margin:0; padding:13px 0 13px 30px; border-bottom:1px solid var(--border);
}
.entry-content ul.is-style-setas li::before{
  content:""; position:absolute; left:2px; top:50%; width:16px; height:16px; transform:translateY(-50%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6B3A' stroke-width='3' stroke-linecap='square'%3E%3Cpath d='M3 12h16M12 4.5l7.5 7.5-7.5 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.entry-content ul.is-style-setas a{ text-decoration:none; font-weight:600; color:var(--noite); }
.entry-content ul.is-style-setas a:hover{ color:var(--placa-verde); text-decoration:underline; }

.entry-content .wp-block-gallery.is-cropped img{ border-radius:4px; }
.entry-content .wp-block-media-text{ gap:0; }
.entry-content .wp-block-media-text img{ border-radius:6px; }
.entry-content .wp-block-media-text__content{ padding:0 0 0 36px; }
.entry-content .wp-block-embed iframe{ width:100%; aspect-ratio:16/9; height:auto; }
@media (max-width:600px){
  .entry-content .wp-block-media-text__content{ padding:20px 0 0; }
  .entry-content .is-style-abertura{ font-size:18.5px; }
}

/* Editor: o miolo do editor usa o mesmo fundo e largura das páginas */
.editor-styles-wrapper{ background:var(--sand); font-family:var(--fonte); }


/* =====================================================================
   PÁGINAS AINDA MONTADAS NO ELEMENTOR
   Coloca o conteúdo do Elementor no padrão do tema (fonte, cores,
   espaçamentos), sem precisar editar página por página.
   ===================================================================== */

.elementor-page .entry-layout{ max-width:960px; }

.entry-content .elementor{ font-family:var(--fonte); }
.entry-content .elementor .e-con{
  --padding-top:0px !important; --padding-bottom:0px !important;
  --padding-left:0px !important; --padding-right:0px !important;
  --margin-top:0px !important; --margin-bottom:0px !important;
  --gap:16px 16px !important; --row-gap:16px !important; --column-gap:16px !important;
  background:none !important; border:0 !important; box-shadow:none !important;
}
.entry-content .elementor > .e-con + .e-con{ margin-top:32px !important; }
.entry-content .elementor .e-con-inner{ max-width:100% !important; padding:0 !important; }

/* Texto */
.entry-content .elementor .elementor-widget-text-editor,
.entry-content .elementor .elementor-widget-text-editor *{
  font-family:var(--fonte) !important; color:var(--text-body) !important;
  font-size:17px !important; line-height:1.75 !important;
}
.entry-content .elementor .elementor-widget-text-editor{ max-width:760px; }
.entry-content .elementor .elementor-widget-text-editor strong{ color:var(--noite) !important; }
.entry-content .elementor .elementor-widget-text-editor a{ color:var(--placa-verde) !important; text-decoration:underline; }
.entry-content .elementor > .e-con:first-child .elementor-widget-text-editor p:first-child{
  font-size:20px !important; line-height:1.6 !important; font-weight:500; color:var(--noite) !important;
}

/* Títulos */
.entry-content .elementor .elementor-heading-title{
  font-family:var(--fonte) !important; color:var(--noite) !important;
  font-weight:800 !important; letter-spacing:-.02em !important; line-height:1.25 !important;
}
.entry-content .elementor h1.elementor-heading-title,
.entry-content .elementor h2.elementor-heading-title{ font-size:26px !important; }
.entry-content .elementor h3.elementor-heading-title{ font-size:21px !important; }
.entry-content .elementor h4.elementor-heading-title,
.entry-content .elementor h5.elementor-heading-title,
.entry-content .elementor h6.elementor-heading-title{
  font-size:11px !important; letter-spacing:.14em !important; text-transform:uppercase; color:#6B7690 !important;
}

/* Imagens */
.entry-content .elementor .elementor-widget-image img{
  width:100% !important; height:auto !important; max-width:100% !important;
  border-radius:4px !important; object-fit:cover;
}

/* Vídeo */
.entry-content .elementor .elementor-widget-video{ width:100% !important; max-width:100% !important; }
.entry-content .elementor .elementor-wrapper{ border-radius:4px; overflow:hidden; }

/* Botões e ícones de download */
.entry-content .elementor .elementor-button{
  font-family:var(--fonte) !important; font-weight:700 !important; font-size:14.5px !important;
  border-radius:0 !important; background:var(--placa-verde) !important; color:#fff !important;
  box-shadow:inset 0 0 0 2px var(--placa-verde), inset 0 0 0 3.5px rgba(255,255,255,.9);
  text-transform:none !important; letter-spacing:0 !important;
}
.entry-content .elementor .elementor-icon{
  color:var(--placa-verde) !important; border-color:var(--placa-verde) !important; fill:var(--placa-verde) !important;
}
.entry-content .elementor .elementor-icon svg{ fill:var(--placa-verde) !important; }

@media (max-width:767px){
  .entry-content .elementor .e-con{ --flex-wrap:wrap !important; }
  .entry-content .elementor .elementor-widget-text-editor,
  .entry-content .elementor .elementor-widget-text-editor *{ font-size:16px !important; }
}


/* =====================================================================
   PERFIL (Presidência, Diretores, Conselho Fiscal, Presidente de Honra)
   ===================================================================== */

.entry-content .perfil{
  --perfil-cor:var(--placa-azul);
  display:grid; grid-template-columns:260px 1fr; gap:40px; align-items:start;
  margin:0 0 56px; padding-bottom:56px; border-bottom:1px solid var(--border);
}
.entry-content .perfil--verde{ --perfil-cor:var(--placa-verde); }
.entry-content .perfil--marrom{ --perfil-cor:var(--placa-marrom); }
.entry-content .perfil:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0; }
.entry-content .perfil > *{ margin:0; }

.entry-content .perfil__foto{ margin:0; }
.entry-content .perfil__foto img{
  display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top center;
  border-radius:0;
  box-shadow:0 0 0 1px var(--border), 8px 8px 0 var(--perfil-cor);
}

.entry-content .perfil__texto > *{ margin:0 0 14px; }
.entry-content .perfil__texto > *:last-child{ margin-bottom:0; }

.entry-content .perfil__cargo{
  display:inline-block; padding:5px 12px;
  background:var(--perfil-cor); color:#fff;
  box-shadow:inset 0 0 0 2px var(--perfil-cor), inset 0 0 0 3.5px rgba(255,255,255,.9);
  font-size:11.5px !important; font-weight:700; letter-spacing:.14em; text-transform:uppercase; line-height:1.4;
}
.entry-content .perfil__nome{
  margin:4px 0 2px !important;
  font-size:30px; font-weight:800; line-height:1.15; letter-spacing:-.02em; color:var(--noite);
  text-transform:none;
}
/* Nome de guerra em destaque, como na tradição militar */
.entry-content .perfil__nome strong{ font-weight:inherit; box-shadow:inset 0 -5px 0 rgba(201,154,62,.55); }
.entry-content .perfil__posto{ margin-bottom:18px !important; font-size:16px; font-weight:600; color:var(--perfil-cor); }

/* Ficha: rótulo à esquerda, valor à direita, como placa de destinos */
.entry-content ul.is-style-ficha{ list-style:none; margin-top:22px; padding:0; border-top:2px solid var(--noite); max-width:440px; }
.entry-content ul.is-style-ficha li{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  margin:0; padding:10px 0; border-bottom:1px solid var(--border);
  font-size:15.5px; font-weight:600; color:var(--noite); line-height:1.4;
}
.entry-content ul.is-style-ficha li::marker{ content:""; }
.entry-content ul.is-style-ficha strong{
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#6B7690;
}

@media (max-width:700px){
  .entry-content .perfil{ grid-template-columns:1fr; gap:28px; }
  .entry-content .perfil__foto{ max-width:240px; }
  .entry-content .perfil__nome{ font-size:25px; }
}

/* Perfil renderizado pelo template (figure com img direta) */
.entry-content .perfil__foto img{ height:auto; }
.entry-content.perfis{ padding-top:8px; }


/* =====================================================================
   LINHA DO TEMPO DE PROMOÇÕES (Presidente de Honra)
   ===================================================================== */

.entry-content .carreira{ margin-top:8px; padding-top:48px; border-top:1px solid var(--border); }
.entry-content .carreira .placa-titulo{ margin:0 0 28px; font-size:22px; }

.entry-content .carreira__lista{
  list-style:none; margin:0; padding:0 0 0 0;
  position:relative;
}
/* trilho vertical */
.entry-content .carreira__lista::before{
  content:""; position:absolute; left:60px; top:10px; bottom:10px; width:2px;
  background:var(--border);
}
.entry-content .carreira__item{
  position:relative;
  display:grid; grid-template-columns:48px 1fr auto; align-items:baseline; gap:0 36px;
  margin:0; padding:11px 0;
}
.entry-content .carreira__item::marker{ content:""; }
/* marco no trilho */
.entry-content .carreira__item::before{
  content:""; position:absolute; left:56px; top:50%; width:10px; height:10px; transform:translateY(-50%);
  background:#fff; border:2px solid var(--placa-azul);
}
.entry-content .carreira__ano{ font-size:14px; font-weight:700; color:#6B7690; font-variant-numeric:tabular-nums; }
.entry-content .carreira__posto{ font-size:16.5px; font-weight:600; color:var(--noite); }
.entry-content .carreira__data{ font-size:13.5px; color:#6B7690; white-space:nowrap; }

/* posto atual em destaque */
.entry-content .carreira__item.is-atual::before{
  width:14px; height:14px; left:54px; background:var(--gold); border-color:var(--gold-dark);
}
.entry-content .carreira__item.is-atual .carreira__ano{ color:var(--gold-dark); }
.entry-content .carreira__item.is-atual .carreira__posto{ font-weight:800; font-size:18px; }

@media (max-width:600px){
  .entry-content .carreira__item{ grid-template-columns:44px 1fr; gap:0 30px; }
  .entry-content .carreira__lista::before{ left:56px; }
  .entry-content .carreira__item::before{ left:52px; }
  .entry-content .carreira__item.is-atual::before{ left:50px; }
  .entry-content .carreira__data{ grid-column:2; font-size:12.5px; }
}
.entry-content .perfil + .carreira{ margin-top:0; padding-top:0; border-top:0; }


/* =====================================================================
   DIRETORES: ORGANOGRAMA E COMPOSIÇÃO (page-diretores.php)
   ===================================================================== */

.entry-layout--largo{ max-width:1040px; }

/* ---------- Organograma ---------- */

.entry-content .organo{ margin-bottom:64px; }
.entry-content .organo .placa-titulo{ margin:0 0 32px; font-size:22px; }

.organo__mapa{
  --linha:#9AA6C0;
  display:flex; flex-direction:column; align-items:center;
  padding:36px 24px 32px; background:#fff; border:1px solid var(--border);
}

.organo__no{
  --c:var(--placa-verde);
  position:relative; z-index:1;
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  min-height:46px; padding:8px 20px;
  background:var(--c); color:#fff !important; text-decoration:none !important;
  box-shadow:inset 0 0 0 3px var(--c), inset 0 0 0 4.5px rgba(255,255,255,.9);
  font-size:15px; font-weight:700; letter-spacing:-.01em; line-height:1.2;
  transition:transform .2s ease, filter .2s ease;
}
.organo__no--azul{ --c:var(--placa-azul); }
.organo__no:hover{ filter:brightness(1.12); transform:translateY(-2px); }
.organo__no:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }

/* Tronco entre Presidente e Diretor Administrativo, com o Vice ao lado */
.organo__ramo{
  position:relative; width:2px; height:84px; background:var(--linha);
}
.organo__vice{
  position:absolute; top:50%; left:44px; transform:translateY(-50%);
  white-space:nowrap; min-height:40px; font-size:14px;
}
.organo__vice:hover{ transform:translateY(calc(-50% - 2px)); }
.organo__ramo::after{
  content:""; position:absolute; top:50%; left:0; width:44px; height:2px; background:var(--linha);
}

.organo__adm{ min-width:220px; }

/* Barramento das diretorias */
.organo__areas{
  list-style:none; margin:0; padding:30px 0 0; width:100%;
  display:grid; grid-template-columns:repeat(6, 1fr); gap:12px;
  position:relative;
}
.organo__areas::before{
  content:""; position:absolute; top:0; left:50%; width:2px; height:15px; margin-left:-1px; background:var(--linha);
}
.organo__areas::after{
  content:""; position:absolute; top:15px; left:calc((100% - 60px) / 12); right:calc((100% - 60px) / 12); height:2px; background:var(--linha);
}
.organo__areas li{ position:relative; margin:0; display:flex; }
.organo__areas li::before{
  content:""; position:absolute; top:-15px; left:50%; width:2px; height:15px; margin-left:-1px; background:var(--linha);
}
.organo__areas .organo__no{ flex:1; padding:8px 10px; font-size:14px; }

/* ---------- Composição ---------- */

.entry-content .composicao .placa-titulo{ margin:0 0 28px; font-size:22px; }
.composicao__grade{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; align-items:start; }

.diretoria{ background:#fff; border:1px solid var(--border); }
.diretoria--destaque{ grid-column:1 / -1; }

.entry-content .diretoria__titulo{ margin:0; font-size:16px; text-transform:none; letter-spacing:-.01em; }
.diretoria__titulo a{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 18px;
  background:var(--placa-verde); color:#fff !important; text-decoration:none !important;
  box-shadow:inset 0 0 0 3px var(--placa-verde), inset 0 0 0 4.5px rgba(255,255,255,.9);
  font-weight:700;
}
.diretoria__titulo a:hover .cd-seta{ transform:translateX(3px); }

.entry-content .diretoria__membros{ list-style:none; margin:0; padding:6px 18px 10px; }
.entry-content .diretoria__membros li{
  margin:0; padding:12px 0; border-bottom:1px solid var(--border);
  display:flex; flex-direction:column; gap:3px;
}
.entry-content .diretoria__membros li:last-child{ border-bottom:0; }
.entry-content .diretoria__membros li::marker{ content:""; }
.diretoria__funcao{
  font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--placa-verde);
}
.diretoria__nome{ font-size:16px; font-weight:500; line-height:1.4; color:var(--noite); }
.diretoria__nome strong{ font-weight:800; }
.diretoria__posto{
  text-decoration:none; border:0; cursor:default;
  font-size:13px; font-weight:700; color:#6B7690; margin-right:2px;
}

/* Administrativa ocupa a largura toda, membros lado a lado */
.diretoria--destaque .diretoria__membros{ display:grid; grid-template-columns:1fr 1fr; column-gap:28px; }
.diretoria--destaque .diretoria__membros li{ border-bottom:0; }

/* ---------- Responsivo ---------- */

@media (max-width:860px){
  .organo__areas{ grid-template-columns:repeat(3, 1fr); row-gap:26px; }
  .organo__areas::after{ left:calc((100% - 24px) / 6); right:calc((100% - 24px) / 6); }
  .organo__areas li:nth-child(n+4)::before{ display:none; }
}
@media (max-width:640px){
  .organo__mapa{ padding:28px 16px 24px; }
  .organo__vice{ left:24px; font-size:13px; padding:6px 12px; }
  .organo__ramo::after{ width:24px; }
  .organo__areas{ grid-template-columns:1fr 1fr; gap:10px; padding-top:20px; }
  .organo__areas::before, .organo__areas::after, .organo__areas li::before{ display:none; }
  .composicao__grade{ grid-template-columns:1fr; }
  .diretoria--destaque .diretoria__membros{ grid-template-columns:1fr; }
  .diretoria--destaque .diretoria__membros li{ border-bottom:1px solid var(--border); }
  .diretoria--destaque .diretoria__membros li:last-child{ border-bottom:0; }
}
@media (prefers-reduced-motion:reduce){
  .organo__no{ transition:none; }
}
