/* =========================================================

   VVIEIRA — OQR GERAL

   TESTE DE PROPORÇÕES — DESKTOP E MOBILE

   ========================================================= */

.vv-oqr--geral {

  --vv-oqr-navy: #0F2A44;

  --vv-oqr-deep: #0B192C;

  --vv--oqr-grey:#3a3a3a;

  --vv-oqr-ink: #0D1B4B;

  --vv-oqr-gold: #C5A46D;

  --vv-oqr-gold-dark: #A77D3D;

  --vv-oqr-gold-line: #C98A2E;

  --vv-oqr-text: #455467;

  --vv-oqr-sub: #5F6F8C;

  --vv-oqr-list: #36467A;

  --vv-oqr-border: #E1E5EA;

  --vv-oqr-beige: #F8EEE0;

  --vv-oqr-paper: #FFFFFF;

  --vv-oqr-serif: "Lora", Georgia, "Times New Roman", serif;

  width: 100%;

  background: #fff;

  color: var(--vv-oqr-deep);

  font-family: "Manrope", "Inter", Arial, sans-serif;

}

.vv-oqr--geral,

.vv-oqr--geral *,

.vv-oqr--geral *::before,

.vv-oqr--geral *::after {

  box-sizing: border-box;

}

.vv-oqr--geral h2,

.vv-oqr--geral h3,

.vv-oqr--geral p {

  margin: 0;

  padding: 0;

}

.vv-oqr--geral button,

.vv-oqr--geral a {

  font: inherit;

}

.vv-oqr--geral button {

  cursor: pointer;

}

.vv-oqr--geral button:focus-visible,

.vv-oqr--geral a:focus-visible {

  outline: 3px solid var(--vv-oqr-gold);

  outline-offset: 3px;

}

/* CONTAINER */

.vv-oqr__container {

  width: min(1180px, calc(100% - 40px));

  margin: auto;

  padding: 64px 0 84px;

}

/* TÍTULO */

.vv-oqr--geral .vv-oqr__heading {

  color: var(--vv-oqr-deep);

  font-size: clamp(26px, 2.3vw, 34px);

  font-weight: 600;

  line-height: 1.2;

  letter-spacing: -0.035em;

  margin-bottom: 25px;

}

/* =========================================================

   CARDS PRINCIPAIS

   ========================================================= */

.vv-oqr__grid {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 16px;

  align-items: stretch;

}

.vv-oqr__item {

  position: relative;

  min-width: 0;

  padding: 40px 22px 44px;

  border: 1px solid var(--vv-oqr-border);

  border-radius: 7px;

  background: linear-gradient(180deg, #fff, #FAFAF9);

  box-shadow: 0 5px 18px rgba(11, 25, 44, .04);

  text-align: center;

  overflow: hidden;

}

.vv-oqr__item::before {

  content: "";

  position: absolute;

  top: 22px;

  bottom: 22px;

  left: 0;

  width: 0;

  border-left: 4px solid;

  border-image: linear-gradient(

    to bottom,

    rgba(197, 164, 109, 0.95),

    rgba(197, 164, 109, 0.35)

  ) 1;

}

/* =========================================================
   VVIEIRA | OQR GERAL — ICONES DOS CARDS
   A geometria e o peso visual pertencem a cada SVG.
   O CSS controla contêiner, dimensões e cor herdada.
   ========================================================= */

.vv-oqr--geral .vv-oqr__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 26px;
  color: var(--vv-oqr-gold-dark);
}

.vv-oqr--geral .vv-oqr__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  overflow: visible;
}

/* SVGs preenchidos: a cor acompanha o contêiner.
   Não impomos espessura, contorno ou alterações nos paths. */
.vv-oqr--geral .vv-oqr__icon svg.vv-oqr-svg--filled {
  fill: currentColor;
}

/* Compatibilidade com os SVGs de contorno legados, que
   não declaram fill/stroke no próprio markup.
   Não se aplica a ícones preenchidos. */
.vv-oqr--geral .vv-oqr__icon svg:not([class]),
.vv-oqr--geral .vv-oqr__icon svg.vv-oqr-svg--outline {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* TÍTULOS DOS CARDS */

.vv-oqr--geral .vv-oqr__item h3 {

  color: var(--vv--oqr-grey);

  font-size: 22px;

  line-height: 1.3;

  font-weight: 600;

  letter-spacing: -.02em;

  min-height: 58px;

}

/* DESCRIÇÕES DOS CARDS */

.vv-oqr--geral .vv-oqr__item p {

  margin-top: 28px;

  color: #344255;

  font-size: 15px;

  line-height: 1.6;

  text-align: left;

}

/* =========================================================

   FAIXA COMPLEMENTAR — SUPERFÍCIE INTEIRA CLICÁVEL

   ========================================================= */

.vv-oqr__access {

  position: relative;

  margin-top: 20px;

  padding: 19px 24px;

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 24px;

  border: 1px solid var(--vv-oqr-border);

  background: #fff;

  border-radius: 10px;

  box-shadow: 0 4px 16px rgba(11, 25, 44, .04);

  cursor: pointer;

  transition:

    background-color .2s ease,

    border-color .2s ease,

    box-shadow .2s ease;

}

/* HOVER — AZUL INSTITUCIONAL TRANSLÚCIDO */

.vv-oqr__access:hover,

.vv-oqr__access:focus-within {

  background-color: rgba(15, 42, 68, .075);

  border-color: rgba(15, 42, 68, .24);

  box-shadow: 0 6px 20px rgba(11, 25, 44, .07);

}

/* BLOCO INFORMATIVO */

.vv-oqr__access-info {

  display: flex;

  align-items: center;

  gap: 17px;

  min-width: 0;

}

.vv-oqr__access-icon {

  flex: 0 0 40px;

  color: var(--vv-oqr-gold-dark);

}

.vv-oqr__access-icon svg {

  display: block;

  width: 40px;

  height: 40px;

  stroke: currentColor;

  stroke-width: 1.4;

  stroke-linecap: round;

  stroke-linejoin: round;

}

.vv-oqr__access-icon .vv-oqr__fill {

  fill: #F8EFE0;

}

.vv-oqr__access-info strong {

  display: block;

  font-size: 15px;

  line-height: 1.45;

  color: var(--vv-oqr-ink);

  font-weight: 700;

}

.vv-oqr__access-info p {

  font-size: 14px;

  margin-top: 4px;

  line-height: 1.55;

  color: var(--vv-oqr-text);

}

/* BOTÃO ORIGINAL — MANTÉM O COMPORTAMENTO */

.vv-oqr__open {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 16px;

  flex: 0 0 auto;

  border: 0;

  background: transparent;

  color: var(--vv-oqr-ink);

  font-weight: 700;

  font-size: 15px;

  padding: 7px 0 7px 12px;

}

/*

 * Amplia a área clicável do botão existente

 * para toda a superfície da faixa.

 * O clique continua sendo recebido pelo botão.

 */

.vv-oqr__open::before {

  content: "";

  position: absolute;

  inset: 0;

  z-index: 1;

  border-radius: inherit;

}

/* SETA */

.vv-oqr__open-arrow {

  display: grid;

  place-items: center;

  width: 34px;

  height: 34px;

  border: 1px solid var(--vv-oqr-gold-line);

  border-radius: 50%;

  color: var(--vv-oqr-gold-line);

  transition:

    background-color .2s ease,

    color .2s ease,

    border-color .2s ease;

}

.vv-oqr__open-arrow svg {

  width: 18px;

  height: 18px;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

}

/* DESTAQUE DA SETA NO HOVER DA FAIXA */

.vv-oqr__access:hover .vv-oqr__open-arrow,

.vv-oqr__access:focus-within .vv-oqr__open-arrow {

  background: var(--vv-oqr-gold-line);

  border-color: var(--vv-oqr-gold-line);

  color: #fff;

}

/* =========================================================

   OVERLAY — JANELA ABERTA

   ========================================================= */

.vv-oqr__overlay[hidden] {

  display: none !important;

}

.vv-oqr__overlay {

  position: fixed;

  inset: 0;

  z-index: 2147483000;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 28px;

  isolation: isolate;

  background: transparent;

}

.vv-oqr__backdrop {

  position: absolute;

  inset: 0;

  background: rgba(7, 22, 38, .78);

  backdrop-filter: blur(5px);

  -webkit-backdrop-filter: blur(5px);

}

.vv-oqr__dialog {

  position: relative;

  z-index: 1;

  width: min(1240px, 100%);

  min-height: min(660px, 92dvh);

  max-height: min(92dvh, 900px);

  overflow-x: hidden;

  overflow-y: auto;

  overscroll-behavior: contain;

  background: linear-gradient(135deg, #fff 55%, #FCFAF6 100%);

  border-radius: 10px;

  box-shadow: 0 30px 90px rgba(0,0,0,.28);

  padding: 0 0 48px;

  scrollbar-width: thin;

}

/* CURVAS DECORATIVAS */

.vv-oqr__deco {

  position: absolute;

  inset: 0;

  z-index: 0;

  width: 100%;

  height: 100%;

  pointer-events: none;

}

.vv-oqr__deco-line {

  stroke: #E3B96F;

  stroke-width: 1.1;

  opacity: .85;

  vector-effect: non-scaling-stroke;

}

/* CABEÇALHO */

.vv-oqr__dialog-header {

  position: relative;

  z-index: 3;

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 15px;

  padding: 34px 48px 0;

}

.vv-oqr__brand {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  color: var(--vv-oqr-ink);

  line-height: 1;

}

.vv-oqr__brand-mark {

  font-family: var(--vv-oqr-serif);

  font-size: 46px;

  font-weight: 500;

  letter-spacing: -.06em;

  line-height: 1;

  padding-right: 12px;

  border-right: 1px solid var(--vv-oqr-gold-line);

  padding-block: 2px;

}

.vv-oqr__brand-name {

  display: flex;

  flex-direction: column;

  font-size: 24px;

  font-weight: 700;

  letter-spacing: -.03em;

}

.vv-oqr__brand-name small {

  color: var(--vv-oqr-gold-line);

  font-size: 9px;

  font-weight: 700;

  letter-spacing: .2em;

  margin-top: 5px;

}

.vv-oqr__close {

  display: inline-flex;

  align-items: center;

  gap: 14px;

  padding: 8px;

  border: 0;

  background: transparent;

  color: var(--vv-oqr-ink);

  font-size: 15px;

}

.vv-oqr__close svg {

  width: 24px;

  height: 24px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

}

/* INTRODUÇÃO */

.vv-oqr__dialog-intro {

  position: relative;

  z-index: 1;

  padding: 26px 64px 28px;

}

.vv-oqr--geral .vv-oqr__dialog-intro h2 {

  color: var(--vv-oqr-ink);

  font-family: var(--vv-oqr-serif);

  font-size: clamp(30px, 3.6vw, 50px);

  font-weight: 700;

  letter-spacing: -.02em;

  line-height: 1.15;

}

.vv-oqr--geral .vv-oqr__dialog-intro p {

  color: var(--vv-oqr-sub);

  max-width: 820px;

  margin-top: 14px;

  font-size: clamp(15px, 1.5vw, 22px);

  font-weight: 400;

  line-height: 1.5;

}

/* NAVEGAÇÃO ENTRE CATEGORIAS */

.vv-oqr__tabs {

  position: relative;

  z-index: 2;

  display: grid;

  grid-template-columns: repeat(5, minmax(0, 1fr));

  margin: 0 64px;

  border-top: 1px solid var(--vv-oqr-border);

  border-bottom: 1px solid var(--vv-oqr-border);

}

.vv-oqr__tab {

  position: relative;

  display: flex;

  min-width: 0;

  min-height: 142px;

  padding: 20px 14px;

  align-items: center;

  justify-content: center;

  border: 0;

  border-radius: 6px 6px 0 0;

  background: transparent;

  color: var(--vv-oqr-list);

  font-size: 16px;

  font-weight: 500;

  line-height: 1.3;

  text-align: left;

  transition: background .18s;

}

/* DIVISÓRIAS */

.vv-oqr__tab::before {

  content: "";

  position: absolute;

  left: 0;

  top: 22%;

  bottom: 22%;

  width: 1px;

  background: var(--vv-oqr-border);

}

.vv-oqr__tab:first-child::before,

.vv-oqr__tab[aria-pressed="true"]::before,

.vv-oqr__tab[aria-pressed="true"] + .vv-oqr__tab::before {

  display: none;

}

.vv-oqr__tab:hover {

  background: #FBF6EE;

}

.vv-oqr__tab[aria-pressed="true"] {

  background: var(--vv-oqr-beige);

  color: var(--vv-oqr-ink);

}

.vv-oqr__tab[aria-pressed="true"]::after {

  content: "";

  position: absolute;

  left: 0;

  right: 0;

  bottom: -1px;

  height: 4px;

  border-radius: 0 0 3px 3px;

  background: var(--vv-oqr-gold-line);

}

.vv-oqr__tab-inner {

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 14px;

  min-width: 0;

}

.vv-oqr__tab-icon {

  display: block;

  width: 38px;

  height: 38px;

  color: var(--vv-oqr-gold-line);

}

.vv-oqr__tab-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Compatibilidade apenas com os SVGs antigos de contorno
   que ainda nao declaram estilo no proprio SVG. */
.vv-oqr__tab-icon svg:not([class]) {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vv-oqr__tab-label {

  display: block;

  max-width: 150px;

}

.vv-oqr__tab-short {

  display: none;

}

/* ÁREA DE CONTEÚDO */

.vv-oqr__content {

  position: relative;

  z-index: 1;

  min-height: 400px;

  padding: 46px 64px 0;

}

.vv-oqr--geral .vv-oqr__category-title {

  color: var(--vv-oqr-ink);

  font-family: var(--vv-oqr-serif);

  font-size: clamp(28px, 3vw, 42px);

  font-weight: 700;

  line-height: 1.2;

  letter-spacing: -.02em;

}

.vv-oqr--geral .vv-oqr__category-title::after {

  content: "";

  display: block;

  width: 56px;

  height: 2px;

  margin-top: 16px;

  background: var(--vv-oqr-gold-line);

}

/* SERVIÇOS LISTADOS */

.vv-oqr__items {

  --vv-oqr-rows: 5;

  --vv-oqr-pad: 14px;

  --vv-oqr-lh: 24px;

  list-style: none;

  margin: 30px 0 0;

  padding: 0;

  max-width: 1040px;

  display: grid;

  grid-auto-flow: column;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  grid-template-rows: repeat(var(--vv-oqr-rows), auto);

  column-gap: 56px;

}

.vv-oqr__items li {

  display: grid;

  grid-template-columns: 31px minmax(0, 1fr);

  align-items: start;

  margin: 0;

  padding: 0;

  color: var(--vv-oqr-list);

  font-size: 18px;

  line-height: var(--vv-oqr-lh);

}

.vv-oqr__items li::before {

  content: "";

  width: 10px;

  height: 10px;

  margin-top: calc(var(--vv-oqr-pad) + (var(--vv-oqr-lh) - 10px) / 2);

  border-radius: 50%;

  background: var(--vv-oqr-gold-line);

}

.vv-oqr__items li span {

  display: block;

  padding: var(--vv-oqr-pad) 0;

  border-bottom: 1px solid var(--vv-oqr-border);

}

.vv-oqr__items li.vv-oqr__service--col-end span,

.vv-oqr__items li.vv-oqr__service--last span {

  border-bottom: 0;

}

/* =========================================================

   TABLET

   ========================================================= */

@media (max-width: 1020px) {

  .vv-oqr--geral .vv-oqr__container {

    padding: 52px 0 72px;

  }

  .vv-oqr--geral .vv-oqr__item {

    padding: 38px 24px 40px;

  }

  .vv-oqr__grid {

    grid-template-columns: repeat(2, minmax(0,1fr));

  }

  .vv-oqr__dialog-header {

    padding: 28px 32px 0;

  }

  .vv-oqr__dialog-intro {

    padding: 22px 40px 24px;

  }

  .vv-oqr__tabs {

    margin: 0 40px;

  }

  .vv-oqr__tab {

    min-height: 124px;

    font-size: 14px;

  }

  .vv-oqr__tab-icon {

    width: 32px;

    height: 32px;

  }

  .vv-oqr__content {

    padding: 36px 40px 0;

    min-height: 340px;

  }

  .vv-oqr__items {

    column-gap: 36px;

  }

  .vv-oqr__items li {

    font-size: 16px;

  }

}

/* =========================================================

   CELULAR

   ========================================================= */

@media (max-width: 760px) {

  .vv-oqr__container {

    width: min(100% - 32px, 1180px);

    padding: 40px 0 64px;

  }

  .vv-oqr__grid {

    grid-template-columns: 1fr;

    gap: 12px;

  }

  .vv-oqr--geral .vv-oqr__item {

    padding: 30px 24px 34px;

  }

  .vv-oqr--geral .vv-oqr__icon {

    width: 54px;

    height: 54px;

    margin-bottom: 20px;

  }

  .vv-oqr--geral .vv-oqr__item h3 {

    font-size: 20px;

    min-height: 0;

  }

  .vv-oqr--geral .vv-oqr__item p {

    margin-top: 16px;

    font-size: 15px;

    line-height: 1.6;

    text-align: center;

  }

  .vv-oqr__access {

    flex-direction: column;

    align-items: stretch;

    padding: 20px;

    gap: 16px;

  }

  .vv-oqr__open {

    width: 100%;

    justify-content: space-between;

    border-top: 1px solid var(--vv-oqr-border);

    padding: 11px 0 0;

  }

  .vv-oqr__overlay {

    padding: 0;

    align-items: stretch;

  }

  .vv-oqr__dialog {

    width: 100%;

    height: 100dvh;

    min-height: 0;

    max-height: 100dvh;

    padding: 0 0 40px;

    border-radius: 0;

    background: #fff;

  }

  .vv-oqr__deco {

    display: none;

  }

  /* CABEÇALHO COMPACTO */

  .vv-oqr__dialog-header {

    position: sticky;

    top: 0;

    z-index: 5;

    padding: 16px 20px 12px;

    background: #fff;

  }

  .vv-oqr__brand {

    gap: 9px;

  }

  .vv-oqr__brand-mark {

    font-size: 32px;

    padding-right: 9px;

  }

  .vv-oqr__brand-name {

    font-size: 17px;

  }

  .vv-oqr__brand-name small {

    font-size: 7px;

    margin-top: 3px;

  }

  .vv-oqr__close {

    font-size: 14px;

    gap: 10px;

    padding: 6px 0 6px 6px;

  }

  .vv-oqr__close svg {

    width: 22px;

    height: 22px;

  }

  /* INTRODUÇÃO */

  .vv-oqr__dialog-intro {

    padding: 10px 20px 22px;

  }

  .vv-oqr--geral .vv-oqr__dialog-intro h2 {

    font-size: 32px;

  }

  .vv-oqr--geral .vv-oqr__dialog-intro p {

    margin-top: 12px;

    font-size: 15px;

  }

  /* ABAS FIXAS */

  .vv-oqr__tabs {

    position: sticky;

    top: var(--vv-oqr-header-h, 64px);

    z-index: 4;

    margin: 0;

    background: #fff;

    border-top: 1px solid var(--vv-oqr-border);

    border-bottom: 1px solid var(--vv-oqr-border);

  }

  .vv-oqr__tab {

    min-height: 82px;

    padding: 12px 2px 11px;

    border-radius: 0;

    font-size: 10.5px;

    font-weight: 500;

    text-align: center;

  }

  .vv-oqr__tab-inner {

    align-items: center;

    gap: 7px;

  }

  .vv-oqr__tab-icon {

    width: 28px;

    height: 28px;

  }

  .vv-oqr__tab-label {

    max-width: none;

  }

  .vv-oqr__tab-long {

    display: none;

  }

  .vv-oqr__tab-short {

    display: inline;

  }

  .vv-oqr__tab[aria-pressed="true"]::after {

    height: 3px;

  }

  .vv-oqr__content {

    min-height: 0;

    padding: 30px 20px 0;

  }

  .vv-oqr--geral .vv-oqr__category-title {

    font-size: 27px;

  }

  .vv-oqr--geral .vv-oqr__category-title::after {

    margin-top: 14px;

  }

  /* LISTA EM COLUNA ÚNICA */

  .vv-oqr__items {

    --vv-oqr-pad: 13px;

    --vv-oqr-lh: 22px;

    display: block;

    margin-top: 18px;

    max-width: none;

  }

  .vv-oqr__items li {

    font-size: 16px;

    grid-template-columns: 30px minmax(0, 1fr);

  }

  .vv-oqr__items li.vv-oqr__service--col-end:not(.vv-oqr__service--last) span {

    border-bottom: 1px solid var(--vv-oqr-border);

  }

}

/* =========================================================

   MOVIMENTO REDUZIDO

   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .vv-oqr--geral *,

  .vv-oqr--geral *::before,

  .vv-oqr--geral *::after {

    transition-duration: 0.01ms !important;

    animation-duration: 0.01ms !important;

  }

}

/* =========================================================

   COMPATIBILIDADE COM O ELEMENTOR

   ========================================================= */

.vv-oqr--geral button.vv-oqr__open,

.vv-oqr--geral button.vv-oqr__open:hover,

.vv-oqr--geral button.vv-oqr__open:active,

.vv-oqr--geral button.vv-oqr__open:focus {

  background: transparent;

  color: var(--vv-oqr-ink);

  border: 0;

  border-radius: 0;

  padding: 7px 0 7px 12px;

  font-family: inherit;

  font-size: 15px;

  font-weight: 700;

  line-height: normal;

  text-transform: none;

  box-shadow: none;

}

.vv-oqr--geral button.vv-oqr__close,

.vv-oqr--geral button.vv-oqr__close:hover,

.vv-oqr--geral button.vv-oqr__close:active,

.vv-oqr--geral button.vv-oqr__close:focus {

  background: transparent;

  color: var(--vv-oqr-ink);

  border: 0;

  border-radius: 0;

  padding: 8px;

  font-family: inherit;

  font-size: 15px;

  font-weight: 400;

  line-height: normal;

  text-transform: none;

  box-shadow: none;

}

.vv-oqr--geral button.vv-oqr__close:hover {

  color: var(--vv-oqr-gold-line);

}

.vv-oqr--geral button.vv-oqr__tab,

.vv-oqr--geral button.vv-oqr__tab:active,

.vv-oqr--geral button.vv-oqr__tab:focus {

  background: transparent;

  color: var(--vv-oqr-list);

  border: 0;

  border-radius: 6px 6px 0 0;

  padding: 20px 14px;

  font-family: inherit;

  font-size: 16px;

  font-weight: 500;

  line-height: 1.3;

  text-align: left;

  white-space: normal;

  min-width: 0;

  overflow-wrap: break-word;

  text-transform: none;

  box-shadow: none;

}

.vv-oqr--geral button.vv-oqr__tab:hover {

  background: #FBF6EE;

  color: var(--vv-oqr-list);

}

.vv-oqr--geral button.vv-oqr__tab[aria-pressed="true"],

.vv-oqr--geral button.vv-oqr__tab[aria-pressed="true"]:hover,

.vv-oqr--geral button.vv-oqr__tab[aria-pressed="true"]:focus,

.vv-oqr--geral button.vv-oqr__tab[aria-pressed="true"]:active {

  background: var(--vv-oqr-beige);

  color: var(--vv-oqr-ink);

}

.vv-oqr--geral button.vv-oqr__open:focus-visible,

.vv-oqr--geral button.vv-oqr__close:focus-visible,

.vv-oqr--geral button.vv-oqr__tab:focus-visible {

  outline: 3px solid var(--vv-oqr-gold);

  outline-offset: 3px;

}

@media (max-width: 1020px) {

  .vv-oqr--geral button.vv-oqr__tab {

    font-size: 14px;

  }

}

@media (max-width: 760px) {

  .vv-oqr--geral button.vv-oqr__open,

  .vv-oqr--geral button.vv-oqr__open:hover,

  .vv-oqr--geral button.vv-oqr__open:focus,

  .vv-oqr--geral button.vv-oqr__open:active {

    width: 100%;

    justify-content: space-between;

    border-top: 1px solid var(--vv-oqr-border);

    padding: 11px 0 0;

  }

  .vv-oqr--geral button.vv-oqr__close,

  .vv-oqr--geral button.vv-oqr__close:hover,

  .vv-oqr--geral button.vv-oqr__close:focus,

  .vv-oqr--geral button.vv-oqr__close:active {

    padding: 6px 0 6px 6px;

    font-size: 14px;

  }

  .vv-oqr--geral button.vv-oqr__tab,

  .vv-oqr--geral button.vv-oqr__tab:hover,

  .vv-oqr--geral button.vv-oqr__tab:focus,

  .vv-oqr--geral button.vv-oqr__tab:active {

    border-radius: 0;

    padding: 12px 2px 11px;

    font-size: 10.5px;

  }

}

/* =========================================================

   VVIEIRA — DADOS EDITÁVEIS

   - nome: rótulo completo (desktop)

   - curto: rótulo reduzido (celular)

   - icone: people | document | person | gear | care

   ========================================================= */

/* =========================================================

   VVIEIRA | IDENTIDADE NO CABEÇALHO DA JANELA

   ========================================================= */

.vv-oqr--geral .vv-oqr__brand {

  display: inline-flex;

  align-items: center;

  gap: 10px;

}

.vv-oqr--geral .vv-oqr__brand-logo {

  display: block;

  width: 48px;

  height: 48px;

  flex: 0 0 auto;

}

.vv-oqr--geral .vv-oqr__brand-name {

  display: flex;

  flex-direction: column;

  justify-content: center;

  gap: 4px;

  line-height: 1;

}

.vv-oqr--geral .vv-oqr__brand-name strong {

  color: #0F2A44;

  font-family: "Manrope", sans-serif;

  font-size: 22px;

  font-weight: 700;

  letter-spacing: -0.04em;

}

.vv-oqr--geral .vv-oqr__brand-name small {

  color: #A77D3D;

  font-family: "Manrope", sans-serif;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 0.18em;

  margin: 0;

}

/* MOBILE */

@media (max-width: 760px) {

  .vv-oqr--geral .vv-oqr__brand {

    gap: 8px;

  }

  .vv-oqr--geral .vv-oqr__brand-logo {

    width: 36px;

    height: 36px;

  }

  .vv-oqr--geral .vv-oqr__brand-name strong {

    font-size: 18px;

  }

  .vv-oqr--geral .vv-oqr__brand-name small {

    font-size: 7px;

    letter-spacing: 0.15em;

  }

}
