@charset "UTF-8";

/* ==========================================================================
   SFÉRICA - Custom Styles
   ========================================================================== */

/*
  TABLE OF CONTENTS
  -----------------
  1. Base & Reset
  2. Text
  3. Section Header
  4. Section Fullwidth Slider
  5. Alltour / Fotos / Video / Shortcode Cards
  6. Responsive (Tablet & Mobile)
*/

/* Design Tokens */
:root {
  /* Colors */
  --color-primary: #ff8017;
  --color-text: #939393;
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-gray: #868686;
  --color-gray-dark: #585858;
  --color-gray-darker: #464545;
  --color-accent-blue: #5d86b8;
  --color-accent-black: #2f2f2f;

  /* Gradients */
  --gradient-overlay-h: linear-gradient(90deg, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.30) 100%);
  --gradient-overlay-v: linear-gradient(0deg, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.20) 50%, rgba(0, 0, 0, 0.00) 100%);
  --gradient-overlay-v-strong: linear-gradient(0deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.40) 50%, rgba(0, 0, 0, 0.00) 100%);

  /* Effects */
  --shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
  --overlay-filter: rgba(0, 0, 0, 0.45);
  --overlay-modal: rgba(0, 0, 0, 0.8);

  /* Layout */
  --container-max-width: 90%;

  /* Spacing */
  --gap-xs: 5px;
  --gap-sm: 10px;
  --gap-md: 15px;
  --gap-lg: 20px;
  --gap-xl: 30px;

  /* Border radius */
  --radius-sm: 4px;
  --radius-md: 10px;

  /* Typography - Montserrat */
  --font-family: "Montserrat", Helvetica, Arial, sans-serif;
  --font-light: 300;
  --font-regular: 400;
  --font-semibold: 600;
  --font-bold: 700;
  --font-black: 900;

  --font-size-hero: 70px;
  --font-size-title: 46px;
  --font-size-subtitle: 30px;
  --font-size-base: 16px;
  --font-size-small: 12px;

  --line-height-tight: 120%;
  --line-height-body: 150%;

  /* Transitions */
  --transition-default: 0.2s ease;

  /* Fullwidth Slider – timings */
  --slider-image-duration: 4s;
  --slider-text-duration: 12s;

}

/* ==========================================================================
   1. BASE & RESET
   ========================================================================== */

* {
  padding: 0;
  margin: 0;
}
input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: transparent;
}

a,
button,
input[type="submit"] {
  outline: none !important;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

body {
  overflow-x: hidden;
  font-family: var(--font-family);
  color: var(--color-text);
}

/* Scrollbar customizado */
::-webkit-scrollbar {
  width: var(--gap-sm);
  height: var(--gap-sm);
}

::-webkit-scrollbar-track {
  background: var(--color-white);
}

::-webkit-scrollbar-thumb {
  background: var(--color-gray);
  border-radius: var(--radius-sm);
  border: 2px solid var(--color-white);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-gray-dark);
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-gray) var(--color-white);
}

.et-db #et-boc .et-l .et_pb_row {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
}

/* ==========================================================================
   2. TEXT
   ========================================================================== */

p, li {
  font-weight: var(--font-regular);
  font-size: 18px;
  line-height: 180%;
  color: var(--color-text);
}

/* ==========================================================================
   3. SECTION HEADER
   ========================================================================== */

.et-db #et-boc .et-l .section-header{
  padding: 0;
  z-index: 9;
}
.et-db #et-boc .et-l .section-header .content-header{
  height: 95px;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column {
  display: flex;
  flex-wrap: wrap;
  flex-direction: initial;
  align-items: center;
  gap: var(--gap-sm);
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column > *{
  width: fit-content;
  min-width: 0;
  margin-bottom: 0;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(1) {
  flex: 20%;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(2) {
  flex: 69%;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(3) {
  flex: 3%;
}

/* LOGO SECTION */

.et-db #et-boc .et-l .section-header .content-header .et_pb_column .logo .et_pb_image_wrap{
  width: auto;
  max-height: 55px;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .logo .et_pb_image_wrap img{
  width: 100%;
  height: 100%;
  max-height: 55px;
  object-fit: contain;
}

/* NAVIGATION SECTION */

.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu,
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu > *,
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-principal .et_pb_menu__wrap,
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-principal .et_pb_menu__wrap .et_pb_menu__menu,
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-principal .et_pb_menu__wrap .et_pb_menu__menu .et-menu-nav,
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-principal .et_pb_menu__wrap .et_pb_menu__menu .et-menu-nav .et-menu{
  height: 100%;
  justify-content: center;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap{
  align-items: center;
  justify-content: center;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu{
  margin: 0;
  gap: var(--gap-xs);
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-principal .et_pb_menu__wrap{
  justify-content: flex-end;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu.menu-secundario .et_pb_menu__menu{
  display: flex !important;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu.menu-secundario .et_mobile_nav_menu{
  display: none !important;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item,
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item a{
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-principal .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item{
  min-width: 155px;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item a{
  width: 100%;
  color: var(--color-white);
  background-color: var(--color-gray);
  font-size: var(--font-size-base);
  font-weight: var(--font-regular);
  line-height: var(--line-height-body);
  padding: 0 var(--gap-xl);
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.current_page_item a,
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item a:hover{
  background-color: var(--color-accent-blue);
  color: var(--color-white);
  opacity: 1;
}

/* MENU ICONS */

.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.menu-tour360 a{
  background-image: url(../images/icon-menu-tour360.svg);
  background-size: 130px;
  background-repeat: no-repeat;
  background-position: -20px 20px;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.menu-alltour a{
  background-image: url(../images/icon-menu-alltour.svg);
  background-size: 130px;
  background-repeat: no-repeat;
  background-position: -5px 10px;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.menu-fotos a{
  background-image: url(../images/icon-menu-fotos.svg);
  background-size: 110px;
  background-repeat: no-repeat;
  background-position: -15px 8px;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.menu-video360 a{
  background-image: url(../images/icon-menu-video360.svg);
  background-size: 90px;
  background-repeat: no-repeat;
  background-position: 8px 5px;
}

/* WHATSAPP BUTTON */

.et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-secundario .et_pb_menu__wrap{
  justify-content: flex-end;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.menu-whatsapp a{
  background-color: transparent;
  font-size: .1px;
  width: 30px;
  height: 30px;
  background-image: url(../images/icon-whatsapp.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.menu-whatsapp a:hover{
  transform: scale(1.15 );
}

/* ==========================================================================
   4. SECTION FULLWIDTH SLIDER
   ========================================================================== */

.et-db #et-boc .et-l .section-fullslider,
.et-db #et-boc .et-l .section-fullslider .content-fullslider,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .et_pb_column,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide .et_pb_slide_image,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide .et_pb_slide_image img{
  width: 100%;
  max-width: 100%;
  height: calc(100vh - 95px);
  padding: 0 !important;
  margin: 0 !important;
}

.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider::before{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-black);
  opacity: 0.4;
  z-index: 5;
}

.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .hero-slider-text-overlay {
  max-width: var(--container-max-width);
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 6;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Entrada: fade in + slide de baixo para cima | Saída: fade out + slide de cima para baixo */
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .hero-slider-text-overlay .hero-slider-text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(28px);
  transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s ease;
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .hero-slider-text-overlay .hero-slider-text.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .hero-slider-text-overlay .hero-slider-text{
  gap: 0;
}

.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide_title{
  font-family: var(--font-family);
  font-weight: var(--font-regular);
  font-size: var(--font-size-hero);
  line-height: 100%;
  color: var(--color-white);
  padding-bottom: 0;
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide_content{
  margin-bottom: 20px;
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide_content h2{
  font-family: var(--font-family);
  font-weight: var(--font-black);
  font-size: var(--font-size-title);
  line-height: 100%;
  color: var(--color-white);
  opacity: 0.6;
  padding-bottom: 0;
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide_content p{
  font-family: var(--font-family);
  font-weight: var(--font-regular);
  font-size: var(--font-size-subtitle);
  line-height: var(--line-height-body);
  color: var(--color-white);
  opacity: 0.6;
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_button{
  font-family: var(--font-family);
  font-weight: var(--font-semibold);
  font-size: var(--font-size-base);
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_button:hover{
  background-color: var(--color-accent-blue);
  color: var(--color-white);
  opacity: 1;
}

.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .hero-slider-text-overlay {
  z-index: 6;
}

/* Imagem do banner dentro do bloco de texto (abaixo do botão) */
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .hero-slider-text .hero-slider-image {
  width: 100%;
  margin: 0 !important;
  display: flex;
  justify-content: flex-start;
  bottom: 40px;
}
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .hero-slider-text .hero-slider-image img {
  max-height: 200px !important;
  max-width: 250px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Garantir que o slider tenha contexto de posicionamento para os dots */
.section-fullslider .component-fullslider,
.et-db #et-boc .et-l .section-fullslider .component-fullslider {
  position: relative;
}

/* ========== Parallax suave no BACKGROUND do slide ativo (scale 1.15 → 1 = cover) ========== */

/* Garante cover em todos os slides da section-fullslider */
.section-fullslider .content-fullslider .component-fullslider .et_pb_slide,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide {
  background-size: cover;
  background-position: center;
}

/* Slide ativo: pseudo-elemento com scale animado – termina exatamente em cover */
.section-fullslider .content-fullslider .component-fullslider .et-pb-active-slide,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et-pb-active-slide {
  position: relative;
  overflow: hidden;
}

.section-fullslider .content-fullslider .component-fullslider .et-pb-active-slide::before,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et-pb-active-slide::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: inherit;
  background-size: cover;
  background-position: center;
  transform-origin: center;
  animation: sferica-bg-scale var(--slider-image-duration) ease-out;
  pointer-events: none;
}

@keyframes sferica-bg-scale {
  from { transform: scale(1.15); }
  to { transform: scale(1); }
}

/* Garante que conteúdo do slide fique acima do pseudo-elemento */
.section-fullslider .content-fullslider .component-fullslider .et_pb_slide .et_pb_slide_content,
.et-db #et-boc .et-l .section-fullslider .content-fullslider .component-fullslider .et_pb_slide .et_pb_slide_content {
  position: relative;
  z-index: 1;
}

/* Esconder dots padrão do Divi (12) – usamos 4 dots customizados */
.section-fullslider .et-pb-controllers,
.et-db #et-boc .et-l .section-fullslider .et-pb-controllers {
  display: none !important;
}

/* Dots personalizados (4 itens) – dentro do .et_pb_slider.component-fullslider */
.section-fullslider .component-fullslider .hero-slider-dots,
.et-db #et-boc .et-l .section-fullslider .component-fullslider .hero-slider-dots {
  position: absolute;
  bottom: var(--gap-md);
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--gap-xs);
  pointer-events: none;
}
.section-fullslider .component-fullslider .hero-slider-dots .hero-slider-dots__dot,
.et-db #et-boc .et-l .section-fullslider .component-fullslider .hero-slider-dots .hero-slider-dots__dot {
  pointer-events: auto;
}
.hero-slider-dots__dot {
  width: 15px;
  height: 5px;
  border-radius: 5px;
  background-color: var(--color-white);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background-color var(--transition-default), transform var(--transition-default);
  opacity: 0.4;
  transition: opacity var(--transition-default);
}
.hero-slider-dots__dot:hover {
  opacity: 0.8;
}
.hero-slider-dots__dot.is-active {
  opacity: 1;
}

/* Texto fixo em overlay: só troca a cada 3 imagens (12s), não anima com o slide da imagem */
.section-fullslider .component-fullslider .et_pb_slide .et_pb_slide_description.hero-slider-hide-inline-text,
.et-db #et-boc .et-l .section-fullslider .component-fullslider .et_pb_slide .et_pb_slide_description.hero-slider-hide-inline-text {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Garante que, mesmo antes do JS rodar, o texto nativo do slide não pisque na tela */
.section-fullslider .et_pb_slide .et_pb_slide_description {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Imagem do banner fixa em overlay: mesmo comportamento do texto (troca a cada 3 imagens, mesma animação) */
.section-fullslider .component-fullslider .et_pb_slide .et_pb_slide_image.hero-slider-hide-inline-image,
.et-db #et-boc .et-l .section-fullslider .component-fullslider .et_pb_slide .et_pb_slide_image.hero-slider-hide-inline-image {
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  left: -9999px;
}

.section-fullslider .component-fullslider .hero-slider-image-overlay,
.et-db #et-boc .et-l .section-fullslider .component-fullslider .hero-slider-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Mesma animação do texto: entrada fade + slide baixo→cima, saída fade + slide cima→baixo */
.section-fullslider .component-fullslider .hero-slider-image-overlay .hero-slider-image,
.et-db #et-boc .et-l .section-fullslider .component-fullslider .hero-slider-image-overlay .hero-slider-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(28px);
  transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s ease;
}

.section-fullslider .component-fullslider .hero-slider-image-overlay .hero-slider-image.is-active,
.et-db #et-boc .et-l .section-fullslider .component-fullslider .hero-slider-image-overlay .hero-slider-image.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* ==========================================================================
   5.1 ALLTOUR
   ========================================================================== */

.et-db #et-boc .et-l .section {
  height: auto;
  min-height: calc(100vh - 127px);
  justify-content: center;
  background-attachment: fixed;
}
.et-db #et-boc .et-l .section .content{
  height: 100%;
}
.et-db #et-boc .et-l .section.alltour .content .et_pb_column{
  height: 100%;
  gap: 0;
  margin-bottom: 0;
  justify-content: center;
}
.et-db #et-boc .et-l .section.alltour .content .title h1{
  font-family: var(--font-family);
  font-size: var(--font-size-hero);
  font-weight: var(--font-regular);
  color: var(--color-primary);
  text-transform: uppercase;
  margin-bottom: 0;
  padding-bottom: 0;
}
.et-db #et-boc .et-l .section.alltour .content .subtitle h2{
  font-family: var(--font-family);
  font-size: var(--font-size-title);
  font-weight: var(--font-black);
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 0;
  padding-bottom: 0;
}
.et-db #et-boc .et-l .section.alltour .content .subtitle h3{
  font-family: var(--font-family);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-regular);
  color: var(--color-gray);
  margin-bottom: 0;
  padding-bottom: 0;
}
.et-db #et-boc .et-l .section.alltour .content .text {
  margin-top: var(--gap-xl);
  margin-bottom: var(--gap-xl);
}
.et-db #et-boc .et-l .section.alltour .content .text p{
  font-family: var(--font-family);
  font-size: 18px;
  line-height: 180%;
  font-weight: var(--font-regular);
  color: var(--color-text);
}
.et-db #et-boc .et-l .section.alltour .content .image .et_pb_image_wrap{
  max-width: 400px;
  opacity: .5;
}
.et-db #et-boc .et-l .section.alltour .content .image .et_pb_image_wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.et-db #et-boc .et-l .section.alltour .content .feature-image .et_pb_image_wrap {
  height: 70vh;
}
.et-db #et-boc .et-l .section.alltour .content .feature-image .et_pb_image_wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.et-db #et-boc .et-l .section .action{
  position: absolute;
  bottom: var(--gap-xl);
}
.et-db #et-boc .et-l .section .action .button {
  font-family: var(--font-family);
  font-weight: var(--font-semibold);
  font-size: 20px;
  padding: 6px 65px !important;
}
.et-db #et-boc .et-l .section .action .button:hover{
  background-color: var(--color-accent-blue);
  color: var(--color-white);
  opacity: 1;
}

/* ==========================================================================
   5.2 FOTOS
   ========================================================================== */

.et-db #et-boc .et-l .section.camera .content .image .et_pb_image_wrap {
  max-width: 300px;
}

/* ==========================================================================
   5.3 FOTOS - CASES
   ========================================================================== */

.et-db #et-boc .et-l .section.cases .content .title h1{
    font-family: var(--font-family);
    font-size: var(--font-size-title);
    font-weight: var(--font-regular);
    color: var(--color-primary);
    text-transform: uppercase;
    margin-bottom: 0;
    padding-bottom: 0;
}
.et-db #et-boc .et-l .section.cases .content .image .et_pb_image_wrap {
  max-width: 200px;
}

/* Galeria masonry (JS) + scroll em lotes — classe CSS "custom-mansory" no módulo Galeria (Divi).
   Colunas (JS): 5, abaixo de 1360 = 4, 1100 = 3, 767 = 2, 600 = 1; gap 20px.
   Largura = contentor (sem full-bleed).
   Desative a paginação do módulo para todas as imagens no HTML. */

.et_pb_gallery.custom-mansory {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  position: relative;
  clear: both;
}
.et_pb_gallery.custom-mansory .et_pb_gallery_pagination {
  display: none !important;
}

/* Divi 5: .et_grid_module usa CSS grid — desliga para o masonry absoluto funcionar */
.et_pb_gallery.custom-mansory .et_pb_gallery_items,
.et_pb_gallery.custom-mansory .et_pb_gallery_items.et_grid_module {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  display: block !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  grid-auto-flow: unset !important;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
}

.et_pb_gallery.custom-mansory .et_pb_gallery_item {
  float: none !important;
  max-width: none !important;
  padding: 0 !important;
  box-sizing: border-box;
  height: auto !important;
  min-height: 0 !important;
}

/* Evita flash/fantasma antes do JS iniciar (script é defer). */
.et_pb_gallery.custom-mansory:not([data-sferica-masonry-ready='1']) .et_pb_gallery_item {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Itens fora do lote: invisíveis no DOM; no lote: opacity 0 até o JS marcar .sferica-masonry-revealed após o masonry */
.et_pb_gallery.custom-mansory .et_pb_gallery_item.sferica-masonry-item:not(.sferica-masonry-batch-hidden):not(.sferica-masonry-revealed) {
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
}

.et_pb_gallery.custom-mansory .et_pb_gallery_item.sferica-masonry-revealed {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition:
    opacity 0.55s ease var(--sf-reveal-delay, 0ms),
    transform 0.55s ease var(--sf-reveal-delay, 0ms);
}

/* Sobrepor .hide() do jQuery / Divi nos itens visíveis */
.et_pb_gallery.custom-mansory .et_pb_gallery_item:not(.sferica-masonry-batch-hidden) {
  display: block !important;
  visibility: visible !important;
}

.et_pb_gallery.custom-mansory .et_pb_gallery_item.sferica-masonry-batch-hidden {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 981px) {
  .et_pb_gallery.custom-mansory .et_pb_gallery_items.et_grid_module {
    --column-count: 5 !important;
  }
}

.et_pb_gallery.custom-mansory .et_pb_gallery_image {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  min-height: 1px;
}
.et_pb_gallery.custom-mansory .et_pb_gallery_image a {
  display: block;
  width: 100%;
  overflow: hidden;
  transition: all 0.3s ease;
}
.et_pb_gallery.custom-mansory .et_pb_gallery_image a:hover img{
  transform: scale(1.1);
}
.et_pb_gallery.custom-mansory .et_pb_gallery_image img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: initial !important;
  aspect-ratio: auto !important;
  display: block;
  transition: all 0.3s ease;
}

/* Imagem invisível até o JS (após layout + load) — evita piscar ao mudar altura */
.et_pb_gallery.custom-mansory .et_pb_gallery_image.sferica-masonry-img-gate img {
  opacity: 0;
}
.et_pb_gallery.custom-mansory .et_pb_gallery_image.sferica-masonry-img-shown img {
  opacity: 1;
  transition: all 0.3s ease;
}
.et_pb_gallery.custom-mansory .et_pb_gallery_image .et_overlay{
  display: none !important;
}

/* Hover: overlay + ícone (estilo galerias masonry com popup) */
.et_pb_gallery.custom-mansory .et_pb_gallery_image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.38);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}

.et_pb_gallery.custom-mansory .et_pb_gallery_image::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 36px;
  height: 36px;
  margin: -18px 0 0 -18px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.28s ease, transform 0.28s ease;
  z-index: 1;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
}

.et_pb_gallery.custom-mansory .et_pb_gallery_item:hover .et_pb_gallery_image::after,
.et_pb_gallery.custom-mansory .et_pb_gallery_item:hover .et_pb_gallery_image::before {
  opacity: 1;
}

.et_pb_gallery.custom-mansory .et_pb_gallery_item:hover .et_pb_gallery_image::before {
  transform: scale(1);
}

.et_pb_gallery.custom-mansory .et_pb_gallery_title {
  font-size: 14px;
  line-height: 1.35;
  margin: 10px 0 0;
  padding: 0 4px;
  text-align: center;
  font-weight: 600;
}

.et_pb_gallery.custom-mansory .et_pb_gallery_caption {
  font-size: 13px;
  line-height: 1.35;
  margin: 4px 0 0;
  padding: 0 4px 8px;
  text-align: center;
  opacity: 0.88;
}

.sferica-masonry-sentinel {
  width: 100%;
  height: 56px;
  pointer-events: none;
}

/* Lightbox — fundo escuro, imagem central, legenda (alt + descrição). Fechado: inerte e sem pedido de imagem. */
.sferica-masonry-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 48px 40px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.38s ease,
    visibility 0.38s ease;
}
.sferica-masonry-lightbox.is-open {
  display: flex;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.sferica-masonry-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  cursor: pointer;
}
.sferica-masonry-lightbox__stage {
  position: relative;
  z-index: 1;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}
.sferica-masonry-lightbox__figure {
  position: relative;
  display: inline-block;
  max-width: min(100%, 96vw);
  max-height: calc(100vh - 96px);
  margin: 0;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  opacity: 0;
  --sf-drag-x: 0px;
  transform: translateX(var(--sf-drag-x)) scale(0.96) translateY(8px);
  transition:
    opacity 0.42s ease 0.04s,
    transform 0.48s cubic-bezier(0.22, 1, 0.36, 1) 0.04s;
}
.sferica-masonry-lightbox.is-open .sferica-masonry-lightbox__figure {
  opacity: 1;
  transform: translateX(var(--sf-drag-x)) scale(1) translateY(0);
}
.sferica-masonry-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 96px);
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0;
  transform: none;
  transition: opacity 0.32s ease;
  /* Impede texto ALT visível em estados de troca/erro. */
  color: transparent;
  font-size: 0;
  line-height: 0;
}
.sferica-masonry-lightbox__img.is-visible {
  opacity: 1;
  transform: none;
}
.sferica-masonry-lightbox__stage.is-dragging .sferica-masonry-lightbox__figure {
  transition: none;
}
.sferica-masonry-lightbox.is-switching .sferica-masonry-lightbox__caption {
  opacity: 0;
  transform: none;
}
.sferica-masonry-lightbox__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 28px 20px 18px;
  text-align: center;
  color: #fff;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.5) 45%, transparent 100%);
  opacity: 0;
  transform: none;
  transition: opacity 0.28s ease;
}
.sferica-masonry-lightbox.is-open .sferica-masonry-lightbox__caption:not(.is-empty) {
  opacity: 1;
  transform: none;
}
.sferica-masonry-lightbox__caption.is-empty {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Título da faixa = texto alternativo da imagem (como em lightboxes de referência) */
.sferica-masonry-lightbox__title {
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0 0 6px;
  line-height: 1.3;
}
.sferica-masonry-lightbox__desc {
  font-size: clamp(13px, 1.5vw, 16px);
  font-weight: 400;
  opacity: 0.9;
  margin: 0;
  line-height: 1.45;
}
.sferica-masonry-lightbox__close,
.sferica-masonry-lightbox__prev,
.sferica-masonry-lightbox__next {
  position: absolute;
  z-index: 2;
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  line-height: 1;
  opacity: 0;
  transition:
    opacity 0.32s ease 0.1s,
    transform 0.32s ease 0.1s;
}
.sferica-masonry-lightbox__close {
  transform: translateY(-8px);
}
.sferica-masonry-lightbox.is-open .sferica-masonry-lightbox__close {
  opacity: 0.88;
  transform: translateY(0);
}
.sferica-masonry-lightbox__prev,
.sferica-masonry-lightbox__next {
  transform: translateY(calc(-50% - 8px));
}
.sferica-masonry-lightbox.is-open .sferica-masonry-lightbox__prev,
.sferica-masonry-lightbox.is-open .sferica-masonry-lightbox__next {
  opacity: 0.88;
  transform: translateY(-50%);
}
.sferica-masonry-lightbox__close:hover,
.sferica-masonry-lightbox__prev:hover,
.sferica-masonry-lightbox__next:hover {
  opacity: 1;
}
.sferica-masonry-lightbox__close {
  top: 12px;
  right: 16px;
  font-size: 42px;
  font-weight: 300;
  width: 52px;
  height: 52px;
  padding: 0;
  line-height: 48px;
}
.sferica-masonry-lightbox__prev,
.sferica-masonry-lightbox__next {
  top: 50%;
  transform: translateY(-50%);
  font-size: 42px;
  font-weight: 300;
  width: 48px;
  height: 72px;
  padding: 0 8px;
}
.sferica-masonry-lightbox__prev {
  left: 8px;
}

.sferica-masonry-lightbox__next {
  right: 8px;
}

html.sferica-masonry-lightbox-open,
body.sferica-masonry-lightbox-open {
  overflow: hidden;
}

/* Página Cases / Fotos — galeria respeita a coluna */
.et-db #et-boc .et-l .section.cases.fotos .content .et_pb_gallery.custom-mansory {
  width: 100%;
  max-width: 100%;
}

/* ==========================================================================
   5.4 VÍDEO
   ========================================================================== */

.et-db #et-boc .et-l .section.video .content .image .et_pb_image_wrap {
  max-width: 200px;
}

/* ==========================================================================
   5.5 SHORTCODE CARDS (CPT UI + ACF)
   ========================================================================== */

.sferica-cards-shortcode .sferica-cards-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.sferica-cards-shortcode .sferica-cards-tab{
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  text-decoration: none;
  text-transform: uppercase;
  font-size: var(--font-size-small);
}
.sferica-cards-shortcode .sferica-cards-tab:hover{
  background: var(--color-accent-black);
}
.sferica-cards-shortcode .sferica-cards-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-md);
}
.full .sferica-cards-shortcode .sferica-cards-grid .sferica-card-item{
  width: 24%;
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item {
  width: 32%;
  margin: 0 !important;
  border-bottom: 1px solid var(--color-primary);
}
.sferica-cards-shortcode .sferica-cards-tab.is-active{
  background: var(--color-primary);
  color: var(--color-black);
}
.sferica-cards-shortcode .sferica-card-link{
  height: 100%;
  background: var(--color-accent-black);
  display: block;
  text-decoration: none;
}
.sferica-cards-shortcode .sferica-card-link.sferica-card-link--no-url:hover .sferica-card-thumb img{
  transform: scale(1);
}
.sferica-cards-shortcode .sferica-card-link .sferica-card-thumb{
  height: 270px;
  overflow: hidden;
}
.sferica-cards-shortcode .sferica-card-link .sferica-card-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: var(--transition-default);
}
.sferica-cards-shortcode .sferica-card-link:hover .sferica-card-thumb img{
  transform: scale(1.1);
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body{
  padding: var(--gap-md);
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-header{
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--gap-sm);
  padding-bottom: var(--gap-sm);
  border-bottom: 1px solid var(--color-gray-darker);
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-header .sferica-card-title{
  width: fit-content;
  max-width: 70%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  color: var(--color-primary);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-bold);
  line-height: var(--line-height-tight);
  margin-bottom: 0;
  padding-bottom: 0;
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-header .sferica-card-extra{
  width: fit-content;
  font-family: var(--font-family);
  font-size: var(--font-size-small);
  font-weight: var(--font-regular);
  color: var(--color-white);
  line-height: var(--line-height-tight);
  margin-bottom: 0;
  padding-bottom: 0;
  text-align: right;
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-extra{
  color: var(--color-white);
  font-size: var(--font-size-small);
  margin-bottom: var(--gap-xs);
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-meta{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap-sm);
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-meta span{
  display: flex;
  align-items: center;
  gap: var(--gap-sm);
  font-family: var(--font-family);
  color: var(--color-white);
  font-size: var(--font-size-small);
  font-weight: var(--font-regular);
  line-height: var(--line-height-tight);
  flex: 50%;
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-local {
  justify-content: flex-end;
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-meta .sferica-card-panoramicas::before{
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  background: url(../images/icon-360.svg) center/contain no-repeat;
}
.sferica-cards-shortcode .sferica-cards-grid .sferica-card-item .sferica-card-body .sferica-card-meta .sferica-card-local::before{
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  background: url(../images/icon-pin.svg) center/contain no-repeat;
}

/* ==========================================================================
  5.6 CASES
  ========================================================================== */
.et-db #et-boc .et-l .section.cases.full{
  gap: var(--gap-xl);
}
.et-db #et-boc .et-l .section.cases.internal{
  justify-content: flex-start;
}
.et-db #et-boc .et-l .section.cases.internal .content .title h1 {
  font-family: var(--font-family);
  font-size: var(--font-size-title);
  font-weight: var(--font-regular);
  color: var(--color-primary);
  text-align: right;
  text-transform: uppercase;
  margin-bottom: 0;
  padding-bottom: 0; 
}
.et-db #et-boc .et-l .section.cases.internal .content .case-header {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db #et-boc .et-l .section.cases.internal .content > .et_pb_column:nth-child(1) {
  align-items: flex-end;
  width: 25%;
}
.et-db #et-boc .et-l .section.cases.internal .content > .et_pb_column:nth-child(2){
  width: 75%;
}
.et-db #et-boc .et-l .section.cases.internal .content .case-header .et_flex_column {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  justify-content: flex-end;
  gap: var(--gap-lg);
}
.et-db #et-boc .et-l .section.cases.internal .content .text {
  max-width: 350px;
}

.et-db #et-boc .et-l .section.cases.full .case-header {
  width: 100%;
  max-width: 100%;
}

/* CONTENT TOUR CATEGORIES */

.content-tour-category .et_pb_posts{
  gap: 5px;
  display: flex;
  flex-wrap: wrap-reverse;
}
.content-tour-category .et_pb_posts .et_pb_post{
  background-color: rgb(88 88 88 / 90%);
  border: 0;
  cursor: pointer;
  flex: 23%;
  transition: var(--transition-default);
}
.content-tour-category .et_pb_posts .et_pb_post:hover{
  background-color: rgb(93 134 184 / 90%);
}
.content-tour-category .et_pb_posts .et_pb_post .et_pb_image_container {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.content-tour-category .et_pb_posts .et_pb_post .et_pb_image_container .entry-featured-image-url {
  width: 72px;
  height: 72px;
  margin-bottom: 10px;
}
.content-tour-category .et_pb_posts .et_pb_post .et_pb_image_container .entry-featured-image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.content-tour-category .et_pb_posts .et_pb_post .entry-title{
  font-family: var(--font-family);
  font-size: var(--font-size-small);
  font-weight: var(--font-regular);
  color: var(--color-white);
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 0;
  padding-bottom: 0;
}
.content-tour-category .et_pb_posts .et_pb_post .posrt-meta{
  display: none;
}

/* TOUR CATEGORY */

.tour-category .et_pb_blurb_content {
  max-width: 100%;
  gap: var(--gap-xs);
}
.tour-category .et_pb_main_blurb_image .et_pb_image_wrap {
  width: 60px;
  height: 60px;
}
.tour-category .et_pb_main_blurb_image .et_pb_image_wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tour-category .et_pb_blurb_content .et_pb_module_header{
  font-family: var(--font-family);
  font-size: 11px;
  font-weight: var(--font-regular);
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* ==========================================================================
   6. ABOUT
   ========================================================================== */

.et-db #et-boc .et-l .content-item-about {
  max-width: 100%;
  gap: var(--gap-sm);
  display: flex;
  flex-wrap: wrap;
  flex-direction: initial;
  margin-bottom: var(--gap-sm);
  padding-bottom: 0;
}
.et-db #et-boc .et-l .content-item-about .et_pb_column{
  flex: 30%;
  height: auto !important;
}
.et-db #et-boc .et-l .content-item-about .item-about{
  height: 100%;
  background-color: rgb(255 255 255 / 70%);
  padding: var(--gap-md);
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_blurb_content{
  max-width: 100%;
  gap: var(--gap-md);
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_main_blurb_image .et_pb_image_wrap{
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_main_blurb_image .et_pb_image_wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_module_header{
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-semibold);
  color: var(--color-black);
  margin-bottom: 0;
  padding-bottom: 0;
  text-align: center;
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_blurb_content .et_pb_blurb_container{
  gap: var(--gap-sm);
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_blurb_description p{
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-regular);
  color: var(--color-black);
  line-height: var(--line-height-tight);
  margin-bottom: 0;
  padding-bottom: 0;
  text-align: center;
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_blurb_description p a{
  color: var(--color-black);
}
.et-db #et-boc .et-l .content-item-about .item-about .et_pb_blurb_description p a:hover{
  color: var(--color-primary);
}
.et-db #et-boc .et-l .content-item-about .item-about.phone .et_pb_blurb_description p{
  font-size: 20px;
}

.et-db #et-boc .et-l .content-form {
  max-width: 100%;
  gap: var(--gap-sm);
  margin-bottom: 0;
  padding-bottom: 0;
}
.et-db #et-boc .et-l .content-form .wpcf7-form{
  gap: var(--gap-sm);
  display: flex;
  flex-direction: column;
}
.et-db #et-boc .et-l .content-form .wpcf7-form ::placeholder{
  color: var(--color-white);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-regular);
  line-height: var(--line-height-tight);
}
.et-db #et-boc .et-l .content-form .wpcf7-form .form-row .form-control{
  width: 100%;
  height: 85px;
  background-color: rgb(54 54 54 / 75%);
  border: 0;
  padding: 15px;
  border-radius: 0;
  color: var(--color-white);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-regular);
  line-height: var(--line-height-tight);
}
.et-db #et-boc .et-l .content-form .wpcf7-form .form-row textarea.form-control{
  height: 250px;
  resize: none;
}
.et-db #et-boc .et-l .content-form .wpcf7-form > p{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--gap-sm);
  margin-bottom: 0;
  padding-bottom: 0;
}
.et-db #et-boc .et-l .content-form .wpcf7-form .btn-submit{
  height: 46px;
  font-family: var(--font-family);
  font-weight: var(--font-semibold);
  font-size: 20px;
  padding: 6px 65px !important;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  border: 0;
  text-transform: uppercase;
  cursor: pointer;
}
.et-db #et-boc .et-l .content-form .wpcf7-form .btn-submit:hover{
  background-color: var(--color-accent-blue);
  color: var(--color-white);
  opacity: 1;
}
.et-db #et-boc .et-l .content-form .wpcf7-form .wpcf7-not-valid-tip{
  font-family: var(--font-family);
  font-size: var(--font-size-small);
  font-weight: var(--font-regular);
  line-height: var(--line-height-tight);
}

.et-db #et-boc .et-l .content-form .wpcf7-form .wpcf7-response-output{
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-white);
  background-color: rgb(54 54 54 / 65%);
  margin: 0;
  padding: 20px;
  border: 0;
  text-align: center; 
}

/* ==========================================================================
   6. RESPONSIVE - Tablet & Mobile
   ========================================================================== */

@media screen and (max-width: 1600px) {

   /* ==========================================================================
   6. ABOUT
   ========================================================================== */

  .et-db #et-boc .et-l .content-item-about .et_pb_column:nth-child(1){
    flex: 100%;
  }
  .et-db #et-boc .et-l .content-item-about .et_pb_column:nth-child(2),
  .et-db #et-boc .et-l .content-item-about .et_pb_column:nth-child(3){
    flex: 45%;
  }
}

@media screen and (max-width: 1460px) {
   /* ==========================================================================
   5.5 SHORTCODE CARDS (CPT UI + ACF)
   ========================================================================== */

  .sferica-cards-shortcode .sferica-cards-grid .sferica-card-item {
    width: 48%;
  }

  /* ==========================================================================
  5.6 CASES
    ========================================================================== */
  .et-db #et-boc .et-l .section.cases.internal .content{
    gap: 50px;
  }
}


@media screen and (max-width: 1280px) {
  :root {
    --font-size-hero: 50px;
    --font-size-title: 36px;
    --font-size-subtitle: 24px;
  }

  
  /* ==========================================================================
    SECTION HEADER
    ========================================================================== */

  .et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(1) {
    flex: 15%;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(2) {
    flex: 70%;
  }

  /* NAVIGATION SECTION */
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .menu-principal .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item{
    min-width: auto;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item a{
    padding: 0 var(--gap-lg);
  }

  /* ==========================================================================
  5.6 CASES
  ========================================================================== */

  /* CONTENT TOUR CATEGORIES */

  .content-tour-category .et_pb_posts .et_pb_post{
    flex: 30%;
  }

  /* SHORTCODE CARDS */

  .full .sferica-cards-shortcode .sferica-cards-grid .sferica-card-item{
    width: 32%;
  }

}

@media screen and (max-width: 1100px) {

    /* ==========================================================================
  5.6 CASES
  ========================================================================== */

  /* CONTENT TOUR CATEGORIES */

  .content-tour-category .et_pb_posts .et_pb_post{
    flex: 40%;
  }

}

@media screen and (max-width: 980px) {

  /* ==========================================================================
  SECTION HEADER
  ========================================================================== */

  .et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(1) {
    flex: 1;
    width: 180px;
    z-index: 2;
    position: absolute;
    left: 0;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(2) {
    flex: 100%;
    background-color: transparent;
    top: 0px;
    right: 0px;
    position: absolute;
    width: 100%;
    z-index: 1;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column > *:nth-child(3) {
    flex: 1;
    width: 30px;
    position: absolute;
    right: 0;
    z-index: 2;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .mobile_menu_bar:before {
    content: '';
    width: 32px;
    height: 32px;
    font-size: 0.1px;
    background-image: url(../images/icon-menu-mobile.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    top: 0;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .mobile_menu_bar {
    right: 50px;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_mobile_menu {
    padding: 15px 30px;
    border: none !important;
    background-color: rgb(46 44 126 / 90%);
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_mobile_menu li a {
    padding: 10px 0;
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-semibold);
    line-height: var(--line-height-body);
    color: var(--color-white);
    text-transform: uppercase;
    text-decoration: none;
    transition: var(--transition-default);
    border-bottom: 1px solid #48469a;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_mobile_menu li:last-child a{
    border-bottom: none;
  }
  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_mobile_menu li a:hover {
    color: var(--color-accent-blue);
    opacity: 1;
    background-color: transparent;
  }

  .et-db #et-boc .et-l .section-header .content-header .et_pb_column .et_pb_menu .et_pb_menu__wrap .et-menu-nav .et-menu .menu-item.menu-whatsapp a {
    width: 26px;
    height: 26px;
  }

  /* ==========================================================================
   5.1 ALLTOUR
   ========================================================================== */

  .et-db #et-boc .et-l .section {
    height: 100%;
    min-height: calc(100vh - 130px);
    padding-bottom: 0;
    justify-content: flex-start;
  }
  .et-db #et-boc .et-l .section::before{
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--color-black);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: .5;
  }
  .et-db #et-boc .et-l .section .content{
    height: 100%;
    flex-direction: column;
    gap: 0;
    z-index: 2;
  }
  .et-db #et-boc .et-l .section.alltour .content .et_pb_column {
    width: 100%;
  }
  .et-db #et-boc .et-l .section.alltour .content .text {
    max-width: 100%;
  }
  .et-db #et-boc .et-l .section.alltour .content .image .et_pb_image_wrap {
    display: none;
  }
  .et-db #et-boc .et-l .section.alltour .content .feature-image .et_pb_image_wrap {
    max-width: 500px;
    height: auto;
    margin: auto;
  }
  .et-db #et-boc .et-l .section .action {
    position: relative;
    z-index: 2;
  }
  .et-db #et-boc .et-l .section.camera .action,
  .et-db #et-boc .et-l .section.video .action{
    position: absolute;
  }

  /* ==========================================================================
   5.5 SHORTCODE CARDS (CPT UI + ACF)
   ========================================================================== */
  
  .sferica-cards-shortcode .sferica-cards-grid .sferica-card-item {
    flex: 0 48%;
    max-width: 100%;
  }

  /* ==========================================================================
  5.6 CASES
   ========================================================================== */
  .et-db #et-boc .et-l .section.cases.internal .content{
    gap: var(--gap-xl);
  }
  .et-db #et-boc .et-l .section.cases.internal .content .et_pb_column{
    width: 100%;
    max-width: 100%;
  }
  .et-db #et-boc .et-l .section.cases.internal .content > .et_pb_column:nth-child(1) {
    align-items: flex-start;
  }
  .et-db #et-boc .et-l .section.cases.internal .content > .et_pb_column:nth-child(1),
  .et-db #et-boc .et-l .section.cases.internal .content > .et_pb_column:nth-child(2) {
    width: 100%;
  }
  .et-db #et-boc .et-l .section.cases.internal .content .case-header .et_flex_column {
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
  .et-db #et-boc .et-l .section.cases.internal .content .text {
    max-width: 100%;
    margin-top: var(--gap-lg);
  }
  .et-db #et-boc .et-l .section.cases.internal .content .text p{
    text-align: left !important;
  }

  /* LIGHTBOX */
  .sferica-masonry-lightbox {
    padding: 40px 12px;
  }
  .sferica-masonry-lightbox__prev {
    left: 4px;
  }
  .sferica-masonry-lightbox__next {
    right: 4px;
  }
}

/* Mobile */
@media screen and (max-width: 768px) {
  :root {
    --font-size-hero: 36px;
    --font-size-title: 28px;
    --font-size-subtitle: 20px;
    --font-size-base: 14px;
  }

  /* ==========================================================================
   2. TEXT
   ========================================================================== */

  p, li {
    font-size: 16px;
    line-height: 180%;
  }

  .et-db #et-boc .et-l .section.alltour .content .text p{
    font-size: 16px;
    line-height: 180%;
  }
}

@media screen and (max-width: 600px){
   /* ==========================================================================
   5.5 SHORTCODE CARDS (CPT UI + ACF)
   ========================================================================== */
  
   .sferica-cards-shortcode .sferica-cards-grid .sferica-card-item {
    flex: 100%;
  }

  /* ==========================================================================
   6. ABOUT
   ========================================================================== */

  .et-db #et-boc .et-l .content-item-about .et_pb_column:nth-child(2),
  .et-db #et-boc .et-l .content-item-about .et_pb_column:nth-child(3){
    flex: 100%;
  }

}

/* Small Mobile */
@media screen and (max-width: 480px) {
  :root {
    --font-size-hero: 28px;
    --font-size-title: 22px;
    --font-size-subtitle: 18px;
    --font-size-base: 14px;
  }


  /* ==========================================================================
   5.5 SHORTCODE CARDS (CPT UI + ACF)
   ========================================================================== */
  
  .sferica-cards-shortcode .sferica-cards-tab {
    width: 100%;
    justify-content: center;
  }

      /* ==========================================================================
  5.6 CASES
  ========================================================================== */

  .et-db #et-boc .et-l .section.cases.internal .content .case-header .et_flex_column {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }

  /* CONTENT TOUR CATEGORIES */

  .content-tour-category .et_pb_posts .et_pb_post{
    flex: 100%;
  }
}