/*
Theme Name: LP Ascensão em Mohs
Theme URI: https://ascensaomohs.nicap.com.br/
Author: Felipe Perin
Author URI: https://adnomad.com.br/
Description: Tema criado para o LP Ascensão em Mohs - Um produto NICAP
Version: 1.0
*/

/* reset.css */
a{text-decoration:none}ol,ul{list-style:none}a,article,blockquote,body,dd,div,dl,dt,em,fieldset,footer,form,h1,h2,h3,h4,h5,h6,header,html,iframe,img,label,legend,li,main,nav,ol,p,section,span,ul{margin:0;padding:0;border:0;vertical-align:baseline}a,h1,h2,h3,h4,h5,h6,p,ul{font-size:1em;font-weight:400}
/* grid.css */
*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.container{width:990px;margin:0 auto;padding:0;position:relative}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}.grid-1,.grid-1-3,.grid-10,.grid-11,.grid-12,.grid-13,.grid-14,.grid-15,.grid-16,.grid-2,.grid-3,.grid-4,.grid-5,.grid-6,.grid-7,.grid-8,.grid-9{float:left;margin-left:10px;margin-right:10px}.grid-1{width:40px}.grid-2{width:100px}.grid-3{width:160px}.grid-4{width:220px}.grid-5{width:280px}.grid-6{width:340px}.grid-7{width:400px}.grid-8{width:460px}.grid-9{width:520px}.grid-10{width:580px}.grid-11{width:640px}.grid-12{width:700px}.grid-13{width:760px}.grid-14{width:820px}.grid-15{width:880px}.grid-16{width:940px}.grid-1-3{width:300px}@media only screen and (min-width:768px) and (max-width:991px){.container{width:768px}.grid-1{width:28px}.grid-2{width:76px}.grid-3{width:124px}.grid-4{width:172px}.grid-5{width:220px}.grid-6{width:268px}.grid-7{width:316px}.grid-8{width:364px}.grid-9{width:412px}.grid-10{width:460px}.grid-11{width:508px}.grid-12{width:556px}.grid-13{width:604px}.grid-14{width:652px}.grid-15{width:700px}.grid-16{width:748px}.grid-1-3{width:236px}}@media only screen and (max-width:991px){.container{width:100%}.grid-1,.grid-1-3,.grid-10,.grid-11,.grid-12,.grid-13,.grid-14,.grid-15,.grid-16,.grid-2,.grid-3,.grid-4,.grid-5,.grid-6,.grid-7,.grid-8,.grid-9{width:100%;margin:0 0 20px 0;float:none}}

/* normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button,input{border:none}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

@font-face {
  font-family: 'Metropolis';
  src: url('fonts/metropolis/Metropolis-Light.woff2') format('woff2'),
       url('fonts/metropolis/Metropolis-Light.woff') format('woff');
  font-weight: 300; /* Light */
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Metropolis';
  src: url('fonts/metropolis/Metropolis-Regular.woff2') format('woff2'),
       url('fonts/metropolis/Metropolis-Regular.woff') format('woff');
  font-weight: 400; /* Normal */
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Metropolis';
  src: url('fonts/metropolis/Metropolis-Medium.woff2') format('woff2'),
       url('fonts/metropolis/Metropolis-Medium.woff') format('woff');
  font-weight: 500; /* Médio */
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Metropolis';
  src: url('fonts/metropolis/Metropolis-Bold.woff2') format('woff2'),
       url('fonts/metropolis/Metropolis-Bold.woff') format('woff');
  font-weight: 700; /* Negrito */
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('fonts/playfair/PlayfairDisplay-SemiBold.woff2') format('woff2'),
       url('fonts/playfair/PlayfairDisplay-SemiBoldI.woff') format('woff');
  font-weight: 600; /* Negrito */
  font-display: swap;
  font-style: normal;
}

/* safety net */
html, body {
  max-width: 100%;
  overflow-x: clip;   /* melhor que hidden nos browsers recentes */
}
/* fallback pra browsers sem 'clip' */
@supports not (overflow: clip) {
  html, body { overflow-x: hidden; }
}

.container-wide {
  width: 100%; /* Garante que ocupa toda a largura disponível */
  max-width: inherit; /* Mantém a herança da largura máxima, se necessário */
  margin: 0 auto;
  padding: 0;
  position: relative;
  display: flex; /* Permite melhor controle do conteúdo interno */
  flex-wrap: wrap; /* Evita quebra indesejada de elementos */
  justify-content: center;
}
.container-wide::after,
.container-wide::before {
  content: " ";
  display: table;
}
.container-wide::after {
  clear: both;
}

.bricks--section.rd-section {
  max-height: 90vh;
  overflow-y: auto;
}

html {
  scroll-behavior: smooth;
}
body, p {
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6em;
	color: var(--text);
}
:root {
  --v1: #50B2D7;
  --v2: #2E5A81;
  --v3: #A1870E;
  --v4: #2A2A2A;
  --v5: #ffffff;
  --bluey: linear-gradient(180deg, #2E5A81 0%, #0A131B 100%);
  --bluey2: linear-gradient(180deg, #50B2D7 0%, #2E5A81 100%);
  --gold: linear-gradient(90deg, #A1870E, #3B3105);
  --gray: linear-gradient(180deg, #D9D9D9, #706C59);
  --lateral-gutter: 10rem;
  --box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
@media (max-width: 1240px) { :root { --lateral-gutter: 4vw; } }
@media (max-width: 1118px) { :root { --lateral-gutter: 2vw; } }
@media (max-width: 1000px) { :root { --lateral-gutter: 8vw; } }
@media (max-width: 600px) { :root { --lateral-gutter: 6vw; } }
@media (min-width: 1920px) { :root { --lateral-gutter: 20vw; } }

h1, h2, h3, h4 {
	font-family: 'Metropolis';
	font-style: normal;
	color: var(--title);
	padding: 5px 0;
}
h1 {
  font-size: 2.3em;
  line-height: 1.3em;
  font-weight: 700;
}
h2 {
  font-size: 1.8em;
  line-height: 1.35em;
  font-weight: 500;
}
h3 {
  font-size: 1.375em;
  line-height: 1.3em;
  font-weight: 700;
}
h4 {
  font-size: 1.125em;
  line-height: 1.2em;
  font-weight: 400;
}
p.small {
	font-size: .85em;
	line-height: 1.8em;
  font-weight: 300;
}
img { width: 100%; height: auto; margin: 0 auto;
}
video { width: 100%; box-shadow: var(--box-shadow);
}

.pulse {
  animation: pulseAnim 1.5s infinite;
}
@keyframes pulseAnim {
  0%   { transform: scale(1); }
  70%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/*################
---- BOTÕES ----
###############*/
.btn {
  display: inline-block;
  padding: 18px 42px;
  font-size: 18px;
  font-weight: 700;
  color: var(--v5);
  text-transform: uppercase;
  text-align: center;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 0;
  background: var(--bluey2);
  background-size: 300% 300%;
  animation: gradientShift 6s ease infinite;
  box-shadow: 0 4px 15px rgba(180, 180, 180, 0.4);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn:hover {
  /* transform: translateY(-3px) scale(1.03); */
  box-shadow: 0 6px 20px rgba(150, 150, 150, 0.6);
}
.btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.7) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  z-index: 1;
  transition: left 0.75s;
}
.btn:hover::after {
  left: 125%;
}
@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.botao {
  margin-top: 60px;
}


/*################
---- MENU ----
###############*/
ul.sf-menu { 
  padding-top: 10px;
  font-family: 'Metropolis';
  display: flex;
  justify-content: center;
}
ul.sf-menu li a {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  padding: 12px;
  padding-bottom: 20px;
  line-height: 1.2em;
  font-weight: 600;
  letter-spacing: .5px;
  color: white;
  transition: color .1s ease-in-out;
}
.navigation {
  position: absolute;
  width: 100%;
  background: transparent;
  padding: 20px 0 5px;
  box-shadow: none;
  transition: all .5s ease-in-out;
}
.sf-menu li a {
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.sf-menu .normal_drop_down ul li a {
  color: var(--v1);
  text-shadow: none;
}
.img-menu {
  width: 230px;
  padding-top: 0;
}
/* Quando o menu estiver fixo (após scroll) */
.scrolled {
  position: fixed;
  width: 100%;
  background: #fff !important;
  padding: 15px 0 0;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.3);
}
.scrolled .sf-menu li a {
  color: var(--v2);
  text-shadow: none;
}
.scrolled .sf-menu li a:hover {
  color: var(--v1);
}
.scrolled .sf-menu > li:last-of-type a {
  color: var(--v1);
}
.scrolled .sf-menu li:last-of-type a:hover {
  text-decoration: underline;
}
.scrolled .img-menu {
  width: 200px;
  padding-top: 5px;
}
/* Quando fixo */
.scrolled #logo.logo-branco {
  display: none;
}
.scrolled #logo.logo-azul {
  display: block;
}

ul.sf-menu li a:hover,
ul.sf-menu .normal_drop_down:hover,
ul.sf-menu .normal_drop_down:active,
ul.sf-menu .normal_drop_down:hover ul a li {
  color: var(--v1);
}
ul.sf-menu li a::after:hover { 
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  color: var(--v1);
}
@media only screen and (min-width: 992px) {
  ul.sf-menu { 
    display: flex;
    flex-flow: row nowrap;
    justify-content: center; }
}
.sf-menu li ul {
  box-shadow: var(--box-shadow);
  background: #f9f9f9;
  border-radius: 5px;
  width: 15em;
}
ul.sf-menu > li:last-of-type a {
  font-weight: 700;
}

/*################
---- HEADER ----
###############*/
header .navigation {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9000;
  padding: 20px 0 2px;
  background: transparent;
  transition: all .5s ease-in-out;
}
header .navigation .logo {
  margin: 0;
  padding: 0;
  transform: translateY(-10px);
  padding-right: 30px;
}
header #logo img {
  width: 160px;
  margin-top: 24px;
  margin-bottom: 12px;
}
header #logo.logo-azul {
  display: none;
}



/*################
---- HOME CARROSSEL ----
###############*/
section.home.hero {
  height: 96vh;
  width: 100%;
  overflow: hidden;
  position: relative;
  margin: 0;
  padding: 0;
}
section.home.hero ul {
  overflow: hidden;
  width: 100%;
}
section.home.hero ul .slide {
  position: relative;
  flex: 1 0 100%;
}
section.home.hero ul .slide img {
  object-fit: cover;
}
section.home.hero ul .slide .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
  z-index: 1;
}
section.home.hero.mobile ul .slide .overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
section.home.hero ul .text-overlay {
  position: absolute;
  top: 30%;
  background: transparent;
  border-radius: 5px;
  width: 45%;
  z-index: 2;
  right: auto;
  left: 10%;
  text-align: left;
}
section.home.hero ul .text-overlay h1 {
  text-transform: uppercase;
  line-height: 1.2em;
  margin: 0;
  padding: 0;
  color: var(--v5);
}
section.home.hero ul .text-overlay h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2.5em;
  margin: 0 0 15px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: .5px;
  background: var(--gray);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;  
}
section.home.hero ul .text-overlay p {
  font-size: 20px;
  font-weight: 300;
  color: var(--v5);
  padding-right: 20px;
  margin-top: 12px;
}
section.home.hero ul .text-overlay .botao {
  margin-top: 40px;
}
section.home.hero ul .text-overlay .botao a {
  font-size: 16px;
}

/*################
---- INTRO ----
###############*/
section.intro {
  padding: 80px var(--lateral-gutter) 60px;
  background: url('images/bg-sky.jpg') center/cover no-repeat;
}
section.intro .container {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
section.intro h2 {
  text-align: center;
}
section.intro .boxes ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin: 60px 0;
}
section.intro .boxes ul li {
  display: flex;
  flex-flow: column wrap;
}
section.intro .boxes ul li img {
  width: 67px;
  height: auto;
}
section.intro .boxes ul li span {
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  padding: 0 25px;
  text-align: center;
  margin: 20px 0;
  background: var(--gold);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;  
}

/*################
---- ESCOLHAS BOXES ----
###############*/
section.escolhas {
  padding: 100px var(--lateral-gutter) 120px;
  background: url('images/bg-boxes.jpg') center/cover no-repeat;
  position: relative;
}
section.escolhas h2 {
  font-size: 2em;
  line-height: 1.3em;
  font-weight: 700;
  font-style: italic;
  color: var(--v5);
  text-align: center;
}
section.escolhas h2:last-of-type {
  text-decoration: underline;
  text-underline-offset: 6px;
}
section.escolhas h3 {
  color: var(--v5);
  text-align: center;
  font-size: 1.8em;
  font-style: italic;
  font-weight: 700;
  text-shadow: var(--box-shadow);
}
section.escolhas .boxes {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 70px;
}
section.escolhas .boxes ul {
  border: 2px solid var(--v1);
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  background: rgba(80, 178, 215, 0.5);
  border-radius: 15px;
  padding: 40px 35px;
  margin: 15px 20px 90px;
  box-shadow: var(--box-shadow);
  min-height: 350px;
}
section.escolhas .boxes .box-1 ul {
  border: 2px solid #706C59;
  background-color: rgba(135, 135, 135, .5);
}
section.escolhas .boxes ul li {
  padding-bottom: 15px;
}
section.escolhas .boxes ul li span {
  color: var(--v5);
  font-size: 17px;
  line-height: 26px;
  font-weight: 600;
  font-style: italic;
}
section.escolhas .boxes .box-1 ul li span {
  font-weight: 300;
}
section.escolhas .boxes ul li img {
  width: 17px;
  height: auto;
  margin-right: 10px;
  transform: translateY(15%);
}
section.escolhas .boxes ul:last-of-type li img {
  width: 19px;
}

/*################
---- TEXTO LONGO ----
###############*/
section.parte1,
section.parte3 {
  padding: 80px var(--lateral-gutter) 100px;
  background: url('images/bg-stone.jpg') center/cover no-repeat;
}
section.parte1 {
  padding: 60px var(--lateral-gutter);
}
section.parte1 .container-wide,
section.parte2 .container,
section.parte3 .container {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
section.parte1 h2 {
  font-weight: 700;
  line-height: 1.25em;
}
section.parte2 h2 {
  font-weight: 400;
  line-height: 1.25em;
  text-align: center;
}
section.parte2 h2 span,
section.parte3 span {
  background: var(--gold);
  padding: 1px 4px;
  font-weight: 600;
}
section.parte3 span {
  background: rgba(80, 178, 215, 0.3);
}
section.parte3 h2 {
  text-align: center;
  margin: 0 auto;
}
section.parte1 .text-side {
  padding-top: 40px;
  padding-left: 20px;
}
section.parte1 .img-side {
  padding: 0;
}
section.parte1 .img-side img {
  border-radius: 15px;
}
section.parte1 ul,
section.parte2 ul {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 20px 20px 40px;
}
section.parte2 ul {
  width: 80%;
  margin: 60px auto 70px;
  border: 2px solid var(--v1);
  background: rgba(80, 178, 215, .6);
  border-radius: 15px;
  padding: 35px 35px 20px;
  box-shadow: var(--box-shadow);
}
section.parte1 ul li,
section.parte2 ul li {
  font-size: 19px;
  line-height: 30px;
  padding-bottom: 16px;
  font-style: italic;
}
section.parte2 ul li {
  font-size: 20px;
  line-height: 32px;
}
section.parte1 ul li img {
  width: 24px;
  height: auto;
  margin-right: 10px;
  transform: translateY(6%);
}
section.parte2 ul li img {
  width: 20px;
  height: auto;
  margin-right: 10px;
  transform: translateY(15%);
}
section.parte2,
section.divideo {
  background: var(--bluey);
  padding: 100px var(--lateral-gutter);
  position: relative;
}
section.parte2 h2,
section.parte2 h3,
section.parte2 p,
section.parte2 li {
  color: var(--v5);
}
section.parte3 ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin: 40px 40px 60px;
}
section.parte3 ul li {
  position: relative;
  display: inline-block;
  text-align: center;
  padding: 16px 28px;
  border-radius: 50px;
  background: #E4E4E4;
  box-shadow: var(--box-shadow);
  text-transform: uppercase;
  z-index: 1;
  margin: 15px 10px;
}
section.parte3 ul li::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 3px;
  border-radius: 50px;
  background: var(--gold);
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  z-index: -1;
}
section.parte3 ul li span {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  background: var(--gold);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
section.parte3 ul li img {
  width: 16px;
  height: auto;
  margin: 0 10px;
  transform: translateY(10%);
}
section.divideo {
  padding-bottom: 140px;
}
section.divideo .container {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
section.divideo h1 {
  color: var(--v5);
  text-align: center;
  margin: 0 auto;
} 
section.divideo .video-container {
  padding-top: 70px;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: 5px;
  z-index: 100;
}
section.divideo .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 5px;
}

/*################
---- PROFISSIONAIS ----
###############*/
section.profissionais {
  padding: 80px var(--lateral-gutter) 130px;
  background: url('images/bg-stone.jpg') center/cover no-repeat;
  position: relative;
}
section.profissionais h2 {
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
}
section.profissionais .text-side,
section.profissionais .img-side {
  margin-top: 20px;
}
section.profissionais .text-side {
  padding-right: 15px;
}
section.profissionais .img-side {
  padding: 10px;
}
section.profissionais .text-side p {
  font-size: 19px;
  padding-bottom: 20px;
}
section.profissionais .text-side span {
  font-weight: 600;
  background: rgba(80, 178, 215, 0.3);
  padding: 1px 3px;
}
section.profissionais .img-side img {
  border-radius: 10px;
  box-shadow: var(--box-shadow);
}

/*################
---- MÉDICOS ----
###############*/
section.medicos {
  padding: 80px var(--lateral-gutter) 0;
  background: var(--bluey);
  position: relative;
}
section.medicos ul { 
  --overlap: 45%;
  transform: translateY(calc(-1 * var(--overlap))); 
}
section.medicos ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  width: 86%;
  margin: 10px auto;
  transform: translateY(-35%);
}
section.medicos ul li { 
  position: relative;
  padding: 0 25px;
}
section.medicos ul li img {
  position: relative;
  z-index: 10;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
}
section.medicos ul li span {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  text-align: center;
  font-weight: 700;
  font-size: .9em;
  line-height: 1.1em;
  color: var(--v5);
  text-transform: uppercase;
  z-index: 100;
  width: 100%;
  text-shadow: var(--box-shadow);
}
section.medicos ul li div {
  display: flex;
  justify-content: center;
  background: var(--bluey2);
  border-radius: 10px;
  padding: 12px;
  margin-top: 10px;
  transform: translateY(0);
  transition: transform .2s ease;  
}
section.medicos ul li button {
  font-size: 15px;
  color: var(--v5);
  text-align: center;
  font-weight: 600;
  background: transparent;
}
section.medicos ul li div:hover {
  transform: translateY(-4%);
  box-shadow: var(--box-shadow);
}
section.medicos ul li div:hover button {
  color: #efefef;
}
section.medicos .owl-nav {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  margin-top: 50px;
  display: flex;
  justify-content: center;
  gap: 16px;
  transform: none;
  pointer-events: auto;
}
/* section.medicos .owl-nav .owl-prev {
  margin-left: -50px;
}
section.medicos .owl-nav .owl-next {
  margin-right: -50px;
} */
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
section.medicos .owl-nav button {
  pointer-events: all;
  background: var(--v1);
  color: var(--v5);
  width: 40px;
  height: 40px;
  font-weight: 300;
  border-radius: 50%;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all .3s ease;
  box-shadow: var(--shadow);
}
section.medicos .owl-nav button:hover {
  background: var(--v5);
  color: var(--v1);
}
section.medicos .owl-nav button span {
  display: none;
}
.modal[aria-hidden="true"] { display: none; }
.modal[aria-hidden="false"] {
  display: flex;
  position: fixed; inset: 0;
  justify-content: center; align-items: center;
  background: rgba(0,0,0,.5);
  z-index: 9999;
}
.modal__dialog {
  position: relative;
  background: var(--v5);
  border-radius: 12px;
  padding: 32px 24px 24px;
  max-width: 480px;
  width: 90%;
  box-shadow: var(--box-shadow);
  text-align: center;
}
.modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  color: var(--v2);
}
#doctor-modal-subtitle {
  font-size: 15px;
  color: var(--v2);
  margin: 6px 0 14px;
  text-align: center;
  font-weight: 400;
  white-space: pre-line;
}
#doctor-modal-bio {
  font-size: 15px;
  color: var(--v4);
  text-align: left;
  line-height: 1.6;
}
#doctor-modal-bio ul {
  list-style: disc;
  padding-left: 40px;
  margin: 0;
}
#doctor-modal-bio li {
  margin-bottom: 10px;
  line-height: 1.5;
}

/*################
---- MÓDULOS ----
###############*/
section.modulos {
  padding: 60px var(--lateral-gutter) 120px;
  background: url('images/bg-sky.jpg') center/cover no-repeat;
}
section.modulos h3 {
  font-weight: 500;
  line-height: 1.5em;
}
section.modulos .pos-panel h3 span {
  font-size: 1.2em;
  font-weight: 700;
  background: rgba(80, 178, 215, 0.3);
  padding: 1px 3px;  
}
section.modulos .pos-panel h3 {
  padding-right: 15px;
}
section.modulos .pos-panel {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 60px;
}
section.modulos .pos-panel .botao {
  margin-top: 0;
  display: flex;
  flex-flow: column wrap;
  align-items: flex-end;
}
:root{
  --shadow: 1px 10px 20px rgba(0,0,0,.2);
  --focus: 0 0 0 3px rgba(11,79,159,.25);
}
.painel-modulos.fx {
  display: flex;
  gap: 20px;
  align-items: stretch;
  max-width: 1100px;
  margin: 24px auto;
}
.menu-col {
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.menu-col [role="tab"] {
  all: unset;
  cursor: pointer;
  display: block;
  padding: 12px 24px;
  text-transform: uppercase;
  text-align: center;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
  font-weight: 600;
  color: var(--v5);
  background: var(--v1);
  transition: background .25s ease, color .25s ease, transform .2s ease, box-shadow .2s ease;
}
.menu-col [role="tab"]:last-of-type {
  background: var(--v2);
}
.menu-col [role="tab"]:hover { transform: translateX(2px); }
.menu-col [role="tab"]:focus-visible { outline: none; box-shadow: var(--focus); }
.menu-col [role="tab"].ativo {
  background: #A1A1A1;
  transform: translateX(0);
}
.menu-col img {
  width: 14px;
  height: auto;
  margin-left: 7px;
  transform: translateY(5%);
}
.conteudo-col {
  flex: 1 1 75%;
  background: #EFEFEF;
  border: 1px solid #D9D9D9;
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: clamp(20px, 2.2vw, 28px);
  overflow: clip;
}
.conteudo-col ul {
  list-style-type: disc;
  list-style-position: inside;
  padding-left: 1.5rem;
  margin: 1em 0;
}
.conteudo-col ul li {
  margin-bottom: 10px
}
.conteudo-col .conteudo {
  display: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
}
.painel-modulos.fx,
.conteudo-col,
.conteudo{
  position: relative;
  overflow: visible !important;
}
.conteudo-col{
  isolation: isolate;
}
.panel-photo{
  position: absolute;
  border-radius: 10px;
  right: -18%;
  top: -40px;
  height: auto;
  max-width: 200px;
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease, transform .3s ease;
}
.conteudo.sem-foto .panel-photo {
  display: none;
}
.conteudo.ativo .panel-photo{
  opacity: 1;
}
.conteudo.ativo .panel-photo img {
  box-shadow: var(--box-shadow);
}
.conteudo-col .conteudo:last-of-type ul {
  list-style: none;
  margin: 1em 0;
  padding-left: 1.5rem;
}
.conteudo-col .conteudo:last-of-type ul li {
  position: relative;
  padding-inline-start: 1.6rem;
  line-height: 1.5;
}
.conteudo-col .conteudo:last-of-type ul li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inline-size: 0.9em;
  block-size: 0.9em;
  inset-block-start: 0.9em;
  transform: translateY(-50%);
  background: url("images/icones/check.svg") no-repeat center / contain;
  opacity: 1;
}
.conteudo-col .conteudo.ativo {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.conteudo-col .conteudo h3 {
  font-size: 1.2em;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--v4);
}
.conteudo-col .conteudo p {
  margin: 0;
  color: var(--v4);
}

/*################
---- FAQ
###############*/
section.faq {
  position: relative;
  padding: 0;
  width: 100%;
}
section.faq .container-wide {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}
section.faq .grid-8,
section.faq .img-side {
  flex: 1 1 50%;
  min-width: 0;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
section.faq .grid-8 {
  align-items: flex-start;
  padding: 60px 80px;
  background: url("images/bg-stone.jpg");
  background-size: cover;
  background-position: center;
}
/* .faq .img-side {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
} */
.faq .img-side {
  position: relative;
  overflow: hidden;
  min-height: 360px;
}
.faq h2 {
  color: var(--v4);
  text-align: left;
  padding-left: 10px;
  font-weight: 700;
}
.faq-container {
  width: 100%;
  margin-top: 10px;
}
.faq-item {
  border-bottom: 1px solid var(--v3);
  padding: 12px 0;
}
.faq-question {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  font-size: 19px;
  color: var(--v4);
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0 15px 10px;
  cursor: pointer;
}
.faq-question i {
  transition: transform .3s ease-in-out;
  padding-right: 10px;
  color: var(--v3);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 10px;
  font-size: 16px;
  line-height: 1.4em;
  transition: max-height .3s ease-in-out, padding .3s ease-in-out;
}
.faq-item.active .faq-answer {
  max-height: 300px;
  padding: 10px 10px;
}
.faq-item.active .faq-question i {
  transform: rotate(180deg);
}

/*###################
-- DOTS CAROUSEL --
###################*/
.owl-carousel .owl-dots {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 40px auto;
}
.owl-carousel .owl-dots {
  position: absolute;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0;
  top: 550px;
  background: transparent;
}
.owl-carousel .owl-dots span {
  display: block;
  width: 35px;
  height: 6px;
  margin: 7px;
  border-radius: 3px;
  background: var(--v1);
  transition: transform .3s ease, all .5s ease-in-out;
}
.owl-carousel .owl-dots .owl-dot span:hover,
.owl-carousel .owl-dot.active span {
  background: var(--v2);  /* Barra ativa com cor do --v2 */
  transform: scale(1.2);  /* Aumenta o tamanho ao passar o mouse */
}

/*################
---- FOOTER ----
###############*/
footer { 
  background: var(--v2);
  padding: 70px var(--lateral-gutter) 80px;
}
footer .nav-footer {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
}
footer h3,
footer a {
  color: var(--v5);
  transition: color .2s ease-in-out;
}
footer h3 {
  text-transform: uppercase;
  padding-bottom: 15px;
}
footer .redes-sociais {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  margin: 12px 0;
}
footer .redes-sociais i {
  font-size: 24px;
  padding: 7px 7px 5px 7px;
  margin-right: 5px;
  transition: color .2s ease-in-out;
  color: var(--v5);
}
footer .redes-sociais li:last-child i {
  padding: 7px 9px 6px 9px;
}
footer .redes-sociais a:hover i,
footer .info-contato a:hover p {
  color: var(--v1);
}
footer p {
  line-height: 1.6em;
  font-weight: 500;
  color: #EFEFEF;
}
footer p.responsavel {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.4em;
  font-weight: 400;
} 
footer #logo img {
  max-width: 340px;
  padding: 0 20px 0 0;
  transform: translateY(-15%);
}
.footer-bottom {
  background: var(--v1);
  width: 100%;
  margin: 0;
  padding: 10px 0;
}
.footer-bottom p {
  font-weight: 500;
  color: var(--v5);
  text-align: center;
  margin: 7px 0 5px;
}

/*################
---- FORM RD ----
###############*/
/* Garante que [hidden] realmente esconda */
[hidden]{display:none !important;}
.modal-rd {
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.modal-rd[aria-hidden="true"] { display: none; }
.modal-rd__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.6);
}
.modal-rd__content {
  position: relative;
  /* max-width: 720px;
  width: calc(90% - 32px); */
  width: 80%;
  max-width: 600px;
  margin: 4vh auto 0;
  max-height: 90vh;
  overflow-y: visible; /* sem scroll forçado */
}
.modal-rd__close {
  position: absolute;
  top: 0;
  right: -45px;
  font-size: 32px;
  line-height: 1;
  background: transparent;
  border: none;
  color: var(--v5);
  width: 45px;
  height: 45px;
  cursor: pointer;
}
@media (max-width: 991px) {
  .modal-rd__content { 
    width: 90%;
    max-width: none;
    overflow-y: auto; }
  .modal-rd__close {
    top: 6px;
    right: 6px;
  }
  .bricks--component .bricks--component-text p span {
    padding-top: 15px !important;
  }
  .bricks--component .bricks--component-text p em {
    display: none !important;
  }
}
/* @media (min-width: 991px) {
#rdstation-bricks-embeddable-form-bricks-component-p0TNG3X7iWSizuFZDwfYBw .bricks--section {
  width: 80% !important; }
} */

/*################
---- ERRO ----
###############*/
section.erro {
  position: relative;
  background: url('images/bg-sky.jpg') center/cover no-repeat;
}
section.erro .erro-texto {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  padding: 10vw var(--lateral-gutter) 8vw;
  z-index: 999;
}
section.erro h2,
section.erro p {
  color: var(--v2);
  text-align: center;
}
section.erro p {
  font-size: 16px;
  line-height: 26px;
}
section.erro h2 {
  padding: 0 0 15px;
}
section.erro .btn {
  margin: 40px auto;
}
section.erro .btn i {
  margin-right: 8px;
  font-size: 13px;
}
section.erro a.btn {
  padding: 12px 24px;
}