/* ======================================================
   BLOCO 01 — MENU MOBILE | ACESSIBILIDADE E ESTRUTURA
   ====================================================== */
@media (max-width:1099px) {
  body.site-mobile-menu-open { overflow:hidden; overscroll-behavior:none; }
  #site-mobile-shade {
    position:fixed; inset:0; z-index:96;
    background:rgba(7,23,35,.55); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  }
  #site-mobile-shade[hidden], #site-menu[hidden] { display:none!important; }
  #site-menu.header-mobile-panel {
    position:fixed; inset:0 0 0 auto; top:0; left:auto; right:0; bottom:0;
    z-index:97; display:flex; flex-direction:column;
    width:min(420px,100%); height:100vh; height:100dvh; max-height:none;
    padding:0; margin:0; border:0; border-radius:22px 0 0 22px;
    overflow:hidden; background:#f5fafb;
    -webkit-backdrop-filter:none; backdrop-filter:none;
    box-shadow:-18px 0 65px rgba(4,25,36,.28);
    color:#14333f;
  }
  #site-menu .site-menu-drawer-head {
    display:flex; justify-content:space-between; align-items:center; gap:10px;
    min-height:86px; padding:calc(16px + env(safe-area-inset-top)) 22px 16px;
    background:linear-gradient(115deg,#fff,#e9f7f7);
    border-bottom:1px solid #dcebec;
  }
  .site-menu-drawer-brand {display:flex; align-items:center; gap:11px; min-width:0;}
  .site-menu-drawer-brand>span:last-child {min-width:0;}
  .site-menu-drawer-brand strong {display:block;max-width:215px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.25;letter-spacing:-.035em;font-weight:850;}
  .site-menu-drawer-brand small {display:block;color:#688b97;font-size:11px;margin-top:3px;}
  .site-menu-drawer-symbol {width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;background:linear-gradient(145deg,var(--teal,#087d82),#07576c);color:white;border-radius:14px;box-shadow:0 8px 15px rgba(7,104,117,.18);}
  .site-menu-drawer-symbol img {max-width:29px;max-height:29px;object-fit:contain;}
  .site-menu-drawer-logo {max-width:min(220px,58vw);max-height:48px;width:auto;object-fit:contain;}
  #site-menu .site-menu-drawer-close {border:1px solid #dce9eb;display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;background:#fff;color:#1a4651;border-radius:12px;font-size:18px;}
  #site-menu .site-menu-drawer-content {flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 20px 25px;scrollbar-width:thin;}
  .site-menu-drawer-kicker {font-size:10px;font-weight:900;letter-spacing:.15em;color:#608b98;margin:0 0 12px;}
  .site-menu-section-title {margin-top:26px;}
  .site-menu-mainlinks {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .site-menu-mainlinks a {display:flex;align-items:center;gap:10px;min-height:62px;min-width:0;padding:12px;border:1px solid #dbe9ed;background:#fff;border-radius:15px;font-size:12px;font-weight:800;color:#1b4350;box-shadow:0 6px 20px rgba(22,82,94,.035);}
  .site-menu-mainlinks a>:is(i,svg):first-child {display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:#e5f5f2;color:var(--teal,#087c82);font-size:13px;}
  .site-menu-mainlinks a span {min-width:0;line-height:1.35;}
  .site-menu-mainlinks .site-menu-small-arrow {font-size:9px;margin-left:auto;color:#779aa4;}
  .site-menu-accordion {margin-top:9px;border:1px solid #dce9eb;border-radius:15px;background:#fff;overflow:hidden;}
  .site-menu-accordion summary {list-style:none;min-height:56px;display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;font-size:13px;font-weight:800;color:#1b4350;}
  .site-menu-accordion summary::-webkit-details-marker {display:none;}
  .site-menu-accordion summary>span:first-child {display:flex;align-items:center;gap:11px;flex:1;}
  .site-menu-accordion summary>span:first-child :is(i,svg) {color:var(--teal,#087d82);font-size:15px;width:22px;text-align:center;}
  .site-menu-count {font-size:10px;border-radius:999px;background:#e8f3f5;color:#356a78;padding:4px 8px;font-weight:850;}
  .site-menu-chevron {color:#6b95a0;font-size:10px;transition:transform .2s ease;}
  .site-menu-accordion[open] .site-menu-chevron {transform:rotate(180deg);}
  .site-menu-accordion-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 11px 12px;border-top:1px solid #edf3f4;padding-top:12px;}
  .site-menu-accordion-links a {min-height:51px;display:flex;align-items:center;gap:8px;padding:7px 9px;min-width:0;border-radius:11px;background:#f2f9f8;font-size:11px;font-weight:750;color:#245360;}
  .site-menu-accordion-links a>span:nth-child(2) {min-width:0;overflow-wrap:anywhere;}
  .site-menu-accordion-links a>:is(i,svg):last-child {font-size:9px;margin-left:auto;color:#75a4a6;}
  .site-menu-accordion-links a small {display:block;color:#6b8a94;font-size:10px;margin-top:2px;font-weight:500;}
  .site-menu-cat-icon {width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border-radius:9px;background:#d8f3ed;color:var(--teal,#087d82);}
  .site-menu-cat-icon .icone-catalogo-png {width:16px;height:16px;}
  .site-menu-empty {grid-column:1/-1;color:#78959f;font-size:12px;padding:7px;}
  .site-menu-secondary-links {display:grid;gap:7px;}
  .site-menu-secondary-links a {display:flex;align-items:center;gap:12px;min-height:43px;padding:9px 12px;border-radius:12px;color:#214b59;font-size:12px;font-weight:750;}
  .site-menu-secondary-links a>:is(i,svg):first-child {color:#0a858b;width:18px;text-align:center;}
  .site-menu-secondary-links a>:is(i,svg):last-child {color:#7c9da6;margin-left:auto;font-size:10px;}
  .site-menu-custom-links {display:flex;gap:7px;flex-wrap:wrap;margin-top:18px;border-top:1px solid #dce9eb;padding-top:18px;}
  .site-menu-custom-links p {flex:0 0 100%;margin-bottom:5px;}
  .site-menu-custom-links a {padding:9px 11px;border-radius:999px;background:#e7f3f4;color:#276977;font-weight:750;font-size:11px;}
  #site-menu .site-menu-drawer-bottom {flex:none;padding:15px 20px calc(15px + env(safe-area-inset-bottom));border-top:1px solid #d9e8ea;background:#fff;box-shadow:0 -10px 22px rgba(22,75,86,.04);}
  .site-menu-drawer-bottom span {display:block;font-size:11px;color:#62818c;text-align:center;margin-bottom:10px;}
  #site-menu .site-menu-drawer-bottom a {display:flex;align-items:center;justify-content:center;gap:10px;min-height:47px;border-radius:14px;background:linear-gradient(120deg,var(--teal,#087d82),var(--teal-dark,#07576c));color:#fff;font-size:12px;font-weight:850;text-align:center;padding:9px 15px;}
  #site-menu .site-menu-drawer-bottom a :is(i,svg) {font-size:18px;}
  #site-menu a:hover,#site-menu a:focus-visible {filter:brightness(.97);}
  #site-menu :is(a,button,summary):focus-visible,.site-header .header-menu-toggle:focus-visible {outline:3px solid #28a6af;outline-offset:3px;}
  .sticky-mobile-nav {z-index:48!important;}
  .sticky-mobile-nav a {padding:5px 8px 3px;border-radius:12px;min-width:0!important;flex:1;gap:5px;}
  .sticky-mobile-nav a.active {color:var(--teal,#087d82)!important;font-weight:850;}
  .sticky-mobile-nav a.active i {transform:translateY(-1px);}
}
@media (max-width:370px) {
  #site-menu .site-menu-drawer-content {padding:18px 13px;}
  .site-menu-mainlinks {gap:7px;}
  .site-menu-mainlinks a {padding:9px;gap:7px;font-size:11px;}
  .site-menu-accordion-links {grid-template-columns:1fr 1fr;}
}
@media (min-width:1100px) {
  #site-menu,#site-mobile-shade {display:none!important;}
}
/* ======================================================
   BLOCO 02 — FOOTER: TEMA, CONTEÚDO E HIERARQUIA
   ====================================================== */
#public-site-footer {margin-top:72px;padding:38px 0 0;background:linear-gradient(152deg,#0b3542 0%,#092b38 48%,#071c2a 100%);color:#e8f5f6;overflow:hidden;}
#public-site-footer .public-footer-cta {display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px;border-radius:23px;border:1px solid rgba(178,239,236,.17);background:radial-gradient(circle at 90% 10%,rgba(26,172,165,.15),transparent 40%),rgba(255,255,255,.055);}
.public-footer-kicker {display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.16em;font-weight:850;color:#96e1d7;}
#public-site-footer .public-footer-cta h2 {font-size:clamp(20px,2.5vw,32px);line-height:1.24;letter-spacing:-.045em;font-weight:850;margin:9px 0 7px;color:#fff;max-width:600px;}
#public-site-footer .public-footer-cta p {font-size:12px;color:#b0ced1;line-height:1.8;max-width:610px;}
#public-site-footer .public-footer-cta-button {flex:0 0 auto;display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 20px;border-radius:14px;background:#d6f8ef;color:#075d60;font-size:12px;font-weight:850;white-space:nowrap;transition:transform .2s,background .2s;}
#public-site-footer .public-footer-cta-button:hover {transform:translateY(-2px);background:#fff;}
#public-site-footer .public-footer-grid {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,4vw,60px);padding:52px 4px 43px;}
#public-site-footer .public-footer-brand {display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:47px;color:#fff;}
#public-site-footer .public-footer-brand strong {font-size:19px;font-weight:850;letter-spacing:-.045em;}
#public-site-footer .public-footer-mark {display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:13px;background:linear-gradient(130deg,var(--teal,#078a8f),#0d6076);color:#fff;}
#public-site-footer .public-footer-about {margin-top:15px;max-width:310px;font-size:12px;color:#a8c5cc;line-height:1.9;}
#public-site-footer h3 {margin:11px 0 20px;font-size:13px;color:#f4ffff;font-weight:850;letter-spacing:-.015em;}
#public-site-footer .public-footer-links {display:grid;gap:13px;}
#public-site-footer .public-footer-links a {color:#afcbd0;font-size:12px;font-weight:600;line-height:1.6;transition:color .2s;}
#public-site-footer .public-footer-links a:hover {color:#fff;}
#public-site-footer .public-footer-contact-list {display:grid;gap:14px;}
#public-site-footer .public-footer-contact-list :is(a,p) {display:flex;align-items:start;gap:10px;color:#afcbd0;font-size:12px;line-height:1.65;overflow-wrap:anywhere;}
#public-site-footer .public-footer-contact-list :is(i,svg) {width:15px;color:#83d5cc;margin-top:3px;flex:0 0 15px;}
#public-site-footer .public-footer-contact-list a:hover {color:#fff;}
#public-site-footer .public-footer-contact-button {display:inline-flex;align-items:center;gap:9px;margin-top:18px;border:1px solid rgba(170,229,228,.21);border-radius:12px;padding:11px 12px;color:#def8f4;font-size:11px;font-weight:800;}
#public-site-footer .public-footer-contact-button:hover {background:rgba(255,255,255,.08);}
#public-site-footer .public-footer-social {margin-top:18px;display:inline-flex;align-items:center;gap:10px;color:#d3eded;border:1px solid rgba(178,235,231,.19);padding:10px 13px;border-radius:12px;font-size:11px;font-weight:800;}
#public-site-footer .public-footer-social i {font-size:17px;}
#public-site-footer .public-footer-bottom {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:75px;padding:19px 4px 24px;border-top:1px solid rgba(194,241,241,.14);font-size:11px;color:#92b3bb;line-height:1.6;}
#public-site-footer .public-footer-bottom>div {display:flex;gap:17px;flex-wrap:wrap;align-items:center;}
#public-site-footer .public-footer-bottom a {color:#c5e3e3;}
#public-site-footer .public-footer-backtop {display:inline-flex;gap:6px;align-items:center;white-space:nowrap;}
#public-site-footer .public-footer-bottom a:hover {color:#fff;}
#public-site-footer :is(a,button):focus-visible {outline:3px solid #86ede1;outline-offset:4px;}
@media (max-width:900px) {
  #public-site-footer .public-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;}
}
@media (max-width:767px) {
  #public-site-footer {margin-top:56px;padding-top:20px;}
  #public-site-footer .public-footer-cta {flex-direction:column;align-items:stretch;gap:19px;padding:23px 21px;border-radius:20px;}
  #public-site-footer .public-footer-cta h2 {font-size:24px;}
  #public-site-footer .public-footer-cta-button {width:100%;}
  #public-site-footer .public-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));padding:37px 3px 32px;gap:29px 20px;}
  #public-site-footer .public-footer-brand-col {grid-column:1/-1;padding-bottom:6px;}
  #public-site-footer .public-footer-contact-col {grid-column:1/-1;border-top:1px solid rgba(194,241,241,.12);padding-top:20px;}
  #public-site-footer h3 {font-size:12px;margin:0 0 14px;}
  #public-site-footer .public-footer-bottom {align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:28px;}
  #public-site-footer .public-footer-bottom>div {gap:8px 17px;}
}
@media (prefers-reduced-motion:reduce) {
  #public-site-footer .public-footer-cta-button {transition:none;}
  .site-menu-chevron {transition:none;}
}

#public-site-footer .public-footer-backtop .fa-arrow-right {transform:rotate(-90deg)}
