.elementor-kit-17{--e-global-color-primary:#1B404D;--e-global-color-secondary:#0F262D;--e-global-color-text:#3D424B;--e-global-color-accent:#C09C5B;--e-global-color-153039a:#153039;--e-global-color-2a54621:#2A5462;--e-global-color-b0803f1:#B0803F;--e-global-color-d9b8771:#D9B877;--e-global-color-d5b4731:#D5B473;--e-global-color-f7f5f01:#F7F5F0;--e-global-color-efeae11:#EFEAE1;--e-global-color-faf9f61:#FAF9F6;--e-global-color-ffffff1:#FFFFFF;--e-global-color-6a707a1:#6A707A;--e-global-color-dcd4c71:#DCD4C7;--e-global-color-ece5d81:#ECE5D8;--e-global-color-eef1ef1:#EEF1EF;--e-global-color-c9d2d01:#C9D2D0;--e-global-color-1830371:#183037;--e-global-typography-primary-font-family:"Marcellus";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Mulish";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Mulish";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Mulish";--e-global-typography-accent-font-weight:700;--e-global-typography-5a7d1c3-font-family:"Mulish";--e-global-typography-5a7d1c3-font-size:13px;--e-global-typography-5a7d1c3-font-weight:600;--e-global-typography-5a7d1c3-text-transform:uppercase;--e-global-typography-5a7d1c3-line-height:1.35em;--e-global-typography-5a7d1c3-letter-spacing:2.8px;--e-global-typography-84d2ab1-font-family:"Mulish";--e-global-typography-84d2ab1-font-size:20px;--e-global-typography-84d2ab1-font-weight:400;--e-global-typography-84d2ab1-line-height:1.6em;--e-global-typography-1f8e6b4-font-family:"Mulish";--e-global-typography-1f8e6b4-font-size:15px;--e-global-typography-1f8e6b4-font-weight:400;--e-global-typography-1f8e6b4-line-height:1.55em;background-color:#FFFFFF;color:#3D424B;font-family:"Mulish", Arial, Helvetica, sans-serif;font-size:17px;font-weight:400;line-height:1.6em;overscroll-behavior:auto;}.elementor-kit-17 button,.elementor-kit-17 input[type="button"],.elementor-kit-17 input[type="submit"],.elementor-kit-17 .elementor-button{background-color:#C09C5B;font-family:"Mulish", Arial, Helvetica, sans-serif;font-size:16px;font-weight:600;line-height:1.2em;letter-spacing:0em;color:#183037;box-shadow:0px 12px 30px 0px rgba(192,156,91,0.35);border-style:none;border-radius:999px 999px 999px 999px;padding:16px 32px 16px 32px;}.elementor-kit-17 button:hover,.elementor-kit-17 button:focus,.elementor-kit-17 input[type="button"]:hover,.elementor-kit-17 input[type="button"]:focus,.elementor-kit-17 input[type="submit"]:hover,.elementor-kit-17 input[type="submit"]:focus,.elementor-kit-17 .elementor-button:hover,.elementor-kit-17 .elementor-button:focus{background-color:#B0803F;color:#FFFFFF;box-shadow:0px 10px 24px 0px rgba(176,128,63,0.30);border-style:none;border-radius:999px 999px 999px 999px;}.elementor-kit-17 e-page-transition{background-color:#FFBC7D;}.elementor-kit-17 p{margin-block-end:16px;}.elementor-kit-17 a{color:#B0803F;font-family:"Mulish", Arial, Helvetica, sans-serif;font-size:17px;font-weight:500;line-height:1.6em;}.elementor-kit-17 a:hover{color:#8F6528;}.elementor-kit-17 h1{color:#1B404D;font-family:"Marcellus", Arial, Helvetica, sans-serif;font-size:68px;font-weight:400;line-height:1.05em;letter-spacing:0em;}.elementor-kit-17 h2{color:#1B404D;font-family:"Marcellus", Arial, Helvetica, sans-serif;font-size:50px;font-weight:400;line-height:1.08em;letter-spacing:0em;}.elementor-kit-17 h3{color:#1B404D;font-family:"Marcellus", Arial, Helvetica, sans-serif;font-size:30px;font-weight:400;line-height:1.15em;letter-spacing:0em;}.elementor-kit-17 h4{color:#1B404D;font-family:"Marcellus", Arial, Helvetica, sans-serif;font-size:24px;font-weight:400;line-height:1.2em;letter-spacing:0em;}.elementor-kit-17 h5{color:#1B404D;font-family:"Marcellus", Arial, Helvetica, sans-serif;font-size:20px;font-weight:400;line-height:1.3em;letter-spacing:0em;}.elementor-kit-17 h6{color:#1B404D;font-family:"Marcellus", Arial, Helvetica, sans-serif;font-size:17px;font-weight:400;line-height:1.35em;letter-spacing:0em;}.elementor-kit-17 label{color:#1B404D;font-family:"Mulish", Arial, Helvetica, sans-serif;font-size:14px;font-weight:600;line-height:1.35em;}.elementor-kit-17 input:not([type="button"]):not([type="submit"]),.elementor-kit-17 textarea,.elementor-kit-17 .elementor-field-textual{font-family:"Mulish", Arial, Helvetica, sans-serif;font-size:16px;font-weight:400;line-height:1.35em;color:#30363D;accent-color:#C09C5B;background-color:#FAF9F6;border-style:solid;border-width:1px 1px 1px 1px;border-color:#DCD4C7;border-radius:12px 12px 12px 12px;transition:200ms;padding:16px 15px 16px 15px;}.elementor-kit-17 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-17 textarea:focus,.elementor-kit-17 .elementor-field-textual:focus{color:#30363D;accent-color:#1B404D;background-color:#FFFFFF;box-shadow:0px 0px 0px 4px rgba(192,156,91,0.14);border-style:solid;border-width:1px 1px 1px 1px;border-color:#B0803F;border-radius:12px 12px 12px 12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-17{--e-global-typography-5a7d1c3-font-size:13px;--e-global-typography-5a7d1c3-letter-spacing:2.5px;--e-global-typography-84d2ab1-font-size:18px;--e-global-typography-1f8e6b4-font-size:15px;font-size:17px;line-height:1.6em;}.elementor-kit-17 a{font-size:17px;line-height:1.6em;}.elementor-kit-17 h1{font-size:52px;line-height:1.05em;}.elementor-kit-17 h2{font-size:40px;line-height:1.08em;}.elementor-kit-17 h3{font-size:27px;line-height:1.15em;}.elementor-kit-17 h4{font-size:22px;line-height:1.2em;}.elementor-kit-17 h5{font-size:19px;line-height:1.3em;}.elementor-kit-17 h6{font-size:17px;line-height:1.35em;}.elementor-kit-17 button,.elementor-kit-17 input[type="button"],.elementor-kit-17 input[type="submit"],.elementor-kit-17 .elementor-button{font-size:16px;line-height:1.2em;padding:16px 28px 16px 28px;}.elementor-kit-17 label{font-size:14px;line-height:1.35em;}.elementor-kit-17 input:not([type="button"]):not([type="submit"]),.elementor-kit-17 textarea,.elementor-kit-17 .elementor-field-textual{font-size:16px;line-height:1.35em;padding:16px 15px 16px 15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:22px;--container-default-padding-bottom:0px;--container-default-padding-left:22px;}}@media(max-width:767px){.elementor-kit-17{--e-global-typography-5a7d1c3-font-size:12px;--e-global-typography-5a7d1c3-letter-spacing:2.2px;--e-global-typography-84d2ab1-font-size:17px;--e-global-typography-1f8e6b4-font-size:14px;font-size:16px;line-height:1.6em;}.elementor-kit-17 a{font-size:16px;line-height:1.6em;}.elementor-kit-17 h1{font-size:40px;line-height:1.05em;}.elementor-kit-17 h2{font-size:32px;line-height:1.08em;}.elementor-kit-17 h3{font-size:24px;line-height:1.15em;}.elementor-kit-17 h4{font-size:21px;line-height:1.2em;}.elementor-kit-17 h5{font-size:18px;line-height:1.3em;}.elementor-kit-17 h6{font-size:16px;line-height:1.35em;}.elementor-kit-17 button,.elementor-kit-17 input[type="button"],.elementor-kit-17 input[type="submit"],.elementor-kit-17 .elementor-button{font-size:15px;line-height:1.2em;padding:15px 24px 15px 24px;}.elementor-kit-17 label{font-size:14px;line-height:1.35em;}.elementor-kit-17 input:not([type="button"]):not([type="submit"]),.elementor-kit-17 textarea,.elementor-kit-17 .elementor-field-textual{font-size:16px;line-height:1.35em;padding:16px 15px 16px 15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:18px;--container-default-padding-bottom:0px;--container-default-padding-left:18px;}}
/* Start custom CSS *//* --------------------------------------------------------------------------
   1. VARIÁVEIS E BASE
   -------------------------------------------------------------------------- */

:root {
  --sv-primary: #1b404d;
  --sv-deep: #0f262d;
  --sv-primary-dark: #153039;
  --sv-gold: #c09c5b;
  --sv-gold-dark: #b0803f;
  --sv-gold-light: #d9b877;
  --sv-cream: #f7f5f0;
  --sv-sand: #efeae1;
  --sv-field: #faf9f6;
  --sv-field-border: #dcd4c7;
  --sv-text: #30363d;
  --sv-text-soft: #6a707a;
}

html {
  scroll-behavior: smooth;
}

:is(
  #topo,
  #servicos,
  #estrutura,
  #sobre,
  #diferenciais,
  #depoimentos,
  #agendamento,
  #local,
  #faq
) {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  scroll-margin-top: 96px;
  background-repeat: no-repeat !important;
}

.sv-eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.sv-eyebrow .elementor-heading-title::before {
  content: "";
  width: 26px;
  height: 1px;
  flex: 0 0 auto;
  background: currentColor;
}

.sv-eyebrow--center .elementor-heading-title {
  justify-content: center;
}

.sv-gold {
  color: var(--sv-gold-light);
}

.sv-btn .elementor-button:focus-visible,
.sv-form .elementor-button:focus-visible {
  outline: 3px solid rgba(217, 184, 119, 0.75);
  outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   2. CABEÇALHO, LOGOS E BOTÕES
   -------------------------------------------------------------------------- */

.sv-header-logo img {
  width: auto;
  height: 46px;
  object-fit: contain;
}

.sv-footer-logo img {
  width: auto;
  height: 44px;
  object-fit: contain;
}

.sv-nonna-logo img {
  width: auto;
  height: 22px;
  object-fit: contain;
  opacity: 0.9;
}

.sv-header-cta .elementor-button {
  min-height: 54px;
  padding: 16px 34px !important;
}

/* Sombra do cabeçalho fixo — mesma elevação suave usada nos cards. */
header.elementor-location-header > .e-con:first-child,
header.elementor-location-header > .elementor > .e-con:first-child {
  box-shadow: 0 18px 36px rgba(27, 64, 77, 0.10) !important;
}

.elementor-widget-button .elementor-button-content-wrapper,
.sv-form .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px;
}

.elementor-widget-button .elementor-button-icon,
.sv-form .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  line-height: 0 !important;
}

/* --------------------------------------------------------------------------
   3. FUNDOS DECORATIVOS, GLOBOS E BRILHOS
   -------------------------------------------------------------------------- */

/* Hero: dois anéis na base esquerda e degradê principal. */
body #topo {
  background-color: var(--sv-primary-dark) !important;
  background-image:
    radial-gradient(
      circle 310px at 80px calc(100% + 80px),
      transparent 308px,
      rgba(192, 156, 91, 0.24) 308.5px 309.5px,
      transparent 310px
    ),
    radial-gradient(
      circle 225px at 135px calc(100% + 45px),
      transparent 223px,
      rgba(192, 156, 91, 0.18) 223.5px 224.5px,
      transparent 225px
    ),
    linear-gradient(160deg, var(--sv-primary) 0%, var(--sv-primary-dark) 100%) !important;
}

/* Brilho difuso original no canto superior direito da Hero. */
body #topo::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  width: 520px !important;
  height: 520px !important;
  top: -120px !important;
  right: -140px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 0 !important;
  pointer-events: none !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle at center,
    rgba(192, 156, 91, 0.24) 0%,
    rgba(192, 156, 91, 0.12) 36%,
    rgba(192, 156, 91, 0) 70%
  ) !important;
}

body #topo > .e-con {
  position: relative !important;
  z-index: 1 !important;
}

body #servicos {
  background-color: #fff !important;
  background-image:
    radial-gradient(
      circle 300px at 50px 80px,
      transparent 298px,
      rgba(192, 156, 91, 0.23) 298.5px 299.5px,
      transparent 300px
    ),
    radial-gradient(
      circle 210px at 80px 70px,
      rgba(192, 156, 91, 0.14),
      transparent 68%
    ) !important;
}

body #estrutura {
  background-color: var(--sv-sand) !important;
  background-image:
    radial-gradient(
      circle 310px at calc(100% + 105px) calc(100% + 70px),
      transparent 308px,
      rgba(192, 156, 91, 0.29) 308.5px 309.5px,
      transparent 310px
    ),
    radial-gradient(
      circle 210px at calc(100% - 190px) calc(100% + 55px),
      transparent 208px,
      rgba(192, 156, 91, 0.21) 208.5px 209.5px,
      transparent 210px
    ),
    radial-gradient(
      circle 180px at calc(100% - 40px) calc(100% + 20px),
      rgba(192, 156, 91, 0.12),
      transparent 68%
    ) !important;
}

body #sobre {
  background-color: var(--sv-cream) !important;
  background-image:
    radial-gradient(
      circle 310px at 90px calc(100% + 70px),
      transparent 308px,
      rgba(192, 156, 91, 0.27) 308.5px 309.5px,
      transparent 310px
    ),
    radial-gradient(
      circle 210px at 125px calc(100% + 45px),
      rgba(192, 156, 91, 0.15),
      transparent 68%
    ) !important;
}

body #diferenciais {
  background-color: var(--sv-deep) !important;
  background-image:
    radial-gradient(
      circle 340px at calc(100% + 145px) 100px,
      transparent 338px,
      rgba(192, 156, 91, 0.22) 338.5px 339.5px,
      transparent 340px
    ),
    radial-gradient(
      circle 230px at calc(100% - 135px) 95px,
      transparent 228px,
      rgba(192, 156, 91, 0.18) 228.5px 229.5px,
      transparent 230px
    ),
    radial-gradient(
      circle 220px at 55px calc(100% + 35px),
      rgba(192, 156, 91, 0.17),
      transparent 68%
    ),
    linear-gradient(160deg, var(--sv-primary) 0%, var(--sv-deep) 100%) !important;
}

body #depoimentos {
  background-color: #fff !important;
  background-image:
    radial-gradient(
      circle 300px at calc(100% + 95px) 75px,
      transparent 298px,
      rgba(192, 156, 91, 0.23) 298.5px 299.5px,
      transparent 300px
    ),
    radial-gradient(
      circle 190px at 45px calc(100% + 30px),
      rgba(192, 156, 91, 0.12),
      transparent 68%
    ) !important;
}

body #agendamento {
  background-color: var(--sv-deep) !important;
  background-image:
    radial-gradient(
      circle 360px at 75px 25px,
      transparent 358px,
      rgba(192, 156, 91, 0.22) 358.5px 359.5px,
      transparent 360px
    ),
    radial-gradient(
      circle 235px at 150px 20px,
      transparent 233px,
      rgba(192, 156, 91, 0.17) 233.5px 234.5px,
      transparent 235px
    ),
    radial-gradient(
      circle 280px at calc(100% + 80px) calc(100% + 15px),
      rgba(192, 156, 91, 0.17),
      transparent 68%
    ),
    linear-gradient(135deg, var(--sv-primary) 0%, var(--sv-deep) 100%) !important;
}

body #local {
  background-color: var(--sv-cream) !important;
  background-image:
    radial-gradient(
      circle 280px at 80px 85px,
      transparent 278px,
      rgba(192, 156, 91, 0.26) 278.5px 279.5px,
      transparent 280px
    ),
    radial-gradient(
      circle 170px at 60px 80px,
      rgba(192, 156, 91, 0.12),
      transparent 68%
    ) !important;
}

body #faq {
  background-color: #fff !important;
  background-image:
    radial-gradient(
      circle 260px at calc(100% + 75px) 55px,
      transparent 258px,
      rgba(192, 156, 91, 0.23) 258.5px 259.5px,
      transparent 260px
    ),
    radial-gradient(
      circle 160px at calc(100% - 25px) 45px,
      rgba(192, 156, 91, 0.10),
      transparent 68%
    ) !important;
}

body footer.elementor-location-footer > .elementor > .e-con:first-child {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  background-color: var(--sv-primary-dark) !important;
  background-image:
    radial-gradient(
      circle 250px at calc(100% + 85px) 85px,
      transparent 248px,
      rgba(192, 156, 91, 0.17) 248.5px 249.5px,
      transparent 250px
    ),
    radial-gradient(
      circle 160px at calc(100% - 70px) 60px,
      transparent 158px,
      rgba(192, 156, 91, 0.12) 158.5px 159.5px,
      transparent 160px
    ) !important;
  background-repeat: no-repeat !important;
}

/* --------------------------------------------------------------------------
   4. IMAGENS E CONTORNOS DOURADOS
   -------------------------------------------------------------------------- */

.elementor-element.sv-frame {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate;
  z-index: 1;
}

.elementor-element.sv-frame > .elementor-widget-container::before {
  content: none !important;
  display: none !important;
}

.elementor-element.sv-frame::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  box-sizing: border-box;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(192, 156, 91, 0.70);
}

.elementor-element.sv-frame img,
.elementor-element.sv-frame > .elementor-widget-container {
  position: relative !important;
  z-index: 1;
}

.elementor-element.sv-frame--arch::after {
  inset: 18px -18px -18px 18px;
  border-color: rgba(192, 156, 91, 0.50);
  border-radius: 220px 220px 20px 20px;
}

#sobre .elementor-element.sv-frame--left::after {
  inset: -16px 24px 24px -16px;
  border-color: #d9c9a8;
  border-radius: 20px;
}

.elementor-element.sv-frame--right::after {
  inset: -16px -16px 24px 24px;
  border-color: #d9c9a8;
  border-radius: 20px;
}

.elementor-element.sv-frame--doctor::after {
  inset: -9px -9px 10px 9px;
  border-color: #d9c9a8;
  border-radius: 13px;
}

.sv-photo-hero img {
  width: 100%;
  aspect-ratio: 5 / 6;
  object-fit: cover;
  object-position: center 18%;
  border-radius: 220px 220px 20px 20px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
}

.sv-photo-about img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 20px;
  box-shadow: 0 24px 50px rgba(27, 64, 77, 0.16);
}

.sv-photo-doctor img {
  width: 132px;
  height: 168px;
  object-fit: cover;
  object-position: center top;
  border-radius: 13px;
}

#estrutura > .e-con > .e-con-inner > .e-con:last-child {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate;
  z-index: 1;
  border-radius: 20px;
}

#estrutura > .e-con > .e-con-inner > .e-con:last-child > * {
  position: relative;
  z-index: 1;
}

#estrutura > .e-con > .e-con-inner > .e-con:last-child .elementor-widget-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 24px 50px rgba(27, 64, 77, 0.16);
}

#estrutura > .e-con > .e-con-inner > .e-con:last-child::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  inset: -16px 24px 24px -16px !important;
  width: auto !important;
  height: auto !important;
  z-index: 0;
  pointer-events: none;
  border: 1px solid #d9c9a8 !important;
  border-radius: 20px !important;
  background: transparent !important;
}

/* --------------------------------------------------------------------------
   5. ÍCONES DOS CARDS E BOTÕES
   -------------------------------------------------------------------------- */

:is(#topo, #servicos, #estrutura, #agendamento, #local)
  .e-con:has(> .elementor-widget-icon:only-child) {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  place-content: center !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}

#topo .e-con:has(> .elementor-widget-icon:only-child) {
  --width: 22px !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  flex: 0 0 22px !important;
}

#servicos .e-con:has(> .elementor-widget-icon:only-child) {
  --width: 60px !important;
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  height: 60px !important;
  min-height: 60px !important;
  flex: 0 0 60px !important;
}

#estrutura .e-con:has(> .elementor-widget-icon:only-child) {
  --width: 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  flex: 0 0 36px !important;
}

#agendamento .e-con:has(> .elementor-widget-icon:only-child) {
  --width: 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  flex: 0 0 24px !important;
}

#local .e-con:has(> .elementor-widget-icon:only-child) {
  --width: 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  flex: 0 0 38px !important;
}

:is(#topo, #servicos, #estrutura, #agendamento, #local)
  .e-con:has(> .elementor-widget-icon:only-child)
  :is(
    .elementor-widget-icon,
    .elementor-widget-container,
    .elementor-icon-wrapper,
    .elementor-icon
  ) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

:is(#topo, #servicos, #estrutura, #agendamento, #local)
  .e-con:has(> .elementor-widget-icon:only-child)
  :is(svg, i) {
  display: block !important;
  margin: auto !important;
}

/* --------------------------------------------------------------------------
   6. ANIMAÇÕES DOS CARDS E ENTRADA DA HERO
   -------------------------------------------------------------------------- */

:is(
  #servicos .e-con:has(> .elementor-widget-divider):has(> .elementor-widget-heading h3),
  #sobre .e-con:has(> .e-con > .sv-photo-doctor),
  #diferenciais .e-con:has(> .elementor-widget-divider):has(> .elementor-widget-heading h3),
  #depoimentos .e-con:has(> .elementor-widget-star-rating)
) {
  position: relative;
  transform: translate3d(0, 0, 0);
  transition:
    transform 0.28s cubic-bezier(0.2, 0.75, 0.25, 1),
    box-shadow 0.28s ease,
    border-color 0.28s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  :is(
    #servicos .e-con:has(> .elementor-widget-divider):has(> .elementor-widget-heading h3),
    #sobre .e-con:has(> .e-con > .sv-photo-doctor),
    #depoimentos .e-con:has(> .elementor-widget-star-rating)
  ):hover {
    transform: translate3d(0, -4px, 0) !important;
    box-shadow: 0 18px 36px rgba(27, 64, 77, 0.10) !important;
  }

  #diferenciais
    .e-con:has(> .elementor-widget-divider):has(> .elementor-widget-heading h3):hover {
    transform: translate3d(0, -4px, 0) !important;
    border-color: rgba(192, 156, 91, 0.35) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.28) !important;
  }

  #depoimentos .e-con:has(> .elementor-widget-star-rating):hover {
    border-color: var(--sv-gold) !important;
  }

  #servicos
    .e-con:has(> .elementor-widget-divider):has(> .elementor-widget-heading h3):hover
    > .e-con:has(> .elementor-widget-icon:only-child) {
    transform: translate3d(0, -2px, 0) scale(1.045);
    box-shadow: 0 10px 24px rgba(27, 64, 77, 0.18);
  }

  .sv-btn .elementor-button:hover,
  .sv-form .elementor-button:hover {
    transform: translate3d(0, -2px, 0);
  }
}

@keyframes sv-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

body:not(.elementor-editor-active)
  #topo > .e-con > .e-con-inner > .e-con:first-child {
  animation: sv-fade-up 0.8s cubic-bezier(0.2, 0.75, 0.25, 1) both;
}

body:not(.elementor-editor-active)
  #topo > .e-con > .e-con-inner > .e-con:last-child {
  animation: sv-fade-up 1s 0.1s cubic-bezier(0.2, 0.75, 0.25, 1) both;
}

/* --------------------------------------------------------------------------
   7. FORMULÁRIO ELEMENTOR PRO
   -------------------------------------------------------------------------- */

body #agendamento > .e-con > .e-con-inner {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr) !important;
  align-items: center !important;
  gap: 72px !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
}

body #agendamento > .e-con > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
}

body #agendamento .e-con:has(> .sv-form) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  gap: 18px !important;
  padding: 38px !important;
  overflow: visible !important;
  background: #fff !important;
  border: 1px solid rgba(192, 156, 91, 0.22) !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.30) !important;
}

body #agendamento .elementor-widget-form.sv-form .elementor-form-fields-wrapper {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
}

body #agendamento .elementor-widget-form.sv-form
  .elementor-form-fields-wrapper > .elementor-field-group {
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

body #agendamento .elementor-widget-form.sv-form :is(
  .elementor-field-group-nome,
  .elementor-field-group-tratamento,
  .elementor-field-group-consentimento,
  .elementor-field-type-submit,
  .elementor-message
) {
  grid-column: 1 / -1 !important;
}

body #agendamento .elementor-widget-form.sv-form .elementor-field-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  color: var(--sv-primary) !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

body #agendamento .elementor-widget-form.sv-form .elementor-field-textual {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--sv-field-border) !important;
  border-radius: 12px !important;
  background-color: var(--sv-field) !important;
  color: var(--sv-text) !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease !important;
}

.sv-form .elementor-field-textual::placeholder {
  color: #8a8f96 !important;
  opacity: 1;
}

/* Remove os ícones antigos em fonte que apareciam como quadrados. */
.sv-form :is(
  .elementor-field-group-nome,
  .elementor-field-group-whatsapp,
  .elementor-field-group-preferencia,
  .elementor-field-group-tratamento
)::before {
  content: none !important;
  display: none !important;
}

body #agendamento .elementor-widget-form.sv-form :is(
  input#form-field-nome,
  input#form-field-whatsapp,
  select#form-field-preferencia,
  select#form-field-tratamento
) {
  padding-left: 47px !important;
  background-position: 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 19px 19px !important;
}

.sv-form #form-field-nome {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='%23B0803F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.25'/%3E%3Cpath d='M5.5%2019c.7-3.4%203-5.25%206.5-5.25s5.8%201.85%206.5%205.25'/%3E%3C/svg%3E") !important;
}

.sv-form #form-field-whatsapp {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='%23B0803F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22%2016.92v3a2%202%200%200%201-2.18%202%2019.8%2019.8%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.12%204.18%202%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.69%202.8a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.28-1.28a2%202%200%200%201%202.11-.45c.9.33%201.84.56%202.8.69A2%202%200%200%201%2022%2016.92z'/%3E%3C/svg%3E") !important;
}

.sv-form #form-field-preferencia {
  padding-right: 44px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='%23B0803F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20%2010c0%205-8%2011-8%2011S4%2015%204%2010a8%208%200%201%201%2016%200z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") !important;
}

.sv-form #form-field-tratamento {
  padding-right: 44px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='%23B0803F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12%207.5v9M7.5%2012h9'/%3E%3C/svg%3E") !important;
}

/* Remove o recuo duplicado criado pelo wrapper dos selects. */
body #agendamento .elementor-widget-form.sv-form
  .elementor-field-group-preferencia
  > div.elementor-select-wrapper.elementor-field,
body #agendamento .elementor-widget-form.sv-form
  .elementor-field-group-tratamento
  > div.elementor-select-wrapper.elementor-field {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.sv-form .elementor-select-wrapper .select-caret-down-wrapper {
  right: 16px !important;
  pointer-events: none !important;
}

.sv-form .elementor-field-textual:focus {
  outline: none !important;
  border-color: var(--sv-gold-dark) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 4px rgba(192, 156, 91, 0.14) !important;
}

/* Consentimento LGPD. */
body #agendamento .elementor-widget-form.sv-form
  .elementor-field-group-consentimento .elementor-field-subgroup {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body #agendamento .elementor-widget-form.sv-form
  .elementor-field-group-consentimento .elementor-field-option {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 11px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body #agendamento .elementor-widget-form.sv-form
  input#form-field-consentimento.elementor-field[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
  display: block !important;
  position: static !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #bfb7aa !important;
  border-radius: 4px !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
  flex: 0 0 18px !important;
  cursor: pointer !important;
}

body #agendamento .elementor-widget-form.sv-form
  input#form-field-consentimento.elementor-field[type="checkbox"]:checked {
  border-color: var(--sv-primary) !important;
  background-color: var(--sv-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2016%2016' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3%208%203%203%207-7'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 12px !important;
}

body #agendamento .elementor-widget-form.sv-form
  input#form-field-consentimento.elementor-field[type="checkbox"]:focus-visible {
  outline: none !important;
  border-color: var(--sv-gold-dark) !important;
  box-shadow: 0 0 0 4px rgba(192, 156, 91, 0.14) !important;
}

body #agendamento .elementor-widget-form.sv-form
  .elementor-field-group-consentimento
  label[for="form-field-consentimento"] {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--sv-text-soft) !important;
  font: 400 13px / 1.45 "Mulish", Arial, sans-serif !important;
  text-indent: 0 !important;
}

.sv-form .elementor-button {
  width: 100% !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 17px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: var(--sv-gold) !important;
  color: #183037 !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 12px 26px rgba(192, 156, 91, 0.30) !important;
  transition:
    transform 0.22s ease,
    background-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease !important;
}

.sv-form .elementor-button-content-wrapper {
  gap: 10px !important;
}

.sv-form .elementor-button-icon,
.sv-form .elementor-button-icon :is(svg, i) {
  width: 20px !important;
  height: 20px !important;
  font-size: 20px !important;
  line-height: 20px !important;
}

.sv-form .elementor-button-text {
  white-space: normal !important;
  text-align: center !important;
}

@media (hover: hover) and (pointer: fine) {
  .sv-form .elementor-button:hover {
    background-color: var(--sv-gold-dark) !important;
    color: #fff !important;
    box-shadow: 0 16px 32px rgba(192, 156, 91, 0.38) !important;
  }
}

#agendamento .e-con:has(> .sv-form) > .sv-form {
  margin-bottom: -6px !important;
}

#agendamento
  .e-con:has(> .sv-form)
  > .elementor-widget-text-editor:last-child p {
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

/* --------------------------------------------------------------------------
   8. SANFONA DO FAQ
   -------------------------------------------------------------------------- */

/* Um único card para pergunta e resposta, como no HTML-base. */
#faq .sv-accordion .e-n-accordion-item {
  margin: 0 0 14px !important;
  overflow: hidden !important;
  background: #faf8f3 !important;
  border: 1px solid #ece5d8 !important;
  border-radius: 14px !important;
}

#faq .sv-accordion .e-n-accordion-item:last-child {
  margin-bottom: 0 !important;
}

#faq .sv-accordion .e-n-accordion-item-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 22px 26px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#faq .sv-accordion .e-n-accordion-item-title-header {
  order: 1 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

#faq .sv-accordion .e-n-accordion-item-title-text {
  margin: 0 !important;
  color: var(--sv-primary) !important;
  font-family: "Marcellus", Arial, serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

#faq .sv-accordion .e-n-accordion-item-title-icon {
  order: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  margin: 0 0 0 auto !important;
  color: var(--sv-gold-dark) !important;
  line-height: 1 !important;
}

#faq .sv-accordion .e-n-accordion-item-title-icon svg {
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
}

#faq .sv-accordion .e-n-accordion-item > [role="region"] {
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 26px 24px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#faq .sv-accordion .e-n-accordion-item > [role="region"] > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#faq .sv-accordion .e-n-accordion-item [role="region"]
  .elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--sv-text-soft) !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

#faq .sv-accordion .e-n-accordion-item [role="region"]
  .elementor-widget-text-editor p {
  margin: 0 !important;
}

/* --------------------------------------------------------------------------
   9. MAPA
   -------------------------------------------------------------------------- */

.sv-map .elementor-widget-container {
  overflow: hidden;
  border: 1px solid #ddd3c2;
  border-radius: 20px;
}

.sv-map iframe {
  width: 100%;
  min-height: 420px;
  aspect-ratio: 4 / 3;
}

/* --------------------------------------------------------------------------
   10. MENU MOBILE — POPUP DO ELEMENTOR PRO

   Classes usadas no Elementor:
   - Ícone hambúrguer do cabeçalho: sv-mobile-toggle
   - Container principal do popup: sv-mobile-menu
   - Logo branca: sv-mobile-menu__logo
   - Chamada pequena: sv-mobile-menu__eyebrow
   - Lista de navegação: sv-mobile-menu__nav
   - Botão de agendamento: sv-mobile-menu__cta
   - Bloco de contatos: sv-mobile-menu__contact
   -------------------------------------------------------------------------- */

/* O acionador fica disponível apenas no breakpoint mobile. */
.sv-mobile-toggle {
  display: none;
}

.sv-mobile-toggle .elementor-icon-wrapper {
  line-height: 0;
}

.sv-mobile-toggle .elementor-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0 !important;
  color: var(--sv-primary) !important;
  background: var(--sv-cream) !important;
  border: 1px solid rgba(192, 156, 91, 0.32) !important;
  border-radius: 50% !important;
  box-shadow: 0 12px 28px rgba(27, 64, 77, 0.14) !important;
  transition:
    transform 0.25s ease,
    color 0.25s ease,
    background-color 0.25s ease;
}

.sv-mobile-toggle .elementor-icon svg {
  width: 21px;
  height: 21px;
}

.sv-mobile-toggle .elementor-icon:hover {
  color: var(--sv-deep) !important;
  background: var(--sv-gold-light) !important;
  transform: translateY(-2px);
}

/* Remove a moldura padrão do popup e ocupa toda a tela do celular. */
.elementor-popup-modal:has(.sv-mobile-menu) {
  align-items: stretch !important;
  justify-content: stretch !important;
}

.elementor-popup-modal:has(.sv-mobile-menu) .dialog-widget-content {
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.elementor-popup-modal:has(.sv-mobile-menu) .dialog-message {
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: none !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/*
 * Fallback do popup importado no site (ID 252).
 * O Elementor pode manter o fundo branco na moldura externa mesmo quando o
 * container interno possui a classe sv-mobile-menu. Este bloco garante que a
 * própria moldura receba o fundo da Sanvitté e não depende do seletor :has().
 */
#elementor-popup-modal-252 {
  align-items: stretch !important;
  justify-content: stretch !important;
}

#elementor-popup-modal-252 .dialog-widget-content {
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  overflow: hidden !important;
  background-color: var(--sv-deep) !important;
  background-image:
    radial-gradient(
      circle 340px at calc(100% + 120px) -90px,
      rgba(192, 156, 91, 0.26),
      transparent 70%
    ),
    radial-gradient(
      circle 245px at -55px 105px,
      transparent 243px,
      rgba(217, 184, 119, 0.22) 243.5px 244.5px,
      transparent 245px
    ),
    radial-gradient(
      circle 175px at calc(100% + 42px) calc(100% - 88px),
      transparent 173px,
      rgba(217, 184, 119, 0.18) 173.5px 174.5px,
      transparent 175px
    ),
    radial-gradient(
      circle 320px at -125px calc(100% + 110px),
      rgba(76, 132, 145, 0.28),
      transparent 72%
    ),
    linear-gradient(155deg, var(--sv-primary) 0%, var(--sv-deep) 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#elementor-popup-modal-252 .dialog-message {
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: none !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: transparent !important;
}

/* Fundo azul-petróleo com traços finos e globos difusos. */
.sv-mobile-menu {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 18px !important;
  isolation: isolate;
  overflow: hidden !important;
  width: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  padding: 28px 24px 30px !important;
  color: #fff;
  background-color: var(--sv-deep) !important;
  background-image:
    radial-gradient(
      circle 245px at -55px 105px,
      transparent 243px,
      rgba(217, 184, 119, 0.22) 243.5px 244.5px,
      transparent 245px
    ),
    radial-gradient(
      circle 175px at calc(100% + 42px) calc(100% - 88px),
      transparent 173px,
      rgba(217, 184, 119, 0.18) 173.5px 174.5px,
      transparent 175px
    ),
    linear-gradient(155deg, var(--sv-primary) 0%, var(--sv-deep) 100%) !important;
}

/* Globo dourado superior. */
.sv-mobile-menu::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -135px;
  right: -125px;
  width: 340px;
  height: 340px;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(
    circle at center,
    rgba(192, 156, 91, 0.28) 0%,
    rgba(192, 156, 91, 0.12) 38%,
    rgba(192, 156, 91, 0) 70%
  );
}

/* Globo azul-claro inferior. */
.sv-mobile-menu::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -155px;
  left: -135px;
  width: 330px;
  height: 330px;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(
    circle at center,
    rgba(76, 132, 145, 0.30) 0%,
    rgba(76, 132, 145, 0.12) 40%,
    rgba(76, 132, 145, 0) 72%
  );
}

.sv-mobile-menu > * {
  position: relative;
  z-index: 1;
}

/* Botão de fechar nativo do Popup Elementor. */
.elementor-popup-modal:has(.sv-mobile-menu) .dialog-close-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  top: 25px !important;
  right: 22px !important;
  width: 46px;
  height: 46px;
  padding: 0 !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.09) !important;
  border: 1px solid rgba(217, 184, 119, 0.35) !important;
  border-radius: 50% !important;
  box-shadow: 0 14px 30px rgba(5, 20, 25, 0.22) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transition:
    transform 0.25s ease,
    background-color 0.25s ease;
}

.elementor-popup-modal:has(.sv-mobile-menu) .dialog-close-button:hover {
  color: var(--sv-deep) !important;
  background: var(--sv-gold-light) !important;
  transform: rotate(6deg);
}

/* Mesmo acabamento para o botão fechar do popup atualmente publicado. */
#elementor-popup-modal-252 .dialog-close-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  top: 25px !important;
  right: 22px !important;
  width: 46px;
  height: 46px;
  padding: 0 !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.09) !important;
  border: 1px solid rgba(217, 184, 119, 0.35) !important;
  border-radius: 50% !important;
  box-shadow: 0 14px 30px rgba(5, 20, 25, 0.22) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

#elementor-popup-modal-252 .dialog-close-button:hover {
  color: var(--sv-deep) !important;
  background: var(--sv-gold-light) !important;
  transform: rotate(6deg);
}

.sv-mobile-menu__logo img {
  width: auto !important;
  height: 46px !important;
  max-width: 175px !important;
  object-fit: contain;
}

.sv-mobile-menu__logo {
  margin-bottom: 20px;
}

.sv-mobile-menu__eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  color: var(--sv-gold-light) !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
}

.sv-mobile-menu__eyebrow .elementor-heading-title::before {
  content: "";
  width: 24px;
  height: 1px;
  background: currentColor;
}

/* Navegação principal em linhas amplas e fáceis de tocar. */
.sv-mobile-menu__nav .elementor-icon-list-items {
  gap: 0 !important;
}

.sv-mobile-menu__nav .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.sv-mobile-menu__nav .elementor-icon-list-item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.sv-mobile-menu__nav .elementor-icon-list-item > a {
  display: flex !important;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-height: 64px;
  padding: 14px 3px !important;
  color: #fff !important;
}

.sv-mobile-menu__nav .elementor-icon-list-text {
  flex: 1 1 auto;
  padding: 0 !important;
  color: inherit !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.sv-mobile-menu__nav .elementor-icon-list-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  color: var(--sv-gold-light) !important;
  background: rgba(192, 156, 91, 0.10);
  border: 1px solid rgba(217, 184, 119, 0.18);
  border-radius: 50%;
}

.sv-mobile-menu__nav .elementor-icon-list-icon :is(i, svg) {
  width: 13px;
  height: 13px;
  color: inherit !important;
  fill: currentColor !important;
}

.sv-mobile-menu__nav .elementor-icon-list-item > a:hover {
  color: var(--sv-gold-light) !important;
}

.sv-mobile-menu__cta .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  padding: 16px 24px !important;
  color: var(--sv-deep) !important;
  background: linear-gradient(135deg, var(--sv-gold-light), var(--sv-gold)) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 32px rgba(5, 20, 25, 0.30) !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em;
}

.sv-mobile-menu__cta .elementor-button:hover {
  color: #fff !important;
  background: var(--sv-gold-dark) !important;
  transform: translateY(-2px);
}

/* Contatos no mesmo formato limpo utilizado no rodapé. */
.sv-mobile-menu__contact {
  margin-top: auto;
  padding: 4px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sv-mobile-menu__contact .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--sv-gold-light) !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase;
}

.sv-mobile-menu__contact .elementor-heading-title::before {
  content: "";
  width: 26px;
  height: 1px;
  flex: 0 0 auto;
  background: currentColor;
}

.sv-mobile-menu__contact .elementor-icon-list-items {
  gap: 15px !important;
  margin-top: 18px !important;
}

.sv-mobile-menu__contact .elementor-icon-list-item,
.sv-mobile-menu__contact .elementor-icon-list-item > a {
  display: flex !important;
  align-items: center;
  gap: 11px;
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: "Mulish", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

.sv-mobile-menu__contact .elementor-icon-list-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  color: var(--sv-gold-light) !important;
}

.sv-mobile-menu__contact .elementor-icon-list-icon :is(i, svg) {
  width: 15px;
  height: 15px;
  color: inherit !important;
  fill: currentColor !important;
}

/* Entrada suave dos elementos quando o popup é aberto. */
.sv-mobile-menu :is(
  .sv-mobile-menu__logo,
  .sv-mobile-menu__eyebrow,
  .sv-mobile-menu__nav,
  .sv-mobile-menu__cta,
  .sv-mobile-menu__contact
) {
  animation: sv-mobile-menu-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.sv-mobile-menu .sv-mobile-menu__eyebrow { animation-delay: 0.05s; }
.sv-mobile-menu .sv-mobile-menu__nav { animation-delay: 0.10s; }
.sv-mobile-menu .sv-mobile-menu__cta { animation-delay: 0.16s; }
.sv-mobile-menu .sv-mobile-menu__contact { animation-delay: 0.22s; }

@keyframes sv-mobile-menu-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --------------------------------------------------------------------------
   11. RESPONSIVIDADE
   -------------------------------------------------------------------------- */

@media (max-width: 860px) {
  body #agendamento > .e-con > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 42px !important;
    max-width: 680px !important;
  }
}

@media (max-width: 767px) {
  .sv-mobile-toggle {
    display: block;
  }

  body #topo {
    background-image:
      radial-gradient(
        circle 220px at 35px calc(100% + 55px),
        transparent 218px,
        rgba(192, 156, 91, 0.21) 218.5px 219.5px,
        transparent 220px
      ),
      linear-gradient(160deg, var(--sv-primary) 0%, var(--sv-primary-dark) 100%) !important;
  }

  body #topo::after {
    width: 360px !important;
    height: 360px !important;
    top: -100px !important;
    right: -130px !important;
  }

  body #diferenciais {
    background-image:
      radial-gradient(
        circle 240px at calc(100% + 85px) 75px,
        transparent 238px,
        rgba(192, 156, 91, 0.19) 238.5px 239.5px,
        transparent 240px
      ),
      radial-gradient(
        circle 170px at 25px calc(100% + 25px),
        rgba(192, 156, 91, 0.14),
        transparent 68%
      ),
      linear-gradient(160deg, var(--sv-primary) 0%, var(--sv-deep) 100%) !important;
  }

  body #agendamento {
    background-image:
      radial-gradient(
        circle 245px at 30px 20px,
        transparent 243px,
        rgba(192, 156, 91, 0.19) 243.5px 244.5px,
        transparent 245px
      ),
      radial-gradient(
        circle 190px at calc(100% + 55px) calc(100% + 15px),
        rgba(192, 156, 91, 0.14),
        transparent 68%
      ),
      linear-gradient(135deg, var(--sv-primary) 0%, var(--sv-deep) 100%) !important;
  }

  .elementor-element.sv-frame--arch::after {
    inset: 10px -10px -10px 10px;
  }

  #sobre .elementor-element.sv-frame--left::after {
    inset: -10px 12px 12px -10px;
  }

  .elementor-element.sv-frame--right::after {
    inset: -10px -10px 12px 12px;
  }

  #estrutura > .e-con > .e-con-inner > .e-con:last-child::after {
    inset: -10px 12px 12px -10px !important;
  }

  .sv-photo-doctor img {
    width: 112px;
    height: 144px;
  }

  body #agendamento .elementor-widget-form.sv-form
    .elementor-form-fields-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body #agendamento .elementor-widget-form.sv-form
    .elementor-form-fields-wrapper > .elementor-field-group {
    grid-column: 1 / -1 !important;
  }

  .sv-form .elementor-field-textual {
    font-size: 15px !important;
  }

  .sv-map iframe {
    min-height: 340px;
  }
}

@media (max-width: 560px) {
  .sv-header-logo img {
    height: 38px !important;
  }

  .sv-header-cta .elementor-button {
    min-height: 50px;
    padding: 14px 20px !important;
    font-size: 15px !important;
  }

  body #agendamento {
    padding: 58px 18px !important;
  }

  body #agendamento .e-con:has(> .sv-form) {
    padding: 26px 20px !important;
    border-radius: 18px !important;
  }

  body #agendamento .elementor-widget-form.sv-form
    .elementor-form-fields-wrapper {
    gap: 16px !important;
  }

  body #agendamento .elementor-widget-form.sv-form
    .elementor-field-group-consentimento
    label[for="form-field-consentimento"] {
    font-size: 12.5px !important;
  }

  .sv-form .elementor-button {
    min-height: 52px !important;
    padding: 15px 18px !important;
    font-size: 16px !important;
  }

  #faq .sv-accordion .e-n-accordion-item-title {
    padding: 18px 20px !important;
  }

  #faq .sv-accordion .e-n-accordion-item-title-text {
    font-size: 20px !important;
  }

  #faq .sv-accordion .e-n-accordion-item > [role="region"] {
    padding: 0 20px 20px !important;
  }
}

/* --------------------------------------------------------------------------
   12. ACESSIBILIDADE — MOVIMENTO REDUZIDO
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  :is(
    #servicos .e-con:has(> .elementor-widget-divider):has(> .elementor-widget-heading h3),
    #sobre .e-con:has(> .e-con > .sv-photo-doctor),
    #diferenciais .e-con:has(> .elementor-widget-divider):has(> .elementor-widget-heading h3),
    #depoimentos .e-con:has(> .elementor-widget-star-rating),
    #topo > .e-con > .e-con-inner > .e-con,
    .sv-btn .elementor-button,
    .sv-form .elementor-button,
    .sv-mobile-toggle .elementor-icon,
    .sv-mobile-menu :is(
      .sv-mobile-menu__logo,
      .sv-mobile-menu__eyebrow,
      .sv-mobile-menu__nav,
      .sv-mobile-menu__cta,
      .sv-mobile-menu__contact
    )
  ) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */