:root {
  --tipografia-primaria: Inter;
  --tipografia-texto: Roboto;

  --cor-branco: #ffffff;
  --cor-preto: #0A0C0A;
  --cor-transparente: #00000000;

  --cor-cinza-100: #f1f5f9;
  --cor-cinza-200: #ECEEEF;
  --cor-cinza-300: #cbd5e1;
  --cor-cinza-400: #94A3B8;
  --cor-cinza-500: #64748b;
  --cor-cinza-800: #374151;

  --cor-claro-50: #F6F8FA;
  --cor-claro-100: #f1f5f9;
  --cor-claro-200: #D9D9D9;

  --cor-verde-50: #e7f7d4;
  --cor-verde-400: #A6E25B;
  --cor-verde-500: #8AC93C;
  --cor-verde-600: #49A52C;
  --cor-verde-800: #0F2000FF;

  --cor-vermelho-50: #fef2f2;

  --cor-azul-400: #153A57;
}

/* Ajustes de impressão */
@media print {
  body {
    background-color: #ffffff;
  }

  .no-print, .no-print * {
    display: none !important;
  }

  a[href]:after {
    content: none !important;
  }

  .print-static {
    position: static !important;
  }

  [role="navigation"] {
    display: none !important;
  }

  .print-card {
    background-color: var(--cor-claro-100) !important;
    max-width: 320px;
  }
}

/* Ajustes */
body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  transition: padding 0.3s ease;
}

main,
[data-elementor-type="page"],
[data-elementor-type="post"],
[data-elementor-type="single-page"],
[data-elementor-type="single-post"],
[data-elementor-type="search-results"],
[data-elementor-type="archive"],
[data-elementor-type="error-404"] {
  flex-grow: 1 !important;
}

button:hover,
input[type="submit"]:hover {
  cursor: pointer !important;
}

.elementor-icon-wrapper {
  display: flex;
}

.elementor-button.elementor-size-sm {
  max-height: 40px;
  padding: 10px 16px !important;
  align-items: center;
  display: flex;
}

@media (max-width: 767px) {
  .elementor-button.elementor-size-sm {
    padding: 8px 10px !important;
  }
}

.elementor-form {
  max-width: 520px;
}

.elementor-field-type-html:has(br) {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-select-wrapper .select-caret-down-wrapper {
  display: inline-block;
  font-family: 'Material Icons Round', serif;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga';
  top: 20px;
}

.elementor-select-wrapper .select-caret-down-wrapper svg {
  display: none !important;
}

.elementor-select-wrapper .select-caret-down-wrapper::before {
  content: 'expand_more';
  font-size: 24px;
}

.elementor-select-wrapper {
  flex-direction: column;
}

.p-mb-0 p {
  margin-bottom: 0;
  margin-block-end: 0;
}

.link-transparency .elementor-button-wrapper,
.link-transparency .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
}

.link-transparency .elementor-button-text {
  text-align: start;
}

.link-transparency .elementor-button-icon {
  display: flex;
  align-items: center;
}

.link-transparency .elementor-button-icon svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  .link-transparency .elementor-button.elementor-size-sm {
    padding: 2px 4px !important;;
  }

  .link-transparency .elementor-button-icon {
    display: none !important;
  }

  .link-transparency br {
    display: none;
  }
}

.menu-footer ul.menu {
  display: grid;
  list-style-type: none;
  padding: 0;
  margin: 0;
  grid-template-columns: repeat(auto-fill, 260px);
  gap: 24px;
}

.menu-footer ul.menu > li {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 240px;
}

.menu-footer ul.menu > li > a {
  color: var(--cor-verde-800);
  font-family: var(--tipografia-primaria), sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
}

.menu-footer ul.sub-menu {
  display: flex;
  flex-direction: column;
  list-style-type: none;
  padding: 0;
  margin: 0;
  gap: 8px;
}

.menu-footer ul.menu > li > ul > li > a {
  font-family: var(--tipografia-primaria), sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--cor-branco);
}

.link-apps > a {
  display: none;
}

.link-app a {
  height: 56px;
  color: transparent !important;
  display: block;
  position: relative;
}

.link-app a:after {
  top: 0;
  position: absolute;
  content: '';
  max-width: 160px;
  width: 100%;
  height: 56px;
  display: block;
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
}

.link-google-play a:after {
  background-image: url("/wp-content/themes/sefaz-nfa/assets/img/google-play-badge.png");
}

.link-app-store a:after {
  background-image: url("/wp-content/themes/sefaz-nfa/assets/img/app-store-badge.png");
}

.title-xl,
.title-lg,
.title-md,
.title-sm {
  color: var(--cor-cinza-800);
  margin: 0;
  line-height: 1;
}

.title-xl {
  font-size: 1.5rem;
}

.title-lg {
  font-size: 1.25rem;
}

.title-md {
  font-size: 1rem;
}

.title-sm {
  font-size: .875rem;
}

.text-info-xl {
  line-height: 1;
  font-size: 3rem;
  color: var(--cor-verde-600);
}

.text-info-lg {
  line-height: 1;
  font-size: 1.75rem;
  color: var(--cor-verde-600);
}

.text-info-md {
  line-height: 1;
  font-size: 1.25rem;
  color: var(--cor-verde-600);
}

.text-info-sm {
  line-height: 1;
  font-size: 1rem;
  color: var(--cor-verde-600);
}

.no-content {
  background: var(--cor-claro-100);
  padding: 1rem;
  min-height: 120px;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.error-content {
  background: var(--cor-vermelho-50);
  padding: 1rem;
  min-height: 120px;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.row {
  display: flex;
  flex-direction: row;
}

.col {
  display: flex;
  flex-direction: column;
}

.gap-1 {
  gap: .25rem !important;
}

.gap-2 {
  gap: .5rem !important;
}

.gap-3 {
  gap: .75rem !important;
}

.gap-4 {
  gap: 1rem !important;
}

.gap-5 {
  gap: 1.25rem !important;
}

.gap-6 {
  gap: 1.5rem !important;
}

.gap-7 {
  gap: 1.75rem !important;
}

.gap-8 {
  gap: 2rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.card {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border-radius: 0.5rem;
}

.card-shadow {
  box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.07) !important;
  background: var(--cor-branco);
}

.card-dark {
  background: var(--cor-cinza-200);
}

.card-header {
  padding: .25rem .75rem 1rem;
  border-bottom: 1px solid var(--cor-cinza-200);
}

.card-section {
  padding: .75rem;
}

.icon-badge {
  display: flex !important;
  color: var(--cor-cinza-800);
  background: var(--cor-transparente);
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 100px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 24px;
}

.icon-badge.accent {
  color: var(--cor-branco);
  background: var(--cor-verde-600);
}

.highlight-light {
  padding: .75rem;
  border-radius: .75rem;
  background: var(--cor-branco);
}

.highlight-dark {
  padding: .75rem;
  border-radius: .75rem;
  background: var(--cor-cinza-200);
}

.btn-icon {
  background: var(--cor-verde-600);
  width: 48px;
  height: 48px;
  color: var(--cor-branco) !important;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  border-radius: 100px;
}