/*
 * Dra. Stefânia Pediatra — shell público oficial v0.63.1
 * Cabeçalho fixo + rodapé em quatro blocos.
 */

body.stef-site-shell-active{
  --stef-shell-green:#4A8C84;
  --stef-shell-green-dark:#7A5230;
  --stef-shell-nude:#E8BFB3;
  --stef-shell-cream:#F0EDE6;
  --stef-shell-paper:#F0EDE6;
  --stef-shell-text:#2C2C2C;
  --stef-shell-line:rgba(122,82,48,.16);
}

/* Evita duplicidade com o cabeçalho/rodapé padrão do Hello quando existirem. */
body.stef-site-shell-active > #site-header,
body.stef-site-shell-active > #site-footer{
  display:none!important;
}

.stef-site-header,
.stef-site-header * ,
.stef-site-footer,
.stef-site-footer *{
  box-sizing:border-box;
}

.stef-site-header{
  position:fixed;
  z-index:99920;
  top:0;
  left:0;
  right:0;
  width:100%;
  min-height:78px;
  font-family:"Lato",Arial,sans-serif;
  background:rgba(240,237,230,.97);
  border-bottom:1px solid rgba(28,83,63,.12);
  box-shadow:0 8px 30px rgba(23,63,48,.05);
  transition:
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    backdrop-filter .28s ease;
}

.admin-bar .stef-site-header{
  top:32px;
}

.stef-site-header.is-home-transparent:not(.is-scrolled):not(.is-menu-open){
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
}

.stef-site-header.is-scrolled,
.stef-site-header.is-menu-open{
  background:rgba(240,237,230,.94);
  border-bottom-color:rgba(28,83,63,.13);
  box-shadow:0 10px 34px rgba(23,63,48,.07);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
}

.stef-site-header__inner{
  width:min(1520px,100%);
  min-height:78px;
  margin:0 auto;
  padding:0 clamp(24px,4.5vw,72px);
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);
  align-items:center;
  gap:30px;
}

.stef-site-brand{
  width:max-content;
  display:flex;
  align-items:baseline;
  gap:9px;
  color:var(--stef-shell-green)!important;
  text-decoration:none!important;
  line-height:1;
}

.stef-site-brand strong{
  font-family:"Nunito",Arial,sans-serif;
  font-size:34px;
  line-height:.9;
  font-weight:600;
  letter-spacing:-.025em;
}

.stef-site-brand span{
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.stef-site-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
}

.stef-site-nav a{
  position:relative;
  padding:29px 0 27px;
  color:var(--stef-shell-green-dark)!important;
  text-decoration:none!important;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
}

.stef-site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:19px;
  height:1px;
  background:var(--stef-shell-green);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}

.stef-site-nav a:hover::after,
.stef-site-nav a:focus::after,
.stef-site-nav a.is-current::after{
  transform:scaleX(1);
}

.stef-site-header__action{
  display:flex;
  justify-content:flex-end;
}

.stef-site-header__action a{
  min-height:44px;
  padding:11px 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid var(--stef-shell-green);
  border-radius:9px;
  background:var(--stef-shell-green);
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px;
  line-height:1;
  font-weight:700;
  transition:
    background .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.stef-site-header__action a:hover,
.stef-site-header__action a:focus{
  background:var(--stef-shell-green-dark);
  border-color:var(--stef-shell-green-dark);
  transform:translateY(-1px);
}

.stef-site-menu-toggle{
  display:none;
}

.stef-site-header-spacer{
  width:100%;
  height:78px;
}

/* Mobile menu */
.stef-site-mobile-menu{
  display:none;
}

/* Rodapé */
.stef-site-footer{
  position:relative;
  z-index:2;
  width:100%;
  padding:82px 0 26px;
  overflow:hidden;
  background:var(--stef-shell-green-dark);
  color:#f9f4ed;
  font-family:"Lato",Arial,sans-serif;
}

.stef-site-footer::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-310px;
  top:-320px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
  pointer-events:none;
}

.stef-site-footer__inner{
  position:relative;
  z-index:1;
  width:min(1440px,100%);
  margin:0 auto;
  padding:0 clamp(24px,5vw,72px);
}

.stef-site-footer__grid{
  display:grid;
  grid-template-columns:1.25fr .72fr .9fr 1.15fr;
  gap:clamp(34px,4vw,68px);
  align-items:start;
}

.stef-site-brand--footer{
  color:#F0EDE6!important;
}

.stef-site-brand--footer strong{
  font-size:39px;
}

.stef-site-footer__brand>p{
  max-width:330px;
  margin:22px 0 0;
  color:rgba(255,250,243,.68);
  font-size:12px;
  line-height:1.7;
}

.stef-site-footer__label{
  margin:4px 0 19px;
  color:#a7c1b3;
  font-size:8px;
  line-height:1;
  font-weight:700;
  letter-spacing:.17em;
}

.stef-site-footer__links{
  display:flex;
  flex-direction:column;
  gap:13px;
}

.stef-site-footer__links a{
  width:max-content;
  max-width:100%;
  color:rgba(255,250,243,.84)!important;
  text-decoration:none!important;
  font-size:12px;
  line-height:1.4;
  font-weight:600;
  transition:color .2s ease,transform .2s ease;
}

.stef-site-footer__links a:hover,
.stef-site-footer__links a:focus{
  color:#fff!important;
  transform:translateX(2px);
}

.stef-site-footer__cta h2{
  max-width:310px;
  margin:0;
  color:#F0EDE6;
  font-family:"Nunito",Arial,sans-serif;
  font-size:34px;
  line-height:.98;
  font-weight:600;
  letter-spacing:-.025em;
}

.stef-site-footer__cta>a{
  min-height:44px;
  margin-top:22px;
  padding:10px 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:9px;
  background:#F0EDE6;
  color:var(--stef-shell-green-dark)!important;
  text-decoration:none!important;
  font-size:11px;
  font-weight:700;
  transition:background .2s ease,transform .2s ease;
}

.stef-site-footer__cta>a:hover,
.stef-site-footer__cta>a:focus{
  background:#e6efe9;
  transform:translateY(-1px);
}

.stef-site-footer__bottom{
  margin-top:62px;
  padding-top:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(255,255,255,.10);
}

.stef-site-footer__bottom p{
  margin:0;
  color:rgba(255,250,243,.48);
  font-size:9px;
  line-height:1.5;
}

/* Notebook/tablet: menu continua aberto, como solicitado. */
@media(max-width:960px){
  .stef-site-header__inner{
    padding-left:26px;
    padding-right:26px;
    grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);
    gap:20px;
  }

  .stef-site-nav{
    gap:22px;
  }

  .stef-site-brand strong{
    font-size:31px;
  }

  .stef-site-header__action a{
    padding-left:13px;
    padding-right:13px;
  }

  .stef-site-footer__grid{
    grid-template-columns:1.1fr .75fr .9fr 1.15fr;
    gap:30px;
  }
}

/* Somente celular: hamburger e sem botão Agendar separado. */
@media(max-width:699px){
  .stef-site-header{
    min-height:68px;
  }

  .admin-bar .stef-site-header{
    top:46px;
  }

  .stef-site-header__inner{
    min-height:68px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .stef-site-brand strong{
    font-size:31px;
  }

  .stef-site-brand span{
    font-size:8px;
  }

  .stef-site-nav,
  .stef-site-header__action{
    display:none!important;
  }

  .stef-site-menu-toggle{
    width:44px;
    height:44px;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--stef-shell-green);
    cursor:pointer;
  }

  .stef-site-menu-toggle span{
    width:21px;
    height:1.5px;
    display:block;
    border-radius:999px;
    background:currentColor;
    transition:transform .24s ease;
  }

  .stef-site-header.is-menu-open .stef-site-menu-toggle span:first-child{
    transform:translateY(3.75px) rotate(45deg);
  }

  .stef-site-header.is-menu-open .stef-site-menu-toggle span:last-child{
    transform:translateY(-3.75px) rotate(-45deg);
  }

  .stef-site-mobile-menu{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    padding:6px 18px 18px;
    display:block;
    background:rgba(240,237,230,.97);
    border-bottom:1px solid rgba(28,83,63,.12);
    box-shadow:0 18px 34px rgba(23,63,48,.08);
    -webkit-backdrop-filter:blur(15px);
    backdrop-filter:blur(15px);
  }

  .stef-site-mobile-menu[hidden]{
    display:none!important;
  }

  .stef-site-mobile-menu nav{
    padding-top:7px;
    border-top:1px solid rgba(28,83,63,.10);
  }

  .stef-site-mobile-menu a{
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid rgba(28,83,63,.09);
    color:var(--stef-shell-green-dark)!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:700;
  }

  .stef-site-header-spacer{
    height:68px;
  }

  .stef-site-footer{
    padding:64px 0 22px;
  }

  .stef-site-footer__grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .stef-site-footer__brand>p,
  .stef-site-footer__cta h2{
    max-width:100%;
  }

  .stef-site-footer__bottom{
    margin-top:48px;
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
}

@media(prefers-reduced-motion:reduce){
  .stef-site-header,
  .stef-site-header *,
  .stef-site-footer *,
  .stef-site-menu-toggle span{
    transition:none!important;
  }
}


/* v0.64.0 — cabeçalho e rodapé com a identidade oficial */
.stef-site-header,
.stef-site-footer{
  font-family:"Lato",Arial,sans-serif!important;
}

.stef-site-brand{
  align-items:flex-start!important;
  flex-direction:column!important;
  gap:4px!important;
}

.stef-site-brand strong{
  color:#4A8C84!important;
  font-family:"Nunito",Arial,sans-serif!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}

.stef-site-brand span{
  max-width:240px;
  color:#7A5230!important;
  font-family:"Lato",Arial,sans-serif!important;
  font-size:6px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
}

.stef-site-nav a,
.stef-site-header__action a{
  font-family:"Lato",Arial,sans-serif!important;
  font-weight:700!important;
}

.stef-site-header__action a{
  background:#4A8C84!important;
  border-color:#4A8C84!important;
}

.stef-site-header__action a:hover,
.stef-site-header__action a:focus{
  background:#7A5230!important;
  border-color:#7A5230!important;
}

.stef-site-footer{
  background:#4A8C84!important;
  color:#F0EDE6!important;
}

.stef-site-brand--footer strong,
.stef-site-brand--footer span{
  color:#F0EDE6!important;
}

.stef-site-footer__cta h2{
  font-family:"Nunito",Arial,sans-serif!important;
  font-weight:800!important;
}

.stef-site-footer__label{
  color:#F0EDE6!important;
}

.stef-site-footer__cta>a{
  background:#F0EDE6!important;
  color:#7A5230!important;
  border-color:#F0EDE6!important;
}

.stef-site-footer__arc{
  margin-top:28px;
  width:96px;
  height:70px;
}

@media(max-width:699px){
  .stef-site-brand strong{
    font-size:17px!important;
  }
  .stef-site-brand span{
    display:none;
  }
}


/* v0.64.1 — refinamento do cabeçalho e rodapé */
.stef-site-header.is-scrolled,
.stef-site-header.is-menu-open{
  background:rgba(240,237,230,.95)!important;
}

.stef-site-nav a{
  color:#2C2C2C!important;
}

.stef-site-nav a::after{
  background:#4A8C84!important;
}

.stef-site-footer__links a{
  color:rgba(240,237,230,.86)!important;
}

.stef-site-footer__bottom{
  border-color:rgba(240,237,230,.18)!important;
}

.stef-site-footer__bottom p{
  color:rgba(240,237,230,.62)!important;
}


/* v0.64.2 — escala tipográfica pública mais discreta */
.stef-site-footer__cta h2{
  max-width:340px!important;
  font-size:28px!important;
  line-height:1.04!important;
  letter-spacing:-.02em!important;
}


/* ==========================================================
   v0.65.1 — correção de contraste da marca no rodapé
   ========================================================== */

.stef-site-footer .stef-site-brand--footer{
  color:#F0EDE6!important;
}

.stef-site-footer .stef-site-brand--footer strong{
  color:#F0EDE6!important;
  opacity:1!important;
  text-shadow:0 1px 0 rgba(44,44,44,.08);
}

.stef-site-footer .stef-site-brand--footer span{
  color:#F0EDE6!important;
  opacity:.88!important;
}

.stef-site-footer__brand>p{
  color:rgba(240,237,230,.84)!important;
}

.stef-site-footer__arc{
  opacity:1!important;
  filter:none!important;
}

/* mantém o restante do rodapé intacto */


/* ==========================================================
   v0.74.0 — navegação editorial completa
   ========================================================== */
.stef-site-header__inner{
  max-width:1380px!important;
}
.stef-site-nav--v074{
  gap:clamp(10px,1.35vw,21px)!important;
}
.stef-site-nav--v074>a{
  font-size:clamp(9px,.72vw,11px)!important;
  white-space:nowrap;
}
.stef-site-header__action--v074{
  display:flex!important;
  align-items:center;
  gap:8px;
}
.stef-site-header__action--v074>a{
  white-space:nowrap;
}
.stef-site-header__action--v074 .stef-site-patient-access{
  padding:8px 4px!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font-size:9px!important;
  opacity:.78;
}
.stef-site-header__action--v074 .stef-site-booking-cta{
  padding:10px 13px!important;
}
.stef-site-mobile-menu .stef-site-mobile-patient{
  margin-top:8px;
  border-top:1px solid rgba(122,82,48,.12);
}
.stef-site-mobile-menu .stef-site-mobile-booking{
  color:#4A8C84!important;
  font-weight:700!important;
}
@media(max-width:1180px) and (min-width:701px){
  .stef-site-header__action--v074 .stef-site-patient-access{display:none}
  .stef-site-nav--v074{gap:9px!important}
  .stef-site-nav--v074>a{font-size:9px!important}
}


/* v0.78.0 — refinamento final de navegação pública */
.stef-site-nav--v074 a.is-current{
  color:#4A8C84!important;
}
.stef-site-header.is-home-transparent:not(.is-scrolled) .stef-site-nav--v074 a.is-current{
  color:inherit!important;
}
.stef-site-footer__links a{
  line-height:1.35;
}


/* v0.78.1 — cabeçalho focado em conversão */
.stef-site-header__action--v0781{
  display:flex!important;
  align-items:center;
}
.stef-site-header__action--v0781 .stef-site-booking-cta{
  padding:10px 14px!important;
  border:1px solid #4A8C84!important;
  border-radius:10px!important;
  background:#4A8C84!important;
  color:#F0EDE6!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap;
}
.stef-site-header.is-home-transparent:not(.is-scrolled) .stef-site-header__action--v0781 .stef-site-booking-cta{
  border-color:#F0EDE6!important;
  background:#F0EDE6!important;
  color:#4A8C84!important;
}


/* v0.78.2 — Cabeçalho/rodapé: legibilidade e toque */
.stef-site-brand span{font-size:11px!important}
.stef-site-nav a{font-size:12px!important}
.stef-site-header__action a{font-size:12px!important;min-height:44px!important}
.stef-site-footer__label{font-size:11px!important}
.stef-site-footer__links a,
.stef-site-footer__brand>p{font-size:13px!important}
.stef-site-footer__bottom p{font-size:11px!important}
@media(max-width:700px){
  .stef-site-header__inner{min-height:68px!important;padding:0 18px!important}
  .stef-site-brand strong{font-size:26px!important}
  .stef-site-brand span{font-size:9px!important;line-height:1.3!important}
  .stef-site-menu-toggle{width:44px!important;height:44px!important}
  .stef-site-mobile-menu nav a{min-height:48px!important;font-size:14px!important}
  .stef-site-footer{padding-top:56px!important}
  .stef-site-footer__grid{grid-template-columns:1fr!important;gap:34px!important}
  .stef-site-footer__links a{font-size:14px!important;min-height:32px!important;display:flex!important;align-items:center!important}
  .stef-site-footer__brand>p{font-size:14px!important}
}


/* ==========================================================
   v0.78.3 — Ajustes de marca no cabeçalho e rodapé
   ========================================================== */
.stef-site-brand{
  flex-wrap:nowrap!important;
}
.stef-site-brand strong,
.stef-site-brand span,
.stef-site-brand--footer strong,
.stef-site-brand--footer span{
  white-space:nowrap!important;
}
.stef-site-brand span,
.stef-site-brand--footer span{
  flex:0 0 auto!important;
  max-width:none!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
}
.stef-site-brand strong,
.stef-site-brand--footer strong{
  line-height:.98!important;
}
@media(max-width:1100px){
  .stef-site-brand strong{font-size:30px!important}
  .stef-site-brand span{font-size:8px!important;letter-spacing:.1em!important}
}
@media(max-width:700px){
  .stef-site-brand{gap:7px!important}
  .stef-site-brand strong{font-size:24px!important}
  .stef-site-brand span{font-size:7px!important;letter-spacing:.08em!important}
}

/* v0.79.1 — Menu mobile centralizado; logo compacta sem quebrar slogan */
@media(max-width:700px){
  .stef-site-mobile-menu nav a{
    justify-content:center!important;
    text-align:center!important;
  }
  .stef-site-brand{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:2px!important;
  }
  .stef-site-brand strong{
    font-size:22px!important;
  }
  .stef-site-brand span{
    white-space:nowrap!important;
    font-size:6.5px!important;
    letter-spacing:.07em!important;
  }
}


/* ==========================================================
   v0.79.2 — cabeçalho e rodapé mobile reconstruídos
   ========================================================== */
@media(max-width:699px){
  /* Header compacto: logo reduzida + hamburger sempre visível. */
  .stef-site-header{
    min-height:64px!important;
    z-index:9999!important;
  }
  .stef-site-header__inner{
    min-height:64px!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
  }
  .stef-site-brand{
    width:auto!important;
    max-width:calc(100% - 62px)!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:0!important;
    overflow:hidden!important;
  }
  .stef-site-brand strong{
    display:block!important;
    max-width:100%!important;
    font-size:18px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  /* No header mobile, o slogan sai para preservar espaço e leitura. */
  .stef-site-header .stef-site-brand>span{
    display:none!important;
  }

  .stef-site-nav,
  .stef-site-header__action{display:none!important}

  .stef-site-menu-toggle{
    position:relative!important;
    z-index:10002!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    border:1px solid rgba(74,140,132,.18)!important;
    border-radius:11px!important;
    background:rgba(240,237,230,.92)!important;
    color:#4A8C84!important;
    box-shadow:none!important;
  }
  .stef-site-menu-toggle span{
    display:block!important;
    width:20px!important;
    height:2px!important;
    border-radius:99px!important;
    background:#4A8C84!important;
  }

  /* Drawer editorial: itens à esquerda, um por linha. */
  .stef-site-mobile-menu{
    top:100%!important;
    left:0!important;
    right:0!important;
    padding:10px 18px 22px!important;
    background:#F0EDE6!important;
    border-bottom:1px solid rgba(74,140,132,.12)!important;
    box-shadow:0 18px 34px rgba(44,44,44,.08)!important;
    text-align:left!important;
  }
  .stef-site-mobile-menu nav{
    width:100%!important;
    padding-top:4px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    border-top:0!important;
    text-align:left!important;
  }
  .stef-site-mobile-menu nav a,
  .stef-site-mobile-menu nav a.stef-site-mobile-link{
    width:100%!important;
    min-height:50px!important;
    padding:0 2px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border:0!important;
    border-bottom:1px solid rgba(74,140,132,.10)!important;
    color:#2C2C2C!important;
    background:transparent!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:700!important;
    text-align:left!important;
  }
  .stef-site-mobile-menu nav .stef-site-mobile-booking{
    width:100%!important;
    min-height:50px!important;
    margin-top:16px!important;
    padding:0 16px!important;
    justify-content:center!important;
    gap:10px!important;
    border:1px solid #4A8C84!important;
    border-radius:11px!important;
    background:#4A8C84!important;
    color:#F0EDE6!important;
    text-align:center!important;
  }

  /* Rodapé inteiro centralizado no celular. */
  .stef-site-footer,
  .stef-site-footer__inner,
  .stef-site-footer__grid,
  .stef-site-footer__grid>section,
  .stef-site-footer__brand,
  .stef-site-footer__cta,
  .stef-site-footer__bottom{
    text-align:center!important;
  }
  .stef-site-footer__grid{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-items:center!important;
    gap:34px!important;
  }
  .stef-site-footer__grid>section{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  .stef-site-footer .stef-site-brand--footer{
    max-width:100%!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    overflow:visible!important;
  }
  .stef-site-footer .stef-site-brand--footer strong{
    font-size:22px!important;
    text-align:center!important;
  }
  .stef-site-footer .stef-site-brand--footer span{
    display:block!important;
    max-width:100%!important;
    font-size:8px!important;
    line-height:1.35!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .stef-site-footer__brand>p,
  .stef-site-footer__cta h2,
  .stef-site-footer__bottom p{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .stef-site-footer__links{
    width:100%!important;
    align-items:center!important;
  }
  .stef-site-footer__links a{
    justify-content:center!important;
    text-align:center!important;
  }
  .stef-site-footer__cta>a{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .stef-site-footer__bottom{
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
  }
}


/* ==========================================================
   v0.79.3 — Correção estrutural de largura no site público
   Impede arraste horizontal e neutraliza wrappers do tema/Elementor.
   ========================================================== */
html,
body.stef-site-shell-active{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overscroll-behavior-x:none;
}
body.stef-site-shell-active{
  margin-left:0!important;
  margin-right:0!important;
}
body.stef-site-shell-active #page,
body.stef-site-shell-active #content,
body.stef-site-shell-active #primary,
body.stef-site-shell-active .site,
body.stef-site-shell-active .site-content,
body.stef-site-shell-active .site-main,
body.stef-site-shell-active main.site-main,
body.stef-site-shell-active .page-content,
body.stef-site-shell-active .entry-content,
body.stef-site-shell-active .elementor,
body.stef-site-shell-active .elementor-section,
body.stef-site-shell-active .elementor-container,
body.stef-site-shell-active .elementor-widget-wrap,
body.stef-site-shell-active .elementor-widget,
body.stef-site-shell-active .elementor-widget-container{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body.stef-site-shell-active .stef-home-v604,
body.stef-site-shell-active .stef-booking{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
  overflow-x:hidden!important;
}
body.stef-site-shell-active img,
body.stef-site-shell-active svg,
body.stef-site-shell-active video,
body.stef-site-shell-active canvas{
  max-width:100%;
}
@media(max-width:700px){
  body.stef-site-shell-active,
  body.stef-site-shell-active #page,
  body.stef-site-shell-active #content,
  body.stef-site-shell-active #primary,
  body.stef-site-shell-active main,
  body.stef-site-shell-active .site-main,
  body.stef-site-shell-active .entry-content,
  body.stef-site-shell-active .page-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
}
