@font-face {
  font-family: "Bronzier";
  src: url("../../../../assets/Bronzier-Medium.otf") format("opentype"),
    url("../../../../assets/Bronzier-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
.elementor-22 .elementor-element.elementor-element-4303176 {
  --display: flex;
  --min-height: 90px;
  --flex-direction: row;
  --container-widget-width: calc(
    (1 - var(--container-widget-flex-grow)) * 100%
  );
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --align-items: stretch;
  --gap: 0px 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --margin-top: 0%;
  --margin-bottom: 0%;
  --margin-left: 0%;
  --margin-right: 0%;
  --padding-top: 0%;
  --padding-bottom: 0%;
  --padding-left: 0%;
  --padding-right: 0%;
  --z-index: 95;
}
.elementor-22
  .elementor-element.elementor-element-4303176:not(.elementor-motion-effects-element-type-background),
.elementor-22
  .elementor-element.elementor-element-4303176
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: transparent;
  background-image: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
}
/* O degradê acima vai de preto a transparente. No topo da página não há
   conteúdo atrás do header, então a parte transparente revelava o azul do
   body. O espaçador que o sticky deixa no fluxo (e o próprio header antes do
   sticky ativar) ganha fundo preto sólido, ficando como fundo do header no
   topo da página. O degradê continua valendo sobre o conteúdo ao rolar. */
.elementor-22
  .elementor-element.elementor-element-4303176.elementor-sticky__spacer,
.elementor-22
  .elementor-element.elementor-element-4303176:not(.elementor-sticky--active) {
  background-color: #000000;
  background-image: none;
}
/* o espaçador é um clone invisível do header: exibimos só o fundo dele */
.elementor-22
  .elementor-element.elementor-element-4303176.elementor-sticky__spacer {
  visibility: visible !important; /* o Elementor marca o espaçador com visibility inline */
  z-index: 0; /* o header fixo vem antes no DOM: manter o espaçador atrás dele */
}
.elementor-22
  .elementor-element.elementor-element-4303176.elementor-sticky__spacer
  > * {
  visibility: hidden;
}
.elementor-22 .elementor-element.elementor-element-346d7c8b {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --justify-content: center;
  --gap: 20px 20px;
  --row-gap: 20px;
  --column-gap: 20px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-widget-icon.elementor-view-stacked .elementor-icon {
  background-color: var(--e-global-color-primary);
}
.elementor-widget-icon.elementor-view-framed .elementor-icon,
.elementor-widget-icon.elementor-view-default .elementor-icon {
  color: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
}
.elementor-widget-icon.elementor-view-framed .elementor-icon,
.elementor-widget-icon.elementor-view-default .elementor-icon svg {
  fill: var(--e-global-color-primary);
}
.elementor-22
  .elementor-element.elementor-element-5822303
  .elementor-icon-wrapper {
  text-align: start;
}
.elementor-22
  .elementor-element.elementor-element-5822303.elementor-view-stacked
  .elementor-icon {
  background-color: #ffffff;
}
.elementor-22
  .elementor-element.elementor-element-5822303.elementor-view-framed
  .elementor-icon,
.elementor-22
  .elementor-element.elementor-element-5822303.elementor-view-default
  .elementor-icon {
  color: #ffffff;
  border-color: #ffffff;
}
.elementor-22
  .elementor-element.elementor-element-5822303.elementor-view-framed
  .elementor-icon,
.elementor-22
  .elementor-element.elementor-element-5822303.elementor-view-default
  .elementor-icon
  svg {
  fill: #ffffff;
}
.elementor-22 .elementor-element.elementor-element-5822303 .elementor-icon {
  font-size: 42px;
}
.elementor-22 .elementor-element.elementor-element-5822303 .elementor-icon svg {
  height: 42px;
}
.elementor-22
  .elementor-element.elementor-element-5822303
  .elementor-icon-wrapper
  svg {
  width: auto;
}
.elementor-22 .elementor-element.elementor-element-52d3227f {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: calc(
    (1 - var(--container-widget-flex-grow)) * 100%
  );
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --justify-content: flex-end;
  --align-items: center;
  --gap: 20px 20px;
  --row-gap: 20px;
  --column-gap: 20px;
  --padding-top: 0%;
  --padding-bottom: 0%;
  --padding-left: 0%;
  --padding-right: 0%;
}
.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after {
  border-color: var(--e-global-color-text);
}
.elementor-widget-icon-list .elementor-icon-list-icon i {
  color: var(--e-global-color-primary);
}
.elementor-widget-icon-list .elementor-icon-list-icon svg {
  fill: var(--e-global-color-primary);
}
.elementor-widget-icon-list
  .elementor-icon-list-item
  > .elementor-icon-list-text,
.elementor-widget-icon-list .elementor-icon-list-item > a {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-icon-list .elementor-icon-list-text {
  color: var(--e-global-color-secondary);
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-items:not(.elementor-inline-items)
  .elementor-icon-list-item:not(:last-child) {
  padding-block-end: calc(50px / 2);
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-items:not(.elementor-inline-items)
  .elementor-icon-list-item:not(:first-child) {
  margin-block-start: calc(50px / 2);
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-items.elementor-inline-items
  .elementor-icon-list-item {
  margin-inline: calc(50px / 2);
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-items.elementor-inline-items {
  margin-inline: calc(-50px / 2);
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-items.elementor-inline-items
  .elementor-icon-list-item:after {
  inset-inline-end: calc(-50px / 2);
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-item:not(:last-child):after {
  content: "";
  border-color: #ddd;
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-items:not(.elementor-inline-items)
  .elementor-icon-list-item:not(:last-child):after {
  border-block-start-style: solid;
  border-block-start-width: 1px;
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-items.elementor-inline-items
  .elementor-icon-list-item:not(:last-child):after {
  border-inline-start-style: solid;
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-inline-items
  .elementor-icon-list-item:not(:last-child):after {
  border-inline-start-width: 1px;
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-icon
  i {
  transition: color 0.3s;
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-icon
  svg {
  transition: fill 0.3s;
}
.elementor-22 .elementor-element.elementor-element-a9c6bc1 {
  --e-icon-list-icon-size: 14px;
  --icon-vertical-offset: 0px;
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-item
  > .elementor-icon-list-text,
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-item
  > a {
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 1.7px;
}
.elementor-22
  .elementor-element.elementor-element-a9c6bc1
  .elementor-icon-list-text {
  color: #ffffff;
  transition: color 0.3s;
}
.elementor-widget-button .elementor-button {
  background-color: var(--e-global-color-accent);
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight);
}
.elementor-22 .elementor-element.elementor-element-336f57c2 .elementor-button {
  background-color: transparent;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  font-style: normal;
  text-decoration: none;
  line-height: 1em;
  letter-spacing: 0.6px;
  word-spacing: 0em;
  fill: #ffffff;
  color: #ffffff;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #ffffff;
  border-radius: 100px 100px 100px 100px;
  padding: 10px 25px 6px 25px;
}
.elementor-22
  .elementor-element.elementor-element-336f57c2
  .elementor-button:hover,
.elementor-22
  .elementor-element.elementor-element-336f57c2
  .elementor-button:focus {
  background-color: #ffffff;
  color: #0d2444;
}
.elementor-22 .elementor-element.elementor-element-336f57c2.elementor-element {
  --flex-grow: 1;
  --flex-shrink: 0;
}
.elementor-22
  .elementor-element.elementor-element-336f57c2
  .elementor-button-content-wrapper {
  flex-direction: row-reverse;
}
.elementor-22
  .elementor-element.elementor-element-336f57c2
  .elementor-button:hover
  svg,
.elementor-22
  .elementor-element.elementor-element-336f57c2
  .elementor-button:focus
  svg {
  fill: #eaa92c;
}
.elementor-22 .elementor-element.elementor-element-2bea7a6 {
  background-color: #000000;
  --display: flex;
  --min-height: 774px;
  --flex-direction: row;
  --container-widget-width: calc(
    (1 - var(--container-widget-flex-grow)) * 100%
  );
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --align-items: flex-end;
  --gap: 0px 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --overlay-opacity: 1;
  --margin-top: -7%;
  --margin-bottom: 0%;
  --margin-left: 0%;
  --margin-right: 0%;
  --padding-top: 0%;
  --padding-bottom: 6%;
  --padding-left: 0%;
  --padding-right: 0%;
}
.elementor-22 .elementor-element.elementor-element-2bea7a6::before,
.elementor-22
  .elementor-element.elementor-element-2bea7a6
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-2bea7a6
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-2bea7a6
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-2bea7a6
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-2bea7a6
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-image: linear-gradient(
      to right,
      rgba(0, 0, 0, 1) 0%,
      rgba(0, 0, 0, 1) 42%,
      rgba(0, 0, 0, 0.55) 58%,
      rgba(0, 0, 0, 0) 72%
    ),
    url("../../../../assets/DSC04138.jpg");
  --background-overlay: "";
  background-position: center, center right;
  background-repeat: no-repeat, no-repeat;
  background-size: cover, contain;
}
@media (min-width: 1025px) {
  .elementor-22 .elementor-element.elementor-element-2bea7a6::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .e-con-inner
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .e-con-inner
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer::before {
    background-position: center, calc(100% + 70px) center;
  }
}
.elementor-22 .elementor-element.elementor-element-c149110 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-weight: var(--e-global-typography-primary-font-weight);
  color: var(--e-global-color-primary);
}
.elementor-22
  .elementor-element.elementor-element-895c757
  .elementor-heading-title {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 1.8px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #ffffff;
}
.elementor-widget-text-editor {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
  color: var(--e-global-color-text);
}
.elementor-widget-text-editor.elementor-drop-cap-view-stacked
  .elementor-drop-cap {
  background-color: var(--e-global-color-primary);
}
.elementor-widget-text-editor.elementor-drop-cap-view-framed
  .elementor-drop-cap,
.elementor-widget-text-editor.elementor-drop-cap-view-default
  .elementor-drop-cap {
  color: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
}
.elementor-22 .elementor-element.elementor-element-0dfd361 {
  width: var(--container-widget-width, 82%);
  max-width: 82%;
  --container-widget-width: 82%;
  --container-widget-flex-grow: 0;
  text-align: justify;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #f3f3f3;
}
.elementor-22 .elementor-element.elementor-element-3997567 .elementor-button {
  background-color: transparent;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  font-style: normal;
  text-decoration: none;
  line-height: 1em;
  letter-spacing: 0.6px;
  word-spacing: 0em;
  fill: #6fa4d1;
  color: #6fa4d1;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #6fa4d1;
  border-radius: 100px 100px 100px 100px;
}
.elementor-22
  .elementor-element.elementor-element-3997567
  .elementor-button:hover,
.elementor-22
  .elementor-element.elementor-element-3997567
  .elementor-button:focus {
  background-color: #ffffff;
  color: #6fa4d1;
  fill: #6fa4d1;
}
.elementor-22 .elementor-element.elementor-element-3997567.elementor-element {
  --flex-grow: 1;
  --flex-shrink: 0;
}
.elementor-22
  .elementor-element.elementor-element-3997567
  .elementor-button-content-wrapper {
  flex-direction: row-reverse;
}
.elementor-22
  .elementor-element.elementor-element-3997567
  .elementor-button:hover
  svg,
.elementor-22
  .elementor-element.elementor-element-3997567
  .elementor-button:focus
  svg {
  fill: #6fa4d1;
}
.elementor-22 .elementor-element.elementor-element-c91bf24 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --justify-content: flex-end;
}
.elementor-22
  .elementor-element.elementor-element-d2776da
  .elementor-icon-wrapper {
  text-align: center;
}
.elementor-22 .elementor-element.elementor-element-d2776da .elementor-icon {
  font-size: 190px;
}
.elementor-22 .elementor-element.elementor-element-d2776da .elementor-icon svg {
  height: 190px;
}
.elementor-22
  .elementor-element.elementor-element-d2776da
  .elementor-icon-wrapper
  svg {
  width: auto;
}
.elementor-22 .elementor-element.elementor-element-9fc9111 {
  --display: flex;
  --min-height: 580px;
  --flex-direction: row;
  --container-widget-width: initial;
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --gap: 0px 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-22 .elementor-element.elementor-element-d3e2b3e {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-22
  .elementor-element.elementor-element-d3e2b3e:not(.elementor-motion-effects-element-type-background),
.elementor-22
  .elementor-element.elementor-element-d3e2b3e
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-image: url("../../../../assets/BRAVO-7140.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.elementor-22 .elementor-element.elementor-element-45dece1 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --justify-content: space-between;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-22
  .elementor-element.elementor-element-45dece1:not(.elementor-motion-effects-element-type-background),
.elementor-22
  .elementor-element.elementor-element-45dece1
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: #6fa4d1;
}
.elementor-22 .elementor-element.elementor-element-cdebed8 {
  --display: flex;
}
.elementor-widget-image .widget-image-caption {
  color: var(--e-global-color-text);
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-22
  .elementor-element.elementor-element-bb690a4
  > .elementor-widget-container {
  padding: 50px 0px 0px 50px;
}
.elementor-22 .elementor-element.elementor-element-bb690a4 {
  text-align: start;
}
.elementor-22 .elementor-element.elementor-element-bb690a4 img {
  width: 50%;
}
.elementor-22
  .elementor-element.elementor-element-bb690a4
  .elementor-heading-title {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  font-size: 92px;
  font-weight: 500;
  line-height: 1em;
  text-transform: uppercase;
  color: #f3ede2;
  max-width: 560px;
}
.elementor-22 .elementor-element.elementor-element-9b370f5 {
  --display: flex;
  --min-height: 260px;
}
.elementor-22
  .elementor-element.elementor-element-9b370f5:not(.elementor-motion-effects-element-type-background),
.elementor-22
  .elementor-element.elementor-element-9b370f5
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: #eaa92c;
}
.elementor-22
  .elementor-element.elementor-element-52708e2
  > .elementor-widget-container {
  margin: -52px 0px -52px 0px;
}
.elementor-22 .elementor-element.elementor-element-52708e2 {
  text-align: end;
}
.elementor-22 .elementor-element.elementor-element-52708e2 img {
  width: 72%;
}
.elementor-22
  .elementor-element.elementor-element-f6a72d1
  > .elementor-widget-container {
  margin: -95px 0px -40px 0px;
}
.elementor-22 .elementor-element.elementor-element-f6a72d1 {
  text-align: end;
}
.elementor-22 .elementor-element.elementor-element-f6a72d1 img {
  width: 100%;
  transform: rotate(-9deg);
  transform-origin: center;
}
.elementor-22 .elementor-element.elementor-element-5f4a9f9 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-22
  .elementor-element.elementor-element-5f4a9f9:not(.elementor-motion-effects-element-type-background),
.elementor-22
  .elementor-element.elementor-element-5f4a9f9
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-image: url("../../../../assets/DSC03937.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.elementor-22 .elementor-element.elementor-element-123779c {
  position: relative;
  overflow: hidden;
  --display: flex;
  --min-height: 568px;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --overlay-opacity: 1;
  --padding-top: 50px;
  --padding-bottom: 50px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-22 .elementor-element.elementor-element-123779c::before,
.elementor-22
  .elementor-element.elementor-element-123779c
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-123779c
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-123779c
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-123779c
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-123779c
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-color: #000000;
  --background-overlay: "";
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
}
.elementor-element-123779c > .bravo-bg-foto {
  position: absolute;
  top: 54px;
  right: 0;
  height: calc(100% - 54px);
  width: 45%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
}
.elementor-element-123779c > .e-con-inner {
  position: relative;
  z-index: 1;
}
.elementor-22
  .elementor-element.elementor-element-1c47084
  .elementor-icon-wrapper {
  text-align: start;
}
.elementor-22
  .elementor-element.elementor-element-1c47084.elementor-view-stacked
  .elementor-icon {
  background-color: #a9cdff;
}
.elementor-22
  .elementor-element.elementor-element-1c47084.elementor-view-framed
  .elementor-icon,
.elementor-22
  .elementor-element.elementor-element-1c47084.elementor-view-default
  .elementor-icon {
  color: #a9cdff;
  border-color: #a9cdff;
}
.elementor-22
  .elementor-element.elementor-element-1c47084.elementor-view-framed
  .elementor-icon,
.elementor-22
  .elementor-element.elementor-element-1c47084.elementor-view-default
  .elementor-icon
  svg {
  fill: #a9cdff;
}
.elementor-22 .elementor-element.elementor-element-1c47084 .elementor-icon {
  font-size: 17px;
}
.elementor-22 .elementor-element.elementor-element-1c47084 .elementor-icon svg {
  height: 17px;
}
.elementor-22
  .elementor-element.elementor-element-1c47084
  .elementor-icon-wrapper
  svg {
  width: auto;
}
.elementor-widget-divider {
  --divider-color: var(--e-global-color-secondary);
}
.elementor-widget-divider .elementor-divider__text {
  color: var(--e-global-color-secondary);
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-weight: var(--e-global-typography-secondary-font-weight);
}
.elementor-widget-divider.elementor-view-stacked .elementor-icon {
  background-color: var(--e-global-color-secondary);
}
.elementor-widget-divider.elementor-view-framed .elementor-icon,
.elementor-widget-divider.elementor-view-default .elementor-icon {
  color: var(--e-global-color-secondary);
  border-color: var(--e-global-color-secondary);
}
.elementor-widget-divider.elementor-view-framed .elementor-icon,
.elementor-widget-divider.elementor-view-default .elementor-icon svg {
  fill: var(--e-global-color-secondary);
}
.elementor-22 .elementor-element.elementor-element-81b0096 {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: initial;
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-22 .elementor-element.elementor-element-40ab2a8 {
  --display: flex;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-22
  .elementor-element.elementor-element-24b0c1f
  .elementor-heading-title {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #f3ede2;
}
.elementor-22 .elementor-element.elementor-element-a77c1cf {
  width: var(--container-widget-width, 82%);
  max-width: 82%;
  --container-widget-width: 82%;
  --container-widget-flex-grow: 0;
  text-align: left;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #f3f3f3;
}
.elementor-22 .elementor-element.elementor-element-4d9a2a6 {
  --display: flex;
}
.elementor-22 .elementor-element.elementor-element-aeb1a2b {
  background-color: #6fa4d1;
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --overlay-opacity: 1;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-22 .elementor-element.elementor-element-aeb1a2b::before,
.elementor-22
  .elementor-element.elementor-element-aeb1a2b
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-aeb1a2b
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-aeb1a2b
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-aeb1a2b
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-aeb1a2b
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
}
.elementor-22 .elementor-element.elementor-element-eb844dd {
  --spacer-size: 50px;
}
.elementor-22 .elementor-element.elementor-element-8a4bbc7 {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: initial;
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --gap: 0px 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --overlay-opacity: 1;
  --padding-top: 22px;
  --padding-bottom: 22px;
  --padding-left: 0px;
  --padding-right: 0px;
  --min-height: initial;
}
.elementor-22 .elementor-element.elementor-element-8a4bbc7::before,
.elementor-22
  .elementor-element.elementor-element-8a4bbc7
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-8a4bbc7
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-8a4bbc7
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-8a4bbc7
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-8a4bbc7
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-color: #eaa92c;
  --background-overlay: "";
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
}
.elementor-22 .elementor-element.elementor-element-51930b5 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-22
  .elementor-element.elementor-element-c3a3555
  .elementor-heading-title {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  text-transform: uppercase;
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 1.8px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #ffffff;
}
.elementor-22 .elementor-element.elementor-element-84c3fb4 {
  width: var(--container-widget-width, 82%);
  max-width: 82%;
  --container-widget-width: 82%;
  --container-widget-flex-grow: 0;
  text-align: justify;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #ffffff;
}
.elementor-22 .elementor-element.elementor-element-c3a4943 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-widget-form .elementor-field-group > label,
.elementor-widget-form .elementor-field-subgroup label {
  color: var(--e-global-color-text);
}
.elementor-widget-form .elementor-field-group > label {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-form .elementor-field-type-html {
  color: var(--e-global-color-text);
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-form .elementor-field-group .elementor-field {
  color: var(--e-global-color-text);
}
.elementor-widget-form .elementor-field-group .elementor-field,
.elementor-widget-form .elementor-field-subgroup label {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-form .elementor-button {
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight);
}
.elementor-widget-form .e-form__buttons__wrapper__button-next {
  background-color: var(--e-global-color-accent);
}
.elementor-widget-form .elementor-button[type="submit"] {
  background-color: var(--e-global-color-accent);
}
.elementor-widget-form .e-form__buttons__wrapper__button-previous {
  background-color: var(--e-global-color-accent);
}
.elementor-widget-form .elementor-message {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-form .e-form__indicators__indicator,
.elementor-widget-form .e-form__indicators__indicator__label {
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight);
}
.elementor-widget-form {
  --e-form-steps-indicator-inactive-primary-color: var(--e-global-color-text);
  --e-form-steps-indicator-active-primary-color: var(--e-global-color-accent);
  --e-form-steps-indicator-completed-primary-color: var(
    --e-global-color-accent
  );
  --e-form-steps-indicator-progress-color: var(--e-global-color-accent);
  --e-form-steps-indicator-progress-background-color: var(
    --e-global-color-text
  );
  --e-form-steps-indicator-progress-meter-color: var(--e-global-color-text);
}
.elementor-widget-form .e-form__indicators__indicator__progress__meter {
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight);
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group {
  padding-right: calc(10px / 2);
  padding-left: calc(10px / 2);
  margin-bottom: 10px;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-form-fields-wrapper {
  margin-left: calc(-10px / 2);
  margin-right: calc(-10px / 2);
  margin-bottom: -10px;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group.recaptcha_v3-bottomleft,
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group.recaptcha_v3-bottomright {
  margin-bottom: 0;
}
body.rtl
  .elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-labels-inline
  .elementor-field-group
  > label {
  padding-left: 0px;
}
body:not(.rtl)
  .elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-labels-inline
  .elementor-field-group
  > label {
  padding-right: 0px;
}
body
  .elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-labels-above
  .elementor-field-group
  > label {
  padding-bottom: 0px;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-type-html {
  padding-bottom: 0px;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group
  .elementor-field {
  color: #ffffff;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group
  .elementor-field,
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-subgroup
  label {
  font-family: "Roboto", Sans-serif;
  font-weight: 500;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group:not(.elementor-field-type-upload)
  .elementor-field:not(.elementor-select-wrapper) {
  background-color: #eaa92c;
  border-color: #0d2444;
  border-width: 0px 0px 0px 0px;
  border-radius: 10px 10px 10px 10px;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group
  .elementor-select-wrapper
  select {
  background-color: #eaa92c;
  border-color: #0d2444;
  border-width: 0px 0px 0px 0px;
  border-radius: 10px 10px 10px 10px;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-field-group
  .elementor-select-wrapper::before {
  color: #0d2444;
}
.elementor-22 .elementor-element.elementor-element-8a7f247 .elementor-button {
  font-family: "Roboto", Sans-serif;
  font-weight: 600;
  border-radius: 30px 30px 30px 30px;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .e-form__buttons__wrapper__button-next {
  background-color: #a9cdff;
  color: #000000;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-button[type="submit"] {
  background-color: #eaa92c;
  color: #0d2444;
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  text-transform: uppercase;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-button[type="submit"]
  svg
  * {
  fill: #000000;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .e-form__buttons__wrapper__button-previous {
  color: #ffffff;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .e-form__buttons__wrapper__button-next:hover {
  color: #ffffff;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-button[type="submit"]:hover {
  color: #0d2444;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .elementor-button[type="submit"]:hover
  svg
  * {
  fill: #0d2444;
}
.elementor-22
  .elementor-element.elementor-element-8a7f247
  .e-form__buttons__wrapper__button-previous:hover {
  color: #ffffff;
}
.elementor-22 .elementor-element.elementor-element-8a7f247 {
  --e-form-steps-indicators-spacing: 20px;
  --e-form-steps-indicator-padding: 30px;
  --e-form-steps-indicator-inactive-secondary-color: #ffffff;
  --e-form-steps-indicator-active-secondary-color: #ffffff;
  --e-form-steps-indicator-completed-secondary-color: #ffffff;
  --e-form-steps-divider-width: 1px;
  --e-form-steps-divider-gap: 10px;
}
.bravo-mesas-wrapper {
  margin: 4px 0 14px;
}
.mesas-disponiveis {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.mesas-disponiveis .mesas-msg {
  color: #0d2444;
  opacity: 0.85;
  font-family: "Roboto", Sans-serif;
  font-size: 13px;
  margin: 0;
}
.mesa-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 110px;
  padding: 8px 14px;
  background-color: #0d2444;
  border: 1px solid #ffffff;
  border-radius: 10px;
  color: #ffffff;
  font-family: "Roboto", Sans-serif;
  cursor: pointer;
  transition:
    background-color 0.2s,
    color 0.2s;
}
.mesa-card strong {
  font-size: 14px;
}
.mesa-card span {
  font-size: 12px;
  opacity: 0.8;
}
.mesa-card:hover {
  background-color: rgba(234, 169, 44, 0.15);
}
.mesa-card.selecionada {
  background-color: #eaa92c;
  color: #000000;
}
.mesa-card.selecionada span {
  opacity: 0.75;
}
.reserva-feedback {
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 10px;
  min-height: 1em;
}
.reserva-feedback.sucesso {
  color: #1f9d55;
}
.reserva-feedback.erro {
  color: #c62828;
}

/* Coverflow Carousel (added, not yet wired into the rest of the design) */
.bravo-cf-section {
  background-color: #000000;
  padding: 48px 0;
  overflow: hidden;
}
.bravo-cf-heading {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  text-transform: uppercase;
  text-align: center;
  color: #6fa4d1;
  font-size: 42px;
  font-weight: 500;
  letter-spacing: 1.8px;
  margin: 0 0 12px;
}
.bravo-cf-intro {
  font-family: "Roboto", Sans-serif;
  text-align: center;
  color: rgba(255, 255, 255, 0.75);
  font-size: 15px;
  line-height: 1.6;
  max-width: 640px;
  margin: 0 auto 12px;
  padding: 0 24px;
}
.bravo-cf {
  width: 100%;
}
.bravo-cf-stage {
  position: relative;
}
.bravo-cf-frame {
  cursor: grab;
  overflow: hidden;
  padding: 60px 0;
  outline: none;
  touch-action: pan-y;
}
.bravo-cf-frame:active {
  cursor: grabbing;
}
.bravo-cf-track {
  position: relative;
  height: var(--cf-card);
  transform-style: preserve-3d;
  user-select: none;
}
.bravo-cf-card {
  position: absolute;
  left: 50%;
  top: 0;
  width: var(--cf-card);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 16px;
  background-color: #262626;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
  will-change: transform;
}
.bravo-cf-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}
.bravo-cf-nav {
  position: absolute;
  top: 50%;
  z-index: 200;
  transform: translateY(-50%);
  border-radius: 999px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  border: none;
  padding: 8px;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: background-color 0.2s;
}
.bravo-cf-nav:hover {
  background-color: rgba(0, 0, 0, 0.85);
}
.bravo-cf-nav.prev {
  left: 12px;
}
.bravo-cf-nav.next {
  right: 12px;
}
.bravo-cf-caption {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 24px;
  text-align: center;
  font-family: "Roboto", Sans-serif;
}
.bravo-cf-caption .bravo-cf-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin: 0;
}
.bravo-cf-caption .bravo-cf-subtitle {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin: 4px 0 0;
}
.bravo-cf-caption .bravo-cf-btn {
  display: inline-block;
  margin: 12px 0 0;
  padding: 8px 22px;
  border: 1px solid #eaa92c;
  border-radius: 999px;
  font-family: "Roboto", Sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.6px;
  color: #eaa92c;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}
.bravo-cf-caption .bravo-cf-btn:hover {
  background-color: #eaa92c;
  color: #000000;
}
.bravo-cf-caption dl.bravo-cf-meta {
  margin: 40px 0 0;
  width: 100%;
  max-width: 230px;
  font-size: 12px;
}
.bravo-cf-caption dl.bravo-cf-meta > div {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
}
.bravo-cf-caption dl.bravo-cf-meta dt {
  color: rgba(255, 255, 255, 0.6);
}
.bravo-cf-caption dl.bravo-cf-meta dd {
  color: #ffffff;
  font-weight: 500;
  margin: 0;
}
.bravo-cf-pagination {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.bravo-cf-pagination button {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background-color: #ffffff;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.3;
  transition: opacity 0.2s;
}
.bravo-cf-pagination button[aria-current="true"] {
  opacity: 1;
}
.bravo-datepicker-wrapper {
  position: relative;
}
.bravo-calendario {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 20;
  width: 260px;
  background-color: #ffffff;
  border: 1.5px solid #dcdcd7;
  border-radius: 10px;
  padding: 12px;
  box-shadow: 0 10px 30px rgba(13, 36, 68, 0.25);
  font-family: "Roboto", Sans-serif;
}
.bravo-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.bravo-cal-titulo {
  color: #0d2444;
  font-weight: 700;
  font-size: 14px;
  text-transform: capitalize;
}
.bravo-cal-nav {
  background: none;
  border: 1.5px solid #dcdcd7;
  color: #0d2444;
  border-radius: 6px;
  width: 26px;
  height: 26px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}
.bravo-cal-nav:hover {
  border-color: #eaa92c;
  background-color: rgba(234, 169, 44, 0.12);
}
.bravo-cal-semana {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  color: #b08a3e;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 4px;
}
.bravo-cal-dias {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.bravo-cal-dia {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  height: 30px;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border-radius: 6px;
  color: #0d2444;
  font-size: 13px;
  cursor: pointer;
  background: none;
  border: 1px solid transparent;
}
.bravo-cal-dia:hover:not(.desabilitado) {
  background-color: rgba(234, 169, 44, 0.18);
}
.bravo-cal-dia.fora-do-mes {
  color: #c3c3bd;
}
.bravo-cal-dia.hoje {
  border-color: #eaa92c;
}
.bravo-cal-dia.selecionado {
  background-color: #0d2444;
  color: #ffffff;
  font-weight: 700;
}
.bravo-cal-dia.desabilitado {
  color: #4a4a4a;
  cursor: not-allowed;
  text-decoration: line-through;
}
.bravo-cal-dia.fechado {
  cursor: default;
  pointer-events: none;
}
.bravo-cal-footer {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #e4e4de;
}
.bravo-cal-footer button {
  background: none;
  border: none;
  color: #eaa92c;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  padding: 4px;
}
.bravo-horario-lista {
  width: 100%;
  max-height: 220px;
  overflow-y: auto;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bravo-horario-opcao {
  width: 100%;
  height: auto;
  justify-content: flex-start;
  padding: 9px 12px;
  font-size: 14px;
  font-weight: 600;
}
#reserva-horario-trigger {
  cursor: pointer;
}
#reserva-horario-trigger:disabled {
  background-color: #f2f2ef !important;
  color: #9a9a94 !important;
  cursor: not-allowed;
}
.bravo-cal-footer button:hover {
  text-decoration: underline;
}
.elementor-22 .elementor-element.elementor-element-53f9408 {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: initial;
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --gap: 0px 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --padding-top: 50px;
  --padding-bottom: 50px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-22
  .elementor-element.elementor-element-53f9408:not(.elementor-motion-effects-element-type-background),
.elementor-22
  .elementor-element.elementor-element-53f9408
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: #4f87b5;
}
.elementor-22 .elementor-element.elementor-element-996d97b {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --justify-content: center;
}
.elementor-22 .elementor-element.elementor-element-ffc11d7 {
  text-align: start;
}
.elementor-22 .elementor-element.elementor-element-ffc11d7 img {
  width: 72%;
}
.elementor-22 .elementor-element.elementor-element-ffea8a6 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-22
  .elementor-element.elementor-element-e329684
  .elementor-heading-title {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  text-transform: uppercase;
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 1.8px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #ffffff;
  text-align: center;
}
.elementor-22 .elementor-element.elementor-element-fa6123c {
  width: var(--container-widget-width, 82%);
  max-width: 82%;
  --container-widget-width: 82%;
  --container-widget-flex-grow: 0;
  text-align: start;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #ffffff;
}
.elementor-22 .elementor-element.elementor-element-aa54dc7 .elementor-button {
  background-color: #eaa92c00;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  font-style: normal;
  text-decoration: none;
  line-height: 1em;
  letter-spacing: 0.6px;
  word-spacing: 0em;
  fill: #ffffff;
  color: #ffffff;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #ffffff;
  border-radius: 100px 100px 100px 100px;
}
.elementor-22
  .elementor-element.elementor-element-aa54dc7
  .elementor-button:hover,
.elementor-22
  .elementor-element.elementor-element-aa54dc7
  .elementor-button:focus {
  background-color: #ffffff;
  color: #0d2444;
}
.elementor-22 .elementor-element.elementor-element-aa54dc7.elementor-element {
  --flex-grow: 1;
  --flex-shrink: 0;
}
.elementor-22
  .elementor-element.elementor-element-aa54dc7
  .elementor-button-content-wrapper {
  flex-direction: row-reverse;
}
.elementor-22
  .elementor-element.elementor-element-aa54dc7
  .elementor-button:hover
  svg,
.elementor-22
  .elementor-element.elementor-element-aa54dc7
  .elementor-button:focus
  svg {
  fill: #0d2444;
}
.elementor-22 .elementor-element.elementor-element-afc135a {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --overlay-opacity: 1;
}
.elementor-22 .elementor-element.elementor-element-afc135a::before,
.elementor-22
  .elementor-element.elementor-element-afc135a
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-afc135a
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-22
  .elementor-element.elementor-element-afc135a
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-afc135a
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-22
  .elementor-element.elementor-element-afc135a
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-image: url("../../../../assets/Bravo Externo.jpeg");
  --background-overlay: "";
  background-position: center center;
  background-size: cover;
}
.elementor-22 .elementor-element.elementor-element-602d623 {
  --spacer-size: 315px;
}
.elementor-22 .elementor-element.elementor-element-7ba6090 {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: initial;
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --gap: 0px 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  position: relative;
}
@media (min-width: 768px) {
  .elementor-element-59e73de {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.elementor-22 .elementor-element.elementor-element-59e73de {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-22 .elementor-element.elementor-element-055b4d1 img {
  width: 22%;
}
.elementor-22 .elementor-element.elementor-element-5a24b8e {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-22 .elementor-element.elementor-element-ac9290d {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --justify-content: center;
}
@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-ac9290d {
    margin-left: auto;
  }
}
.elementor-22
  .elementor-element.elementor-element-be79a71
  .elementor-icon-list-icon
  i {
  color: #ffffff;
  transition: color 0.3s;
}
.elementor-22
  .elementor-element.elementor-element-be79a71
  .elementor-icon-list-icon
  svg {
  fill: #ffffff;
  transition: fill 0.3s;
}
.elementor-22 .elementor-element.elementor-element-be79a71 {
  --e-icon-list-icon-size: 28px;
  --icon-vertical-offset: 0px;
}
.elementor-22
  .elementor-element.elementor-element-be79a71
  .elementor-icon-list-text {
  transition: color 0.3s;
}
.elementor-22 .elementor-element.elementor-element-c401580 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
}
.elementor-22 .elementor-element.elementor-element-7ba6090,
.elementor-22 .elementor-element.elementor-element-c401580 {
  background-color: #000000;
}
.elementor-22 .elementor-element.elementor-element-31c2875 {
  text-align: center;
}
.elementor-22
  .elementor-element.elementor-element-31c2875
  .elementor-heading-title {
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #ffffff;
}
body.elementor-page-22:not(.elementor-motion-effects-element-type-background),
body.elementor-page-22
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: #000000;
}
:root {
  --page-title-display: none;
  background-color: #000000;
}
@media (max-width: 1024px) {
  .elementor-22 .elementor-element.elementor-element-4303176 {
    --min-height: 85px;
    --justify-content: space-between;
    --padding-top: 0%;
    --padding-bottom: 0%;
    --padding-left: 5%;
    --padding-right: 5%;
  }
  .elementor-22 .elementor-element.elementor-element-52d3227f {
    --justify-content: flex-end;
    --align-items: center;
    --container-widget-width: calc(
      (1 - var(--container-widget-flex-grow)) * 100%
    );
  }
  .elementor-22
    .elementor-element.elementor-element-a9c6bc1
    .elementor-icon-list-items:not(.elementor-inline-items)
    .elementor-icon-list-item:not(:last-child) {
    padding-block-end: calc(25px / 2);
  }
  .elementor-22
    .elementor-element.elementor-element-a9c6bc1
    .elementor-icon-list-items:not(.elementor-inline-items)
    .elementor-icon-list-item:not(:first-child) {
    margin-block-start: calc(25px / 2);
  }
  .elementor-22
    .elementor-element.elementor-element-a9c6bc1
    .elementor-icon-list-items.elementor-inline-items
    .elementor-icon-list-item {
    margin-inline: calc(25px / 2);
  }
  .elementor-22
    .elementor-element.elementor-element-a9c6bc1
    .elementor-icon-list-items.elementor-inline-items {
    margin-inline: calc(-25px / 2);
  }
  .elementor-22
    .elementor-element.elementor-element-a9c6bc1
    .elementor-icon-list-items.elementor-inline-items
    .elementor-icon-list-item:after {
    inset-inline-end: calc(-25px / 2);
  }
  .elementor-22
    .elementor-element.elementor-element-a9c6bc1
    .elementor-icon-list-item
    > .elementor-icon-list-text,
  .elementor-22
    .elementor-element.elementor-element-a9c6bc1
    .elementor-icon-list-item
    > a {
    font-size: 12px;
  }
  .elementor-22 .elementor-element.elementor-element-336f57c2 {
    width: initial;
    max-width: initial;
  }
  .elementor-22
    .elementor-element.elementor-element-336f57c2
    > .elementor-widget-container {
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
  }
  .elementor-22
    .elementor-element.elementor-element-336f57c2
    .elementor-button {
    font-size: 12px;
    padding: 14px 35px 14px 35px;
  }
  .elementor-22 .elementor-element.elementor-element-2bea7a6 {
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 50px;
    --padding-right: 50px;
  }
  .elementor-22 .elementor-element.elementor-element-3997567 .elementor-button {
    font-size: 14px;
    padding: 14px 35px 14px 35px;
  }
  .elementor-22 .elementor-element.elementor-element-d2776da .elementor-icon {
    font-size: 100px;
  }
  .elementor-22
    .elementor-element.elementor-element-d2776da
    .elementor-icon
    svg {
    height: 100px;
  }
  .elementor-22
    .elementor-element.elementor-element-bb690a4
    > .elementor-widget-container {
    padding: 20px 20px 20px 20px;
  }
  .elementor-22 .elementor-element.elementor-element-bb690a4 {
    text-align: center;
  }
  .elementor-22 .elementor-element.elementor-element-bb690a4 img {
    width: 87%;
  }
  .elementor-22 .elementor-element.elementor-element-9b370f5 {
    --min-height: 281px;
  }
  .elementor-22 .elementor-element.elementor-element-123779c::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .e-con-inner
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .e-con-inner
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer::before {
    background-position: 148px 0px;
    background-size: cover;
  }
  .elementor-22 .elementor-element.elementor-element-123779c {
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 50px;
    --padding-right: 50px;
  }
  .elementor-22 .elementor-element.elementor-element-aeb1a2b::before,
  .elementor-22
    .elementor-element.elementor-element-aeb1a2b
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-aeb1a2b
    > .e-con-inner
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-aeb1a2b
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-aeb1a2b
    > .e-con-inner
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-aeb1a2b
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer::before {
    background-size: contain;
  }
  .elementor-22 .elementor-element.elementor-element-8a4bbc7 {
    --padding-top: 25px;
    --padding-bottom: 25px;
    --padding-left: 30px;
    --padding-right: 30px;
  }
  .elementor-22 .elementor-element.elementor-element-53f9408 {
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 50px;
    --padding-right: 50px;
  }
  .elementor-22 .elementor-element.elementor-element-996d97b {
    --justify-content: flex-start;
  }
  .elementor-22 .elementor-element.elementor-element-ffc11d7 img {
    width: 92%;
  }
  .elementor-22 .elementor-element.elementor-element-aa54dc7 .elementor-button {
    font-size: 14px;
    padding: 14px 35px 14px 35px;
  }
  .elementor-22 .elementor-element.elementor-element-055b4d1 img {
    width: 63%;
  }
}
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-2bea7a6::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .e-con-inner
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .e-con-inner
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-2bea7a6
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer::before {
    background-image: url("../../../../assets/DSC04138.jpg");
    height: clamp(210px, 66.7vw, 510px);
    bottom: auto;
    /* cover em vez de um percentual fixo: 120% cobria a largura em alguns
       aparelhos e deixava fundo preto nas laterais em outros, dependendo da
       proporcao de tela. cover cobre sempre, em qualquer largura. */
    background-size: cover;
    background-position: center 78%;
  }
  .elementor-22
    .elementor-element.elementor-element-bb690a4
    .elementor-heading-title {
    font-size: 38px;
    line-height: 1.1em;
    max-width: 100%;
    word-break: break-word;
  }
  .elementor-22 .elementor-element.elementor-element-4303176 {
    --min-height: 65px;
  }
  .elementor-22 .elementor-element.elementor-element-346d7c8b {
    --width: 100%;
    --padding-top: 25px;
    --padding-bottom: 25px;
    --padding-left: 25px;
    --padding-right: 25px;
  }
  .elementor-22
    .elementor-element.elementor-element-5822303
    .elementor-icon-wrapper {
    text-align: center;
  }
  .elementor-22 .elementor-element.elementor-element-52d3227f {
    --width: 80%;
  }
  .elementor-22
    .elementor-element.elementor-element-336f57c2
    .elementor-button {
    padding: 12px 25px 12px 25px;
  }
  .elementor-22 .elementor-element.elementor-element-2bea7a6 {
    --padding-top: calc(clamp(210px, 66.7vw, 510px) + 34px);
    --padding-bottom: 25px;
    --padding-left: 25px;
    --padding-right: 25px;
  }
  .elementor-22 .elementor-element.elementor-element-0dfd361 {
    --container-widget-width: 100%;
    --container-widget-flex-grow: 0;
    width: var(--container-widget-width, 100%);
    max-width: 100%;
    text-align: start;
  }
  .elementor-22 .elementor-element.elementor-element-3997567 .elementor-button {
    padding: 12px 25px 12px 25px;
  }
  .elementor-22
    .elementor-element.elementor-element-d2776da
    > .elementor-widget-container {
    margin: 22px 0px 0px 0px;
  }
  .elementor-22 .elementor-element.elementor-element-d2776da .elementor-icon {
    font-size: 98px;
  }
  .elementor-22
    .elementor-element.elementor-element-d2776da
    .elementor-icon
    svg {
    height: 98px;
  }
  .elementor-22 .elementor-element.elementor-element-d3e2b3e {
    --min-height: 266px;
  }
  .elementor-22 .elementor-element.elementor-element-9b370f5 {
    --min-height: 96px;
  }
  .elementor-22 .elementor-element.elementor-element-5f4a9f9 {
    --min-height: 458px;
    position: relative;
    z-index: 2;
    overflow: visible;
  }
  .elementor-22 .elementor-element.elementor-element-123779c::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .e-con-inner
    > .elementor-background-video-container::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .e-con-inner
    > .elementor-background-slideshow::before,
  .elementor-22
    .elementor-element.elementor-element-123779c
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer::before {
    background-position: 0px 0px;
  }
  .elementor-22 .elementor-element.elementor-element-123779c {
    --padding-top: 25px;
    --padding-bottom: 25px;
    --padding-left: 0px;
    --padding-right: 0px;
    --min-height: auto;
  }
  .elementor-element-123779c > .bravo-bg-foto {
    position: static;
    order: 2;
    width: 100%;
    height: 220px;
    margin-top: 10px;
  }
  .elementor-element-123779c > .e-con-inner {
    order: 1;
    padding-left: 25px;
    padding-right: 25px;
    box-sizing: border-box;
  }
  .elementor-element-4d9a2a6 {
    display: none !important;
  }
  .elementor-22 .elementor-element.elementor-element-eb844dd {
    --spacer-size: 5px;
  }
  .elementor-22 .elementor-element.elementor-element-8a4bbc7 {
    --padding-top: 10px;
    --padding-bottom: 10px;
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .elementor-22 .elementor-element.elementor-element-84c3fb4 {
    width: 100%;
    max-width: 100%;
    margin-top: 4px;
    text-align: center;
  }
  .elementor-22 .elementor-element.elementor-element-aa54dc7 .elementor-button {
    padding: 12px 25px 12px 25px;
  }
  .elementor-22 .elementor-element.elementor-element-055b4d1 img {
    width: 46%;
  }
  .elementor-22
    .elementor-element.elementor-element-31c2875
    .elementor-heading-title {
    font-size: 11px;
    line-height: 1.4em;
  }
}
@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-346d7c8b {
    --width: 40%;
  }
  .elementor-22 .elementor-element.elementor-element-52d3227f {
    --width: 60%;
  }
  .elementor-22 .elementor-element.elementor-element-c149110 {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-c91bf24 {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-d3e2b3e {
    --width: 25%;
  }
  .elementor-22 .elementor-element.elementor-element-45dece1 {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-5f4a9f9 {
    --width: 25%;
  }
  .elementor-22 .elementor-element.elementor-element-51930b5 {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-c3a4943 {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-996d97b {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-ffea8a6 {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-59e73de {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-5a24b8e {
    --width: 50%;
  }
  .elementor-22 .elementor-element.elementor-element-ac9290d {
    --width: 50%;
  }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-346d7c8b {
    --width: 15%;
  }
  .elementor-22 .elementor-element.elementor-element-52d3227f {
    --width: 77%;
  }
}

/* Reserve sua Mesa — compact CTA + modal */
.bravo-reserva-cta-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Reserve sua Mesa — respiro vertical igual em cima e embaixo.
   Dois desequilíbrios eram corrigidos aqui: o spacer acima da seção, que
   virava faixa azul extra só no topo, e a margem inferior do parágrafo, que
   sobrava só embaixo no layout de duas colunas. */
.elementor-22 .elementor-element.elementor-element-eb844dd {
  --spacer-size: 0px;
}
.elementor-22 .elementor-element.elementor-element-8a4bbc7 {
  --padding-top: 54px;
  --padding-bottom: 54px;
}
@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-84c3fb4 p:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 1024px) {
  .elementor-22 .elementor-element.elementor-element-8a4bbc7 {
    --padding-top: 55px;
    --padding-bottom: 55px;
  }
}
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-8a4bbc7 {
    --padding-top: 14px;
    --padding-bottom: 14px;
  }
}
.bravo-reserva-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: transparent;
  color: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 100px;
  padding: 14px 28px;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.bravo-reserva-cta svg {
  width: 14px;
  height: 14px;
  fill: #ffffff;
  transition: fill 0.2s;
}
.bravo-reserva-cta:hover {
  background-color: #ffffff;
  color: #0d2444;
}
.bravo-reserva-cta:hover svg {
  fill: #0d2444;
}

.bravo-reserva-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.75);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.bravo-reserva-overlay.aberto {
  display: flex;
}
.bravo-reserva-modal {
  position: relative;
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  background-color: #f7f6f3;
  border-radius: 18px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55);
  padding: 32px 28px 28px;
}
.bravo-reserva-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #eaa92c;
  background-color: #0d2444;
  color: #eaa92c;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  transition:
    background-color 0.2s,
    color 0.2s;
}
.bravo-reserva-close svg {
  width: 16px;
  height: 16px;
}
.bravo-reserva-close:hover {
  background-color: #eaa92c;
  color: #0d2444;
}
.bravo-reserva-modal-titulo {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  text-transform: uppercase;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #0d2444;
  text-align: center;
  margin: 0 0 20px;
}
.bravo-reserva-modal,
.bravo-reserva-modal input,
.bravo-reserva-modal select,
.bravo-reserva-modal textarea,
.bravo-reserva-modal button,
.bravo-reserva-modal .mesas-msg,
.bravo-reserva-modal .mesa-card,
.bravo-reserva-modal .reserva-feedback,
.bravo-reserva-modal .bravo-whatsapp-link span {
  font-family: "Roboto", Sans-serif;
}
.bravo-reserva-modal .elementor-form-fields-wrapper {
  margin: 0;
}
.bravo-reserva-modal
  input[type="number"]::-webkit-inner-spin-button,
.bravo-reserva-modal
  input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.bravo-reserva-modal input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.bravo-reserva-modal .elementor-field-group {
  margin-bottom: 14px;
}
.bravo-reserva-modal .elementor-field-type-recaptcha_v3 {
  display: none;
}
.bravo-reserva-modal .elementor-field-label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  display: block !important;
  font-family: "Roboto", Sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6b6b6b;
}
.bravo-reserva-modal .bravo-area-field {
  /* Escondido ate a data ser escolhida: so entao a pagina sabe quais areas
     tem mesa livre. Some tambem sempre que a data e limpa. */
  display: none;
}
.bravo-reserva-modal .bravo-area-field.visivel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.bravo-reserva-modal .bravo-area-aviso {
  margin: 8px 0 0;
  padding: 8px 12px;
  background-color: #fdf3e0;
  border: 1px solid #eaa92c;
  border-radius: 8px;
  font-family: "Roboto", Sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #8a5f10;
}
.bravo-reserva-modal
  .elementor-field-group:not(.elementor-field-type-upload)
  .elementor-field:not(.elementor-select-wrapper),
.bravo-reserva-modal .elementor-select-wrapper select {
  background-color: #ffffff !important;
  border: 1.5px solid #dcdcd7 !important;
  color: #0d2444 !important;
  border-radius: 8px !important;
}
.bravo-reserva-modal .elementor-field::placeholder {
  color: #9a9a94;
}
.bravo-reserva-modal .bravo-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.bravo-reserva-modal .bravo-pill {
  flex: 1 1 auto;
  background-color: #ffffff;
  border: 1.5px solid #dcdcd7;
  color: #0d2444;
  border-radius: 100px;
  padding: 11px 20px;
  font-family: "Roboto", Sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(13, 36, 68, 0.08);
  transition:
    background-color 0.15s,
    color 0.15s,
    border-color 0.15s,
    box-shadow 0.15s,
    transform 0.15s;
}
.bravo-reserva-modal .bravo-pill:hover {
  border-color: #eaa92c;
  box-shadow: 0 2px 8px rgba(13, 36, 68, 0.15);
}
.bravo-reserva-modal .bravo-pill.selecionada {
  background-color: #0d2444;
  border-color: #0d2444;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(13, 36, 68, 0.25);
}
.bravo-reserva-modal .bravo-pill:active {
  transform: scale(0.97);
}
.bravo-whatsapp-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}
.bravo-whatsapp-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: transparent;
  border: 1px solid #eaa92c;
  color: #eaa92c;
  border-radius: 100px;
  padding: 10px 20px;
  font-family: "Roboto", Sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition:
    background-color 0.2s,
    color 0.2s;
}
.bravo-whatsapp-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.bravo-whatsapp-link:hover {
  background-color: #eaa92c;
  color: #0d2444;
}

body.bravo-modal-aberto {
  overflow: hidden;
}

@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-895c757 {
    width: 100%;
    max-width: 100%;
    align-self: stretch;
  }
  .elementor-element-895c757 .elementor-heading-title {
    font-size: clamp(27px, 8.5vw, 35px);
    width: 100%;
    margin-inline: auto;
    text-align: center !important;
  }
  .bravo-hero-titulo-linha {
    display: block;
    width: 100%;
    /* nowrap removido: se algum aparelho ainda assim nao tiver largura
       suficiente, a linha quebra em vez de vazar pra fora da tela. */
    text-align: center;
  }
  .bravo-reserva-cta-wrapper {
    justify-content: center;
    margin-top: 6px;
  }
  .bravo-reserva-modal {
    padding: 26px 18px 22px;
  }
  .elementor-element-895c757 .elementor-heading-title,
  .elementor-element-0dfd361 p,
  .elementor-element-c3a3555 .elementor-heading-title,
  .elementor-element-84c3fb4 p,
  .elementor-element-e329684 .elementor-heading-title,
  .elementor-element-fa6123c p,
  .elementor-element-24b0c1f .elementor-heading-title,
  .elementor-element-a77c1cf p {
    text-align: center;
  }
  .elementor-element-e329684 .elementor-heading-title {
    white-space: nowrap;
    font-size: clamp(26px, 8.5vw, 35px);
    transform: translateX(-8px);
  }
  .elementor-22 .elementor-element.elementor-element-fa6123c,
  .elementor-22 .elementor-element.elementor-element-a77c1cf {
    width: 100%;
    max-width: 100%;
  }
  .elementor-element-3997567,
  .elementor-element-3997567 .elementor-button-wrapper,
  .elementor-element-aa54dc7,
  .elementor-element-aa54dc7 .elementor-button-wrapper {
    text-align: center;
  }
}

/* Rodapé — a logo fica centralizada em position:absolute sobre a faixa, que
   era mais baixa que ela: a sobra caía em cima da linha de copyright. A faixa
   ganha altura mínima suficiente, e a logo passa a ter largura fixa em px
   (em vez de %) para essa altura valer em qualquer largura de tela. */
@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-055b4d1 img {
    width: 152px;
  }
  .elementor-22 .elementor-element.elementor-element-7ba6090 {
    --min-height: 130px;
  }
}

/* ---- Reserva: estado de confirmacao ----
   Depois do envio o modal troca o formulario por este painel. Antes o unico
   retorno era uma linha de texto verde sobre um formulario recem-limpo, o que
   se confundia com "o site apagou o que eu digitei". */
.bravo-reserva-confirmacao {
  display: none;
  text-align: center;
  padding: 8px 0 4px;
}
.bravo-reserva-modal-inner.confirmado .bravo-reserva-confirmacao {
  display: block;
  animation: bravo-confirmacao-entra 0.35s ease-out both;
}
.bravo-reserva-modal-inner.confirmado .bravo-reserva-modal-titulo,
.bravo-reserva-modal-inner.confirmado .elementor-element-8a7f247 {
  display: none;
}
@keyframes bravo-confirmacao-entra {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.bravo-confirmacao-icone {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
}
.bravo-confirmacao-icone svg {
  display: block;
  width: 100%;
  height: 100%;
}
.bravo-confirmacao-circulo {
  fill: #0d2444;
  transform-origin: 50% 50%;
  animation: bravo-confirmacao-disco 0.35s cubic-bezier(0.34, 1.4, 0.64, 1) both;
}
.bravo-confirmacao-check {
  fill: none;
  stroke: #eaa92c;
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 34;
  stroke-dashoffset: 34;
  animation: bravo-confirmacao-risco 0.3s ease-out 0.28s both;
}
@keyframes bravo-confirmacao-disco {
  from {
    opacity: 0;
    transform: scale(0.4);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes bravo-confirmacao-risco {
  to {
    stroke-dashoffset: 0;
  }
}

.bravo-confirmacao-titulo {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  text-transform: uppercase;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 1.6px;
  color: #0d2444;
  margin: 0 0 8px;
}
.bravo-confirmacao-texto {
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #5a6577;
  margin: 0 0 22px;
}
.bravo-confirmacao-resumo {
  margin: 0 0 24px;
  padding: 0;
  border-top: 1px solid rgba(13, 36, 68, 0.14);
  border-bottom: 1px solid rgba(13, 36, 68, 0.14);
  text-align: left;
}
.bravo-confirmacao-linha {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 2px;
}
.bravo-confirmacao-linha + .bravo-confirmacao-linha {
  border-top: 1px solid rgba(13, 36, 68, 0.08);
}
.bravo-confirmacao-resumo dt {
  flex: none;
  margin: 0;
  font-family: "Roboto", Sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #7a8699;
}
.bravo-confirmacao-resumo dd {
  margin: 0;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #0d2444;
  text-align: right;
}
.bravo-confirmacao-btn {
  display: block;
  width: 100%;
  padding: 14px 24px;
  border: none;
  border-radius: 100px;
  background-color: #eaa92c;
  color: #0d2444;
  font-family: "Roboto", Sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.bravo-confirmacao-btn:hover {
  background-color: #d8991f;
}
.bravo-confirmacao-nova {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 6px;
  border: none;
  background: none;
  font-family: "Roboto", Sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #0d2444;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.bravo-confirmacao-nova:hover {
  color: #b8831a;
}

@media (prefers-reduced-motion: reduce) {
  .bravo-reserva-modal-inner.confirmado .bravo-reserva-confirmacao,
  .bravo-confirmacao-circulo,
  .bravo-confirmacao-check {
    animation: none;
  }
  .bravo-confirmacao-check {
    stroke-dashoffset: 0;
  }
}

/* ---- Subtitulos: linhas de apoio dos titulos, em Bebas Neue ----
   Bebas Neue so tem glifos maiusculos e e condensada: no mesmo corpo do Roboto
   ela fica pequena e apertada, entao vai acompanhada de aumento de tamanho,
   entrelinha e espacamento entre letras. */
.elementor-22 .elementor-element.elementor-element-84c3fb4,
.elementor-22 .elementor-element.elementor-element-84c3fb4 p,
.elementor-22
  .elementor-element.elementor-element-fa6123c
  .elementor-widget-container
  > p:first-child {
  font-family: "Bebas Neue", Sans-serif;
  font-weight: 400;
  letter-spacing: 0.7px;
  line-height: 1.25;
}
.elementor-22 .elementor-element.elementor-element-84c3fb4,
.elementor-22 .elementor-element.elementor-element-84c3fb4 p {
  font-size: 19px;
  text-align: left;
}
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-84c3fb4,
  .elementor-22 .elementor-element.elementor-element-84c3fb4 p {
    text-align: center;
  }
}
.elementor-22
  .elementor-element.elementor-element-fa6123c
  .elementor-widget-container
  > p:first-child {
  font-size: 19px;
}
/* Subheadline do hero, logo abaixo de "Onde o fogo encontra o proposito".
   Acompanha a largura de 82% do paragrafo do hero (0dfd361) e vira 100% no
   mobile, como ele. */
.bravo-hero-subheadline {
  width: 82%;
  max-width: 82%;
  margin: 0 0 14px;
  font-family: "Bebas Neue", Sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: 0.7px;
  color: #ffffff;
}
@media (max-width: 767px) {
  .bravo-hero-subheadline {
    width: 100%;
    max-width: 100%;
    font-size: 19px;
    text-align: center;
  }
}

/* Subheadline da secao Cardapio, entre o titulo e os paragrafos.
   Segue a largura e a centralizacao do .bravo-cf-intro. */
.bravo-cf-subheadline {
  font-family: "Bebas Neue", Sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0.9px;
  text-align: center;
  color: #ffffff;
  max-width: 640px;
  margin: 26px auto 10px;
  padding: 0 24px;
}
@media (max-width: 767px) {
  .bravo-cf-subheadline {
    font-size: 21px;
  }
}

/* Subheadline da secao "Um casarao com historia".
   Acompanha a largura de 82% do bloco de texto (a77c1cf). */
.bravo-casarao-subheadline {
  width: 82%;
  max-width: 82%;
  margin: 0 0 14px;
  font-family: "Bebas Neue", Sans-serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: 0.7px;
  color: #ffffff;
}
/* Espacamento entre os paragrafos do bloco do casarao, agora que sao <p>
   separados em vez de um bloco unico com <br><br>. */
.elementor-22 .elementor-element.elementor-element-a77c1cf p {
  margin: 0 0 14px;
}
.elementor-22 .elementor-element.elementor-element-a77c1cf p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .bravo-casarao-subheadline {
    text-align: center;
    width: 100%;
    max-width: 100%;
    font-size: 19px;
  }
}

/* Degrade sobre a foto do casarao, mesmo tratamento da primeira secao:
   preto solido na borda esquerda da imagem, dissolvendo para transparente,
   para a foto se fundir no fundo preto em vez de ter um corte reto.
   O ::before da secao ja e usado pelo Elementor, por isso ::after. */
.elementor-22 .elementor-element.elementor-element-123779c::after {
  content: "";
  position: absolute;
  top: 54px;
  right: 0;
  width: 45%;
  height: calc(100% - 54px);
  background-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.55) 22%,
    rgba(0, 0, 0, 0) 40%
  );
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  /* No mobile a foto vira uma faixa de largura total abaixo do texto: um
     degrade lateral nao faz sentido ali (a primeira secao tambem o dispensa). */
  .elementor-22 .elementor-element.elementor-element-123779c::after {
    display: none;
  }
}

/* Ornamento no lugar da linha divisoria acima de "Um casarao com historia". */
/* Seletor com a classe do wrapper porque ".elementor img { max-width: 100% }"
   do Elementor (especificidade 0,1,1) vence um ".bravo-ornamento" sozinho. */
.elementor-22 img.bravo-ornamento {
  display: block;
  width: 200px;
  max-width: 200px;
  height: auto;
  margin: 0 auto 18px;
}

/* ---- Perguntas frequentes (acordeao) ---- */
.bravo-faq-section {
  /* 10px lateral = --container-default-padding do Elementor, para a coluna
     cair exatamente na mesma borda esquerda das outras secoes. */
  background-color: #6fa4d1;
  padding: 56px 10px 64px;
}
/* 1140px e a largura de conteudo do site (--content-width do Elementor):
   assim a FAQ alinha com as demais secoes em vez de virar um bloco estreito
   centralizado no meio da pagina. */
.bravo-faq-inner {
  max-width: 1140px;
  margin: 0 auto;
}
.bravo-faq-titulo {
  font-family: "Bronzier", "Bebas Neue", Sans-serif;
  text-transform: uppercase;
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #ffffff;
  margin: 0 0 24px;
}
.bravo-faq-lista {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  --bravo-faq-duracao: 400ms;
  --bravo-faq-curva: ease-in-out;
}
.bravo-faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.bravo-faq-pergunta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 2px;
  cursor: pointer;
  font-family: "Roboto", Sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  color: #ffffff;
  list-style: none;
  transition: color 0.2s;
}
/* remove o triangulo padrao do <summary> nos dois motores */
.bravo-faq-pergunta::-webkit-details-marker {
  display: none;
}
.bravo-faq-pergunta::marker {
  content: "";
}
.bravo-faq-pergunta:hover {
  color: #eaa92c;
}
.bravo-faq-pergunta:focus-visible {
  outline: 2px solid #eaa92c;
  outline-offset: 3px;
  border-radius: 4px;
}
.bravo-faq-seta {
  flex: none;
  width: 20px;
  height: 20px;
  color: #eaa92c;
  transition: transform var(--bravo-faq-duracao) var(--bravo-faq-curva);
}
.bravo-faq-item[open] .bravo-faq-seta {
  transform: rotate(180deg);
}
.bravo-faq-resposta {
  overflow: hidden;
  padding: 0 2px 18px;
}
.bravo-faq-lista.is-enhanced .bravo-faq-resposta {
  display: block;
  max-height: 0;
  padding: 0 2px;
  transition: max-height var(--bravo-faq-duracao) var(--bravo-faq-curva);
}
.bravo-faq-lista.is-enhanced .bravo-faq-item.is-open .bravo-faq-resposta {
  max-height: var(--bravo-faq-altura, 0);
}
.bravo-faq-conteudo {
  min-height: 0;
  overflow: hidden;
}
.bravo-faq-lista.is-enhanced .bravo-faq-conteudo {
  padding-bottom: 18px;
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 280ms ease-in-out,
    transform var(--bravo-faq-duracao) var(--bravo-faq-curva);
  will-change: opacity, transform;
}
.bravo-faq-lista.is-enhanced
  .bravo-faq-item.is-open
  .bravo-faq-conteudo {
  opacity: 1;
  transform: translateY(0);
}
.bravo-faq-conteudo p {
  margin: 0 0 12px;
  font-family: "Roboto", Sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
}
.bravo-faq-conteudo p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .bravo-faq-section {
    padding: 40px 20px 48px;
  }
  .bravo-faq-titulo {
    font-size: 28px;
  }
  .bravo-faq-pergunta {
    font-size: 15px;
    padding: 16px 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bravo-faq-seta {
    transition: none;
  }
}

/* ---- Visite nossa casa: desktop ----
   Usa a mesma coluna de 1140px e a mesma hierarquia visual da FAQ. A coluna
   interna do Elementor estava presa em 50%, deixando o bloco pequeno e o
   titulo centralizado no meio da metade esquerda da pagina. */
@media (min-width: 1025px) {
  .elementor-22 .elementor-element.elementor-element-53f9408 {
    --padding-top: 56px;
    --padding-bottom: 64px;
  }

  .elementor-22 .elementor-element.elementor-element-ffea8a6 {
    --width: 100%;
    width: 100%;
    max-width: 100%;
    --align-items: flex-start;
  }

  .elementor-22 .elementor-element.elementor-element-e329684,
  .elementor-22
    .elementor-element.elementor-element-e329684
    .elementor-heading-title {
    text-align: left;
  }

  .elementor-22
    .elementor-element.elementor-element-e329684
    .elementor-heading-title {
    margin: 0 0 4px;
  }

  .elementor-22 .elementor-element.elementor-element-fa6123c {
    width: 100%;
    max-width: 100%;
    --container-widget-width: 100%;
    font-size: 17px;
    line-height: 1.55;
  }

  .elementor-22
    .elementor-element.elementor-element-fa6123c
    .elementor-widget-container
    > p {
    margin: 0 0 18px;
  }

  .elementor-22
    .elementor-element.elementor-element-fa6123c
    .elementor-widget-container
    > p:first-child {
    max-width: 100%;
    font-size: 24px;
    line-height: 1.3;
  }

  .elementor-22
    .elementor-element.elementor-element-fa6123c
    .elementor-widget-container
    > p:last-child {
    margin-bottom: 0;
  }

  .elementor-22
    .elementor-element.elementor-element-aa54dc7
    .elementor-button {
    font-size: 15px;
    padding: 14px 30px;
  }
}

/* FAQ: retorno tatil no toque e destaque do item aberto. */
.bravo-faq-pergunta {
  transition: color 0.2s, transform 0.12s ease;
  -webkit-tap-highlight-color: transparent;
}
.bravo-faq-pergunta:active {
  transform: scale(0.985);
}
.bravo-faq-item[open] .bravo-faq-pergunta {
  color: #eaa92c;
}
.bravo-faq-lista.is-enhanced .bravo-faq-item:not(.is-open) .bravo-faq-seta {
  transform: none;
}
.bravo-faq-lista.is-enhanced .bravo-faq-item:not(.is-open) .bravo-faq-pergunta {
  color: #ffffff;
}
.bravo-faq-lista.is-enhanced .bravo-faq-item:not(.is-open) .bravo-faq-pergunta:hover {
  color: #eaa92c;
}

/* No celular a secao inteira fica centralizada. */
@media (max-width: 767px) {
  .bravo-faq-titulo {
    text-align: center;
  }
  .bravo-faq-pergunta {
    justify-content: center;
    gap: 10px;
    text-align: center;
  }
  .bravo-faq-resposta {
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bravo-faq-resposta,
  .bravo-faq-conteudo,
  .bravo-faq-seta {
    transition: none;
  }
  .bravo-faq-pergunta:active {
    transform: none;
  }
}

/* Restringe ao proprio item o recalculo causado pela altura animada. */
.bravo-faq-item {
  contain: layout style;
}
