/* Menu mobile próprio (sem Elementor). Substitui o cabeçalho mobile e o popup 4652 do Elementor.
   Visível só até 767px (mesmo ponto de quebra do layout); o cabeçalho do desktop/tablet não muda. */
.cdc-mh, .cdc-mh-spacer { display: none; }

/* Fica no fluxo abaixo da barra do topo; ao rolar, o cdc-menu.js põe .is-fixed (gruda no topo)
   e mostra o espaçador para a página não pular. */
@media (max-width: 767px) {
  .cdc-mh {
    display: flex; align-items: center; justify-content: space-between;
    position: relative; z-index: 9990;
    height: 72px; padding: 0 16px; box-sizing: border-box;
    background: #F4F2EF; box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
  }
  .cdc-mh.is-fixed { position: fixed; top: 0; left: 0; right: 0; }
  .cdc-mh.is-fixed + .cdc-mh-spacer { display: block; height: 72px; }
}

.cdc-mh__logo { display: block; line-height: 0; }
/* Logo no centro da barra; o botão do menu continua à direita */
.cdc-mh .cdc-mh__logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.cdc-mh .cdc-mh__btn { margin-left: auto; }
.cdc-mh__logo img { width: 150px; height: auto; }

.cdc-mh__btn {
  display: inline-flex; flex-direction: column; justify-content: center; gap: 6px;
  width: 44px; height: 44px; padding: 10px; margin: 0;
  background: transparent; border: 0; border-radius: 0; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.cdc-mh__btn span { display: block; height: 2px; width: 100%; background: #866D4B; }
.cdc-mh__btn:focus-visible, .cdc-menu__close:focus-visible { outline: 2px solid #397499; outline-offset: 2px; }

.cdc-menu {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; justify-content: flex-end;
  background: rgba(0, 0, 0, .35);
  opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility 0s linear .25s;
}
.cdc-menu.is-open { opacity: 1; visibility: visible; transition: opacity .25s ease; }

.cdc-menu__panel {
  position: relative; width: min(86vw, 380px); height: 100%; overflow-y: auto;
  padding: 72px 28px 32px; box-sizing: border-box;
  background: #F4F2EF; color: #4C494C;
  font-family: "Montserrat", Sans-serif; font-size: 14px; line-height: 1.5;
  transform: translateX(100%); transition: transform .3s ease;
}
.cdc-menu.is-open .cdc-menu__panel { transform: translateX(0); }

.cdc-menu__close {
  position: absolute; top: 14px; right: 14px; width: 44px; height: 44px;
  background: transparent; border: 0; cursor: pointer; color: #866D4B;
  font-size: 34px; line-height: 1; padding: 0;
}

.cdc-menu__nav ul { list-style: none; margin: 0 0 28px; padding: 0; }
/* Seletores com .cdc-menu na frente para ganhar das regras de link do tema */
.cdc-menu .cdc-menu__nav a {
  display: block; padding: 12px 0;
  font-family: "Cormorant Garamond", serif; font-size: 26px; line-height: 1.2;
  color: #866D4B; text-decoration: none; border-bottom: 1px solid #E7E1DA;
}
.cdc-menu .cdc-menu__nav a[aria-current="page"] { color: #2F4B3D; }

.cdc-menu a.cdc-menu__cta, .cdc-menu a.cdc-menu__cta:hover, .cdc-menu a.cdc-menu__cta:focus {
  display: inline-block; margin: 0 0 28px; padding: 12px 26px;
  background: #397499; color: #fff; text-decoration: none;
  font-weight: 600; letter-spacing: .08em; font-size: 13px;
}

.cdc-menu__info p { margin: 0 0 10px; }
.cdc-menu .cdc-menu__info a, .cdc-menu .cdc-menu__legal a { color: #4C494C; text-decoration: none; }
.cdc-menu__social { display: flex; gap: 18px; margin: 18px 0 24px; }
.cdc-menu .cdc-menu__social a { color: #866D4B; text-decoration: none; font-weight: 600; font-size: 13px; }
.cdc-menu__legal { list-style: none; margin: 0; padding: 0; font-size: 12px; }
.cdc-menu__legal li { margin: 0 0 6px; }

html.cdc-menu-open, html.cdc-menu-open body { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .cdc-menu, .cdc-menu__panel { transition: none; }
}
