:root{
--secondary:#172A3A;
--ink:#2b2b30;
--muted:#5f6672;
--bg-1:#F5F5F5;
--bg-2:#E5E1D8;
--card:#ffffff;
--card-border:#eaeaea;
--shadow:0 20px 46px rgba(20,10,38,.10);
--wrap-w:1100px;
--wrap-pct:92%;
--header-h:64px;
}
*{box-sizing:border-box}
html,body{height:100%}
html, body{width:100%;overflow-x:hidden}
body{
margin:0;
font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
color:var(--ink);
background:
radial-gradient(1200px 520px at 50% -160px, var(--bg-2), transparent 70%),
linear-gradient(180deg, var(--bg-1), #ffffff 30%, var(--bg-1) 100%);
}
.container{
max-width:var(--wrap-w);
width:var(--wrap-pct);
margin-left:auto!important;
margin-right:auto!important;
}
.muted{opacity:.9}
.site-header{
position:sticky;
top:0;
z-index:1300;
background:#ffffffE6;
backdrop-filter:saturate(1.2) blur(6px);
border-bottom:1px solid #ececec;
}
.nav{
display:flex;
align-items:center;
justify-content:space-between;
padding:12px 0;
position:relative;
}

.brand{
display:flex;
align-items:center;
gap:10px;
text-decoration:none;
}
.brand-badge{
background:linear-gradient(180deg,var(--brand-2),var(--brand));
color:#fff;
border-radius:10px;
padding:6px 10px;
font-weight:800;
}
.brand-name{font-weight:700;color:#1f2226}
.nav-links{display:flex;gap:16px;align-items:center}
.nav-link{
padding:8px 12px;
border-radius:10px;
color:#2d2f33;
text-decoration:none;
font-weight:500;
transition:background .18s,color .18s;
}
.nav-link:hover{background:var(--bg-2);color:#14191e}
.nav-link.is-active,
.nav-link--dropdown.is-active{
color:#fff;
background:linear-gradient(180deg,var(--brand-2),var(--brand));
box-shadow:0 10px 24px rgba(68,13,15,.28);
}
.btn{
display:inline-flex;
align-items:center;
gap:8px;
border-radius:12px;
padding:10px 14px;
text-decoration:none;
font-weight:700;
transition:transform .18s, box-shadow .18s;
}
.btn--small{padding:8px 12px}
.btn--primary{
background:linear-gradient(180deg,var(--brand-2),var(--brand));
color:#fff;
box-shadow:0 10px 24px rgba(68,13,15,.28);
}
.nav-toggle{
display:none;border:0;background:transparent;font-size:24px;
position:relative; z-index:1500;
}
.nav-dropdown{position:relative}
.nav-link--dropdown{display:flex;align-items:center;gap:4px}
.dropdown-menu{
display:none;
position:absolute;
top:110%;
left:0;
background:#fff;
border:1px solid #eee;
border-radius:12px;
box-shadow:0 16px 40px rgba(0,0,0,.08);
padding:8px;
min-width:220px;
}
.nav-dropdown.open .dropdown-menu{display:block}
.dropdown-item{
display:block;
padding:10px 12px;
border-radius:8px;
color:#2b2b30;
text-decoration:none;
}
.dropdown-item:hover
.hero{padding:54px 0 22px}
.title{
margin:0 0 6px;
color:var(--brand);
font-weight:800;
letter-spacing:-.02em;
font-size:clamp(38px,6vw,64px);
}
.lead{margin:0;color:#3f5468;font-weight:500}
.filters{padding:20px 0}
.filter-bar{
display:grid;
grid-template-columns:1fr auto;
gap:18px;
background:#fff;
border:1px solid #eee;
border-radius:16px;
box-shadow:var(--shadow);
padding:16px;
align-items:center;
}
.search{
display:flex;
align-items:center;
gap:10px;
padding:10px 12px;
border:1px solid #e6e6e6;
border-radius:10px;
min-width:0;
}
.search i{color:#8b8b8b;font-size:18px}
.search input{
border:0;
outline:0;
width:100%;
font:inherit;
color:var(--ink);
min-width:0;
}
.tabs{display:flex;gap:12px}
.tab{
min-width:140px;
padding:12px 18px;
border-radius:10px;
font-weight:700;
cursor:pointer;
background:#fff;
border:1px solid #e6e3df;
color:var(--brand);
letter-spacing:.1px;
}
.tab.is-active{
color:#fff;
border-color:transparent;
background:linear-gradient(180deg,var(--brand-2),var(--brand));
box-shadow:0 10px 24px rgba(68,13,15,.2);
}
#lista{display:grid;gap:18px;margin:6px 0 42px}
.proc-card{
display:grid;
grid-template-columns:1fr auto;
gap:14px;
background:var(--card);
border:1px solid var(--card-border);
border-radius:16px;
box-shadow:var(--shadow);
padding:22px;
align-items:center;
}
.proc-main{display:flex;gap:14px;align-items:center}
.proc-icon{
display:grid;
place-items:center;
width:48px;
height:48px;
flex:0 0 48px;
border-radius:12px;
background:#e9edf0;
color:var(--secondary);
font-size:24px;
box-shadow:inset 0 0 0 1px rgba(23,42,58,.08);
}
.proc-title{margin:0;font-size:20px;font-weight:800;color:#243041}
.proc-num{margin:2px 0 0;color:#6b7381}
.proc-desc{margin:12px 0 0;color:#4b5967}
.proc-meta{margin-top:10px;display:flex;align-items:center;gap:8px;color:#6d7785}
.proc-meta i{opacity:.9}
.proc-right{display:flex;align-items:flex-start;gap:10px;margin-left:auto;justify-content:flex-end}
.tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.tag{
display:inline-flex;
align-items:center;
gap:6px;
padding:8px 12px;
border-radius:999px;
font-weight:700;
background:#f7e3e2;
color:var(--brand);
}
.tag--green{background:#dff7e9;color:#2f9d62}
.tag--peach{background:#f7e3e2;color:var(--brand)}
.details{
display:inline-flex;
align-items:center;
gap:8px;
padding:0 8px;
font-weight:700;
color:var(--brand-2);
text-decoration:none;
}
.details i{font-size:18px}
.site-footer{
padding:40px 0 44px;
background:var(--secondary);
color:#fff;
margin-top:18px;
}
.footer__grid{
display:grid;
grid-template-columns:1.3fr .9fr 1.2fr .8fr;
gap:22px;
margin:0;
align-items:flex-start;
}
.footer__title{margin:0 0 10px}
.footer__list{list-style:none;margin:0;padding:0}
.footer__list li{margin:6px 0}
.footer__list a{color:#fff;text-decoration:none}
.footer__list a:hover
.footer__copy{margin-top:18px;margin-bottom:0;text-align:center;opacity:.9}
.brand--invert .brand-badge{background:linear-gradient(180deg,#ffffff,var(--bg-2));color:var(--brand)}
.brand--invert .brand-name{color:#fff}
@media (max-width:1024px){
.filter-bar{grid-template-columns:1fr}
.proc-card{grid-template-columns:1fr;align-items:flex-start}
.footer__grid{grid-template-columns:repeat(2,1fr)}
.proc-right{justify-content:flex-start;flex-wrap:wrap;gap:10px}
.tags{justify-content:flex-start}
}

@media (max-width: 780px){
  .nav{
    position: relative;
  }

  .nav__toggle{
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(10,12,28,.08);
    transition: transform .18s ease, box-shadow .18s ease;
    cursor: pointer;
    font-size: 24px;
  }
  .nav__toggle:hover{
    transform: translateY(-1px);
  }

  .nav__list{
    position: absolute;
    top: 80px;             /* mesma altura do header */
    right: 0;
    display: none;         /* fechado por padrão */
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    width: min(92vw, 320px);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px) saturate(1.2);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 14px;
    box-shadow: 0 22px 48px rgba(10,12,28,.22);
    transform-origin: top right;
    animation: menu-pop .22s ease-out;
    margin-right: 0;
  }

  .nav.is-open .nav__list{
    display: flex;         /* aqui que o menu abre */
  }

  .nav__list .nav-link{
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    background: transparent;
    font-size: 15px;
  }
  .nav__list .nav-link:hover{
    background: var(--surface-2);
  }
  .nav__list .nav-link.is-active{
    background: linear-gradient(180deg, var(--brand-2), var(--brand));
    color: #fff;
  }

  .header__btn{
    display: none !important; /* botão some do header no mobile */
  }

  .nav.is-open .btn--primary{
    display: inline-block !important; /* botão aparece dentro do menu */
    margin-top: 10px;
    text-align: center;
    width: 100%;
    order: 999;
    font-size: 15px;
  }

  @keyframes menu-pop{
    from{
      opacity: 0;
      transform: scale(.98) translateY(-6px);
    }
    to{
      opacity: 1;
      transform: none;
    }
  }
}


@keyframes menu-pop{
from{ opacity:0; transform:translate(-50%,-6px) scale(.98); }
to { opacity:1; transform:translate(-50%,0) scale(1); }
}
@keyframes fadeIn{
from{opacity:0}
to {opacity:1}
}
.view-detalhe .hero{display:none!important}
.view-detalhe .filters{display:none!important}
.view-detalhe #lista{display:none!important}
.detalhe-inline[hidden]{display:none}
.detalhe-inline{background:transparent;border:0;padding:0 0 40px}
.detalhe-back{display:inline-flex;align-items:center;gap:6px;margin:18px 0 10px;color:#7b4b2e;text-decoration:none;font-weight:700}
.detalhe-back:hover
.detalhe-title{margin:0;color:#440D0F;font-weight:800;letter-spacing:-.02em;font-size:clamp(28px,5vw,44px)}
.detalhe-sub{margin:4px 0 18px;color:#8a5a3f;font-weight:600}
.detalhe-content{display:grid;gap:16px}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.detalhe-inline .detalhe-title{opacity:0;transform:translateY(18px)}
.detalhe-inline .detalhe-sub{opacity:0;transform:translateY(18px)}
.detalhe-inline.is-open .detalhe-title{animation:fadeUp .45s ease forwards}
.detalhe-inline.is-open .detalhe-sub{animation:fadeUp .45s ease .08s forwards}
.det-card{background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 20px 46px rgba(20,10,38,.08);padding:16px 18px;opacity:0;transform:translateY(26px)}
.detalhe-inline.is-open .det-card{animation:fadeUp .55s ease forwards}
.detalhe-inline.is-open .det-card:nth-of-type(1){animation-delay:.12s}
.detalhe-inline.is-open .det-card:nth-of-type(2){animation-delay:.20s}
.detalhe-inline.is-open .det-card:nth-of-type(3){animation-delay:.28s}
.detalhe-inline.is-open .det-card:nth-of-type(4){animation-delay:.36s}
.det-card h3{margin:0 0 12px;color:#5a1418;font-size:16px}
.det-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.det-kv b{display:block;color:#6b7280;font-size:12px;font-weight:700}
.det-kv span{color:#1f2937}
.det-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.det-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:10px;font-weight:700;text-decoration:none;border:1px solid #e7d8cd;color:#7b3d22;background:#fff}
.det-btn--primary{color:#fff;background:linear-gradient(180deg,#5a1418,#440D0F);border-color:transparent;box-shadow:0 10px 24px rgba(68,13,15,.22)}
.det-list{display:grid;gap:10px}
.det-item{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid #eef1f4;border-radius:10px;background:#fff}
.det-ico{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#f3f5f7;color:#172A3A}
@media (max-width:1024px){
.det-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
.det-grid{grid-template-columns:1fr}
.det-actions{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
.detalhe-inline .detalhe-title{opacity:1;transform:none;animation:none}
.detalhe-inline .detalhe-sub{opacity:1;transform:none;animation:none}
.det-card{opacity:1;transform:none;animation:none!important}
}
.detalhe-overlay{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.35);z-index:70;backdrop-filter:blur(2px)}
.detalhe-overlay.is-open{display:grid}
.detalhe-card{width:min(1000px,94vw);max-height:88vh;overflow:auto;background:#111;background-image:radial-gradient(1200px 400px at 50% -120px,rgba(255,255,255,.06),transparent),linear-gradient(180deg,#1a120d,#0e0d0c);border:1px solid rgba(255,255,255,.06);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.45);padding:18px 18px 14px;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .35s ease,transform .35s ease}
.detalhe-overlay.is-open .detalhe-card{opacity:1;transform:none}
.detalhe-close{position:sticky;top:0;right:0;float:right;border:0;background:rgba(255,255,255,.06);color:#fff;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;cursor:pointer}
.detalhe-close:hover{background:rgba(255,255,255,.12)}
.det-head{padding:6px 6px 2px 6px}
.det-path{color:#a3a3a3;font-size:13px;margin:2px 0 4px}
#detalheTitle{margin:0;font-size:clamp(24px,3.4vw,36px);color:#ffede0;letter-spacing:.3px}
.det-sub{color:#ffb996;margin:2px 0 10px;font-weight:600}
.det-block{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;margin:12px 0;color:#f2f2f2}
.det-block h3{margin:0 0 12px;font-size:16px;color:#ffd7c2}
.det-grid.darken{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.det-kv.darken b{display:block;color:#cfcfcf;font-weight:700}
.det-kv.darken span{color:#c3c7cd}
.det-actions.darken{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.det-btn--ghost{color:#ffbd9f;background:transparent}
.det-list.darken{display:grid;gap:10px}
.det-item.darken{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.det-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fbd1bf;background:rgba(255,255,255,.06)}
.is-hidden{display:none!important}
@media (max-width:480px){
.filter-bar{grid-template-columns:1fr;gap:12px;padding:12px}
.tabs{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.tab{flex:0 0 auto;min-width:120px}
}

/* === Padronização NAV + Logos (mesmo visual das outras páginas) === */

/* header */
.header__wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:80px; gap:10px;
}
.site-header{
  position:sticky; top:0; z-index:1300;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(1.2) blur(6px);
  border-bottom:1px solid #ececec;
}

/* logo no header */
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.brand__logo{ display:flex; align-items:center; height:50px; }
.brand__logo img{ height:100%; width:auto; max-height:50px; object-fit:contain; }

/* nav padrão */
.nav{ display:flex; align-items:center; flex:1; justify-content:flex-end; gap:8px; }
.nav__toggle{ display:none; border:0; background:transparent; font-size:24px; cursor:pointer; }
.nav__list{
  display:flex; gap:8px; list-style:none; margin:0; padding:0; align-items:center; margin-right:10px;
}
.nav-link{
  color:#2d2f33; text-decoration:none; font-weight:500;
  padding:6px 10px; border-radius:8px; transition:background .18s,color .18s;
  white-space:nowrap; font-size:14px;
}
.nav-link:hover{ background:var(--bg-2); color:#14191e; }
.nav-link.is-active{ color:#fff; background:linear-gradient(180deg, var(--brand-2), var(--brand)); }
.has-caret{ display:flex; align-items:center; gap:4px; }

/* botão header */
.header__btn{ white-space:nowrap; flex-shrink:0; }
.btn{ display:inline-block; padding:10px 14px; border-radius:10px; text-decoration:none; font-weight:700; }
.btn--primary{ color:#fff; background:linear-gradient(180deg, var(--brand-2), var(--brand)); box-shadow:0 10px 24px rgba(68,13,15,.28); }

/* mobile menu igual às outras páginas */
@media (max-width: 780px){
  .nav{ position:relative; }
  .nav__toggle{
    display:inline-grid; place-items:center; width:40px; height:40px; border:0; background:#fff; border-radius:12px;
    box-shadow:0 8px 18px rgba(10,12,28,.08); transition:transform .18s ease, box-shadow .18s ease;
  }
  .nav__toggle:hover{ transform:translateY(-1px); }
  .nav__list{
    position:absolute; top:80px; right:0; display:none; flex-direction:column; gap:10px; padding:12px; width:min(92vw, 320px);
    background:rgba(255,255,255,.92); backdrop-filter:blur(8px) saturate(1.2); border:1px solid rgba(0,0,0,.06); border-radius:14px;
    box-shadow:0 22px 48px rgba(10,12,28,.22); transform-origin:top right; animation:menu-pop .22s ease-out; margin-right:0;
  }
  .nav.is-open .nav__list{ display:flex; }
  .nav__list .nav-link{ display:block; padding:10px 12px; border-radius:10px; background:transparent; font-size:15px; }
  .nav__list .nav-link:hover{ background:var(--bg-2); }
  .header__btn{ display:none !important; }
  .nav.is-open .btn--primary{ display:inline-block !important; margin-top:10px; text-align:center; width:100%; order:999; font-size:15px; }
  @keyframes menu-pop{ from{opacity:0; transform:scale(.98) translateY(-6px)} to{opacity:1; transform:none} }
}

/* logo no footer (invertida) */
.brand--invert .brand__logo{ height:45px; }
.brand--invert .brand__logo img{ max-height:45px; }

/* esconder marca antiga (badge/texto) nesta página */
.brand-badge, .brand-name{ display:none !important; }

/* ===== Aumentar só a logo da NAV (não mexe no footer) ===== */
:root{
  --nav-logo: 84px;    /* ajuste o tamanho que quiser */
  --header-h: 88px;    /* altura da barra para acomodar a logo maior */
}

.site-header .brand__logo{
  height: var(--nav-logo);
}
.site-header .brand__logo img{
  max-height: var(--nav-logo);
}

/* mantém a barra alinhada e o menu mobile no lugar */
.site-header .header__wrap{
  height: var(--header-h);
}
@media (max-width: 780px){
  .nav__list{ top: var(--header-h); }
}

/* ===== Aumentar só a logo da NAV (não mexe no footer) ===== */
:root{
  --nav-logo: 84px;    /* ajuste o tamanho que quiser */
  --header-h: 88px;    /* altura da barra para acomodar a logo maior */
}

.site-header .brand__logo{
  height: var(--nav-logo);
}
.site-header .brand__logo img{
  max-height: var(--nav-logo);
}

/* mantém a barra alinhada e o menu mobile no lugar */
.site-header .header__wrap{
  height: var(--header-h);
}
@media (max-width: 780px){
  .nav__list{ top: var(--header-h); }
}
/* =========================================================
   Modal de Solicitação — estilos para:
   #modalSolicitacao.modal-overlay > .modal-card
   ========================================================= */

/* overlay */
#modalSolicitacao.modal-overlay[hidden] { display: none !important; }
#modalSolicitacao.modal-overlay{
  position: fixed;
  inset: 0;
  z-index: 3000;                 /* acima do header */
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  padding: 20px;                 /* respiro nas bordas pequenas */
  animation: modal-fade .18s ease both;
}

/* card */
#modalSolicitacao .modal-card{
  width: min(920px, 96vw);
  max-height: 88vh;
  overflow: auto;
  background: var(--card, #fff);
  border: 1px solid var(--card-border, #ececec);
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0,0,0,.25);
  animation: modal-pop .22s ease-out both;
}

/* cabeçalho */
#modalSolicitacao .modal-head{
  position: sticky; top: 0;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  background: linear-gradient(180deg,#ffffff,#fafafa);
  border-bottom: 1px solid var(--card-border, #ececec);
  border-top-left-radius: 16px; border-top-right-radius: 16px;
}
#modalSolicitacao .modal-head h2{
  margin: 0;
  font-size: clamp(18px, 2.6vw, 22px);
  font-weight: 800;
  color: var(--brand, #440D0F);
  letter-spacing: .2px;
}
#modalSolicitacao .modal-close{
  display: inline-grid; place-items: center;
  width: 36px; height: 36px;
  border: 0; border-radius: 10px;
  background: #fff; color: var(--ink, #2b2b30);
  box-shadow: 0 8px 16px rgba(0,0,0,.08);
  cursor: pointer;
}
#modalSolicitacao .modal-close:hover{ background:#f6f6f6; }

/* corpo */
#modalSolicitacao .modal-body{ padding: 18px; }

/* grid do formulário */
#modalSolicitacao .grid-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 14px;
}
#modalSolicitacao .field{ display: grid; gap: 8px; }
#modalSolicitacao .field.full{ grid-column: 1 / -1; }
#modalSolicitacao .field label{
  font-weight: 700;
  font-size: 13px;
  color: #455262;
}

/* inputs */
#modalSolicitacao input[type="text"],
#modalSolicitacao input[type="number"],
#modalSolicitacao input[type="email"],
#modalSolicitacao select,
#modalSolicitacao textarea{
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--card-border, #e6e6e6);
  border-radius: 12px;
  background: #fff;
  color: var(--ink, #2b2b30);
  font: inherit;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#modalSolicitacao textarea{
  min-height: 120px;
  resize: vertical;
}
#modalSolicitacao input:focus,
#modalSolicitacao select:focus,
#modalSolicitacao textarea:focus{
  border-color: color-mix(in srgb, var(--brand, #440D0F) 50%, #ffffff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand, #440D0F) 18%, transparent);
}

/* dica/legenda */
#modalSolicitacao #solicHint{
  margin-top: 8px;
  color: var(--muted, #5f6672);
  font-size: 13px;
}

/* upload */
#modalSolicitacao input[type="file"]{
  display: inline-block;
  padding: 10px;
  background: #fff;
  border: 1px dashed #d9d9d9;
  border-radius: 12px;
}
#modalSolicitacao .files-list{
  margin: 8px 0 0;
  padding-left: 18px;
  color: #495767;
}
#modalSolicitacao .files-list li{
  margin: 2px 0;
  font-size: 13px;
}

/* botão enviar (full width) */
#modalSolicitacao .btn-primary{
  display: inline-flex;
  align-items: center; justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 800;
  border: 0;
  cursor: pointer;
  width: 100%;
  color: #fff;
  background: linear-gradient(180deg, var(--brand-2, #5a1418), var(--brand, #440D0F));
  box-shadow: 0 10px 24px rgba(68,13,15,.22);
}
#modalSolicitacao .btn-primary[disabled]{ opacity:.7; cursor:not-allowed; }

/* animações */
@keyframes modal-fade{ from{opacity:0} to{opacity:1} }
@keyframes modal-pop{ from{opacity:0; transform:translateY(8px) scale(.98)} to{opacity:1; transform:none} }
.spin{ animation: spin 1s linear infinite; }
@keyframes spin{ to { transform: rotate(360deg); } }

/* responsivo */
@media (max-width: 860px){
  #modalSolicitacao .grid-2{ grid-template-columns: 1fr; }
}

/* ===== Info Gerais (mais organizado) ===== */
.det-card h3{
  margin: 0 0 14px;
  color: #5a1418;
  font-size: 16px;
}

/* ===== Bloco de estatísticas (“Informações Gerais”) ===== */
.det-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 10px 0 18px;
}

.det-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f5f8fb;
  border: 1px solid rgba(23,42,58,.12);
  border-radius: 14px;
  padding: 16px 8px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(23,42,58,.06);
  transition: all .2s ease;
}

.det-stat:hover {
  background: #e8f0f7;
  border-color: rgba(23,42,58,.2);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(23,42,58,.1);
}

.det-stat b {
  font-size: 22px;
  color: var(--brand);
  font-weight: 800;
  margin-bottom: 3px;
}

.det-stat span {
  font-size: 13px;
  font-weight: 600;
  color: #4b5563;
}

/* ===== Grade das informações gerais (Empresa, Tipo, etc) ===== */
.det-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.det-kv {
  padding: 10px 12px;
  border: 1px solid #eef1f4;
  border-radius: 10px;
  background: #fff;
}

.det-kv b {
  display: block;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 2px;
}

.det-kv span {
  color: #1f2937;
  font-weight: 600;
}

/* ===== Responsividade ===== */
@media (max-width: 1024px) {
  .det-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .det-stats { grid-template-columns: repeat(2, 1fr); }
  .det-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .det-grid { grid-template-columns: 1fr; }
}


/* ===== Lista (assembleias/docs/credores) com ação à direita ===== */
.det-list{ display:grid; gap:10px; }

.det-item{
  display:grid;
  grid-template-columns: 32px 1fr auto; /* ícone | conteúdo | ação */
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #eef1f4;
  border-radius:10px;
  background:#fff;
}

.det-actions--right{
  display:flex;
  align-items:center;
  gap:10px;
}

/* link como "botão" */
.det-link{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid #e7d8cd;
  text-decoration:none;
  font-weight:700;
  color:#7b3d22;
  background:#fff;
}
.det-link:hover{
  border-color:#d8c6b9;
  background:#fff8f6;
}

/* link secundário simples (quando ficar abaixo do texto em telas pequenas) */
.det-item a:not(.det-link){ color:#7b4b2e; text-decoration:underline; }

/* quebra em telas pequenas: ação vai para baixo, alinhada à esquerda */
@media (max-width: 560px){
  .det-item{ grid-template-columns: 28px 1fr; align-items:start; }
  .det-actions--right{ grid-column: 2 / -1; justify-content:flex-start; }
}


/* Botão flutuante do WhatsApp (global) */
.whatsapp-fab{
  position: fixed;
  right: 18px;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px)); /* respeita safe area no iOS */
  width: 56px; height: 56px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: #25D366; color: #fff;
  text-decoration: none;
  font-size: 28px; line-height: 1;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  z-index: 9999;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.whatsapp-fab:hover{ transform: translateY(-2px); box-shadow: 0 16px 36px rgba(0,0,0,.28); }
.whatsapp-fab:active{ transform: translateY(0); }

/* Se tiver outro botão flutuante (ex.: ajuda '?'), suba um pouco este aqui:  */
@media (min-width: 0){
  /* descomente se precisar empilhar acima de outro FAB
  .whatsapp-fab{ bottom: 86px; }
  */
}

/* Tamanhos em mobile */
@media (max-width: 780px){
  .whatsapp-fab{ right: 14px; width: 54px; height: 54px; font-size: 26px; }
}

/* ==== TROCA DO VERMELHO PARA AZUL (OVERRIDE GLOBAL) ==== */
:root{
  /* Novo tema azul (usa o mesmo “tom” do --secondary) */
  --brand:   #172A3A;   /* principal */
  --brand-2: #1e4a66;   /* variação p/ gradiente */
  --brand-3: #256086;   /* variação p/ destaque */

  /* Gradiente da CTA em azul */
  --grad-cta: linear-gradient(180deg, var(--brand-2) 0%, var(--brand) 55%, #0f1f2b 100%);
}

/* Botões e estados que tinham RGBA fixo em vermelho */
.btn--primary{
  /* sombra azulada */
  box-shadow: 0 10px 24px rgba(23,42,58,.28);
}
.btn--ghost{
  color: var(--brand);
  /* borda azulada com alpha (antes usava o vermelho) */
  border: 1px solid rgba(23,42,58,.28);
}

/* Ativo no menu mobile já usa var(--brand), então nada a fazer. */

/* Hovers que usavam a borda “vermelha” translúcida */
.card-feature:hover{
  border-color: rgba(23,42,58,.22);
  box-shadow: 0 18px 44px rgba(23,42,58,.15);
}
.process-item:hover{
  border-color: rgba(23,42,58,.22);
  box-shadow: 0 16px 36px rgba(23,42,58,.12);
}

/* Ícones dos cards: fundo mais neutro azulado + ícone na cor da brand */
.card-feature__icon{
  background: #e6edf5; /* antes: #f0e9e4 */
  color: var(--brand);
}

/* Ações/links já pegam var(--brand); mantemos para garantir consistência */
.pi__action{ color: var(--brand); }

/* No menu mobile (ativo), manter o gradiente em azul */
@media (max-width: 780px){
  .nav__list .nav-link.is-active{
    background: linear-gradient(180deg, var(--brand-2), var(--brand));
    color:#fff;
  }
}

.foot {
  margin-top: 20px;
  text-align: center;
  color: var(--muted);
}

.developer-credit {
  text-align: center;
  margin-top: 10px;
}

.developer-credit small {
  color: #ffffff;
  font-size: 0.85rem;
  opacity: 0.9;
}

.developer-credit a {
  color: var(--accent);
  font-weight: 700;
  text-decoration: none;
}

.developer-credit a:hover {
  text-decoration: underline;
  color: var(--accent-2);
}

/* === DETALHES: tema azul para títulos e botões === */
.detalhe-back{ color: var(--brand); }
.detalhe-title{ color: var(--brand); }
.detalhe-sub{ color: color-mix(in srgb, var(--brand) 72%, #ffffff); }

.det-card h3{ color: var(--brand); }

.det-btn{
  color: var(--brand);
  border: 1px solid rgba(23,42,58,.28);
  background: #fff;
}
.det-btn--primary{
  color:#fff;
  background: var(--grad-cta);                 /* usa o gradiente azul já definido */
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(23,42,58,.22);
}

/* ícones e links dos cartões em azul */
.det-ico{
  background:#e6edf5;                          /* fundo azulado leve */
  color: var(--brand);
}
.det-link{
  color: var(--brand);
  border-color: rgba(23,42,58,.28);
}
.det-link:hover{
  border-color: rgba(23,42,58,.36);
  background:#eef4fa;
}

/* títulos e badges que tinham marrom/vermelho */
.det-sub, .det-block h3, .det-icon, .det-kv b { color: var(--brand); }
