[hidden]{display:none!important}.topbar .wrap>span:last-child{display:block}.topbar .wrap{gap:25px}.trap{display:none!important}.admin-body{color-scheme:light;background:#f3f6f8;color:#28455a}.admin-body p{color:#607787}.admin-wrap{max-width:1050px;margin:auto;padding:40px 25px}.admin-body h1,.admin-body h2,.admin-body h3{color:#25455c;font-family:Georgia,'Times New Roman',serif;font-weight:400}.admin-body h1{font-size:36px}.admin-body a{color:#315e7e}.admin-body .button{background:#254a63;border-color:#254a63;color:white}.admin-box{padding:30px;background:#fff;border:1px solid #dce5ed;border-radius:17px;margin-bottom:25px}.admin-box label{display:block;margin-bottom:20px;font-size:16px}.admin-box input:not([type=checkbox]),.admin-box textarea,.admin-box select{display:block;width:100%;padding:12px 14px;margin-top:7px;color:#28455a;background:#fff;border:1px solid #becfdd;border-radius:8px;font-size:16px}.admin-box textarea{min-height:95px}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:30px}.admin-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:25px}.admin-nav a{padding:10px 16px;border:1px solid #cfdae3;background:white;border-radius:30px}.admin-body small{font-size:14px}.admin-body .message{background:#e6f0eb;color:#215a40;padding:18px;border-radius:10px}.admin-body .warning{background:#fff5e7;color:#775421;padding:18px;border-radius:10px}.admin-body .error{background:#fbeaea;color:#8c3636}.admin-logo-preview{width:180px}.request-meta{color:#657b8c;font-size:14px}.admin-login{max-width:560px;margin:50px auto}.admin-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.admin-body form{margin:0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-page-select{max-width:550px}.admin-content-label{display:block;font-size:13px;color:#738796;line-height:1.5}.admin-body .message a{color:#215a40;text-decoration:underline}@media(max-width:570px){.topbar .wrap>span:last-child{display:none}.admin-grid{grid-template-columns:1fr}.admin-box{padding:23px}.admin-wrap{padding:30px 20px}.admin-body h1{font-size:30px}.admin-login{margin:20px auto}}

/* Centraliza o conteúdo público na faixa de celular. */
@media (max-width: 767px) {
  .topbar .wrap,
  .header .nav,
  main,
  footer {
    text-align: center;
  }

  .topbar .wrap,
  .header .nav.open,
  .hero-actions,
  .back,
  .legal-nav,
  #inicio .about-box .read-more {
    justify-content: center;
  }

  .hero-shortcuts {
    text-align: center;
  }

  .hero-copy,
  .hero-copy > p,
  .section-head > p,
  .subhero p {
    margin-inline: auto;
  }

  .section-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .services-grid,
  .hero-shortcuts {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-shortcuts > a,
  .service .service-heading,
  #inicio #servicos .service .service-heading,
  #inicio .contact-info-item,
  .dpo-box {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .hero-shortcuts > a > svg,
  .faq summary > svg {
    margin-left: 0;
  }

  .service > .read-more,
  #inicio #servicos .service > .read-more {
    align-self: center;
  }

  .digital-grid > a,
  #inicio .digital-grid > a,
  #inicio .location-map-footer,
  .footer-grid > div:first-child,
  .footer-bottom {
    align-items: center;
  }

  .digital-grid > a > svg,
  #inicio .digital-grid > a > svg {
    position: static;
    margin-top: 10px;
  }

  .faq summary,
  #inicio .faq summary {
    position: relative;
    display: block;
    padding-inline: 28px;
    text-align: center;
  }

  .faq summary > svg {
    position: absolute;
    inset-inline-end: 0;
    top: calc(50% - 9px);
  }

  .document-list li {
    flex-direction: column;
    align-items: center;
    gap: 6px;
  }

  .legal ul {
    padding-inline: 0;
    list-style-position: inside;
  }

  .section-number,
  .footer-logo {
    margin-inline: auto;
  }

  .preparation-box li {
    padding-left: 0;
  }

  .preparation-box li::before {
    position: static;
    margin: 0 auto 12px;
  }

  main form {
    text-align: start;
  }

  main form h2,
  main form > p {
    text-align: center;
  }
}

.service-search {
  max-width: 720px;
  margin: 0 auto 30px;
  padding: 22px;
  border: 1px solid #718da857;
  border-radius: 16px;
  background: #244056;
  color: #fff;
  text-align: start;
}

.service-search label {
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
}

.service-search-field {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.service-search-field input {
  flex: 1 1 230px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #b9cada;
  border-radius: 9px;
  color: #183044;
  background: #fff;
  color-scheme: light;
  font: inherit;
}

.service-search .button {
  justify-content: center;
  background: #d4e7f6;
  color: #17344d;
}

.service-search-status,
.service-search-results li p {
  margin: 12px 0 0;
  color: #e0edf7;
}

.service-search-results {
  padding: 0;
  margin: 10px 0 0;
  list-style: none;
}

.service-search-results li {
  padding: 12px 0;
  border-top: 1px solid #adc6db55;
}

.service-search-results li a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.service-search-results li p {
  margin-top: 4px;
  font-size: 0.95rem;
}

@media (max-width: 570px) {
  .service-search {
    padding: 18px;
  }

  .service-search label,
  .service-search-status,
  .service-search-results {
    text-align: center;
  }

  .service-search .button {
    width: 100%;
  }
}
