.elementor-65 .elementor-element.elementor-element-8b21e57{--display:flex;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-65 .elementor-element.elementor-element-9821a63{--display:flex;--position:fixed;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;--z-index:30;}body:not(.rtl) .elementor-65 .elementor-element.elementor-element-9821a63{left:0px;}body.rtl .elementor-65 .elementor-element.elementor-element-9821a63{right:0px;}.elementor-65 .elementor-element.elementor-element-331f349{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-331f349 *//* ===== HEADER (desktop + mobile) ===== */
.site-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background-color: white;
  border-bottom: 1px solid rgba(196,178,153,0.3);
  box-shadow: 0 2px 20px rgba(90,74,61,0.08);
  z-index: 1000;
  transition: all .3s ease;
}

.header-wrap {
  max-width: 1200px;        /* limite do conteúdo */
  margin: 0 auto;           /* centraliza horizontalmente */
  display: flex;
  align-items: center;
  justify-content: space-between; /* logo à esquerda / menu à direita */
  min-height: 80px;
  padding: 0 20px;          /* respiro nas laterais */
  box-sizing: border-box;
  width: 100%;
}


.brand {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: var(--coffee);
  font-weight: 700;
  transition: .3s;
  padding: 8px 12px;
  border-radius: 12px;
}
.brand:hover {
  background: rgba(212,184,134,0.08);
  transform: translateY(-1px);
}
.brand img {
  height: 48px;
  width: 48px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.1));
  transition: .3s;
}
.brand:hover img { transform: scale(1.05) }
.brand-text { display: flex; flex-direction: column; line-height: 1.2 }
.brand-name {
  font-size: 1.35rem;
  font-weight: 700;
  background: linear-gradient(135deg,var(--coffee) 0%,var(--accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.brand-tagline {
  font-size: .75rem;
  font-weight: 500;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-top: -2px;
}

.nav {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav a {
  text-decoration: none;
  color: var(--coffee);
  font-weight: 600;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: .95rem;
  transition: .3s;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg,var(--accent),#E8D0A7);
  transition: .3s;
  transform: translateX(-50%);
}
.nav a:hover {
  background: rgba(212,184,134,0.12);
  transform: translateY(-1px);
}
.nav a:hover::before { width: 80% }

.nav-cta {
  background: linear-gradient(135deg,var(--accent) 0%,#E3CAA1 100%);
  color: var(--coffee);
  margin-left: 12px;
  font-weight: 700;
  box-shadow: var(--shadow-md);
  border: 1px solid rgba(212,184,134,0.4);
}
.nav-cta:hover {
  background: linear-gradient(135deg,#C7A673 0%,var(--accent) 100%);
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.nav-cta::before { display: none }

.menu-toggle {
  display: none;
  background: rgba(212,184,134,0.1);
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  color: var(--coffee);
  padding: 12px;
  border-radius: 12px;
  transition: .3s;
  border: 1px solid rgba(212,184,134,0.3);
}
.menu-toggle:hover {
  background: rgba(212,184,134,0.2);
  transform: translateY(-1px);
}

/* ===== Drawer Mobile ===== */
.mobile-panel {
  display: none;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: auto;
  width: min(100vw, 380px);
  max-width: 100vw;
  height: 100dvh;
  background: linear-gradient(135deg,#fff 0%,var(--beige) 100%);
  box-shadow: var(--shadow-2xl);
  z-index: 1100;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  border-left: none;
  padding: 20px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.mobile-panel.open { transform: translateX(0) }

.mobile-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 24px;
}
.mobile-brand { display: flex; align-items: center; gap: 12px }
.mobile-brand img { height: 36px; width: 36px }
.mobile-brand-text { font-size: 1.1rem; font-weight: 700; color: var(--coffee) }
.mobile-panel .close {
  background: rgba(212,184,134,0.1);
  border: none;
  font-size: 1.3rem;
  color: var(--coffee);
  cursor: pointer;
  padding: 10px;
  border-radius: 10px;
  transition: .3s;
  border: 1px solid rgba(212,184,134,0.3);
}
.mobile-panel .close:hover { background: rgba(212,184,134,0.2) }

.mobile-links { display: flex; flex-direction: column; gap: 12px }
.mobile-links a {
  padding: 16px 20px;
  text-decoration: none;
  color: var(--coffee);
  font-weight: 600;
  border-radius: 12px;
  font-size: 1rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.7);
  transition: .3s;
  display: flex;
  align-items: center;
  gap: 12px;
}
.mobile-links a:hover {
  background: rgba(212,184,134,0.15);
  transform: translateX(4px);
}
.mobile-cta {
  background: linear-gradient(135deg,var(--accent) 0%,#E3CAA1 100%);
  border: 1px solid rgba(212,184,134,0.4);
  margin-top: 8px;
  font-weight: 700;
}
.mobile-cta:hover {
  background: linear-gradient(135deg,#C7A673 0%,var(--accent) 100%);
}

/* ===== Breakpoints ===== */
@media (max-width: 992px) {
  .nav { display: none }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center }
  .mo/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b21e57 *//* gc-menu.css */

/* Container utilitário (mantém compatibilidade com o layout) */
.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}

/* ===== HEADER (desktop + mobile) ===== */
.site-header{
  position: sticky; top: 0; left: 0; right: 0;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(15px);
  border-bottom: 1px solid rgba(196,178,153,0.3);
  box-shadow: 0 2px 20px rgba(90,74,61,0.08);
  z-index: 1000; transition: all .3s ease;
  /* segura bordas em aparelhos com notch */
  padding-right: max(0px, env(safe-area-inset-right));
  padding-left:  max(0px, env(safe-area-inset-left));
}
.header-wrap{display:flex;align-items:center;justify-content:space-between;min-height:80px;padding:0 20px}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--coffee);font-weight:700;transition:.3s;padding:8px 12px;border-radius:12px}
.brand:hover{background:rgba(212,184,134,0.08);transform:translateY(-1px)}
.brand img{height:48px;width:48px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:.3s}
.brand:hover img{transform:scale(1.05)}
.brand-text{display:flex;flex-direction:column;line-height:1.2}
.brand-name{font-size:1.35rem;font-weight:700;background:linear-gradient(135deg,var(--coffee) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.brand-tagline{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:-2px}

.nav{display:flex;align-items:center;gap:8px}
.nav a{
  text-decoration:none;color:var(--coffee);font-weight:600;
  padding:12px 16px;border-radius:10px;font-size:.95rem;transition:.3s;position:relative;display:flex;align-items:center;gap:8px
}
.nav a::before{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,var(--accent),#E8D0A7);transition:.3s;transform:translateX(-50%)}
.nav a:hover{background:rgba(212,184,134,0.12);transform:translateY(-1px)}
.nav a:hover::before{width:80%}
.nav-cta{
  background:linear-gradient(135deg,var(--accent) 0%,#E3CAA1 100%);
  color:var(--coffee);margin-left:12px;font-weight:700;box-shadow:var(--shadow-md);
  border:1px solid rgba(212,184,134,0.4)
}
.nav-cta:hover{background:linear-gradient(135deg,#C7A673 0%,var(--accent) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.nav-cta::before{display:none}

.menu-toggle{
  display:none;background:rgba(212,184,134,0.1);border:none;font-size:1.4rem;cursor:pointer;
  color:var(--coffee);padding:12px;border-radius:12px;transition:.3s;border:1px solid rgba(212,184,134,0.3)
}
.menu-toggle:hover{background:rgba(212,184,134,0.2);transform:translateY(-1px)}

/* ===== Drawer Mobile (preenche toda a tela, sem cortes laterais) ===== */
.mobile-panel{
  display:none;
  position: fixed;
  /* ocupa topo, direita e base; encosta na borda direita */
  top: 0; right: 0; bottom: 0; left: auto;
  /* largura responsiva: nunca ultrapassa a viewport */
  width: min(100vw, 380px);
  max-width: 100vw;
  /* altura confiável em iOS/Android */
  height: 100dvh;
  background: linear-gradient(135deg,#fff 0%,var(--beige) 100%);
  box-shadow: var(--shadow-2xl);
  z-index: 1100;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  /* sem “filete” visual que parece corte lateral */
  border-left: none;
  /* inclui áreas seguras (notch) + mantém respiro mínimo */
  padding-right: max(20px, env(safe-area-inset-right));
  padding-left:  max(20px, env(safe-area-inset-left));
  padding-top:   max(20px, env(safe-area-inset-top));
  padding-bottom:max(20px, env(safe-area-inset-bottom));
  /* scroll interno suave sem “bater na borda” */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.mobile-panel.open{transform:translateX(0)}

.mobile-header{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:24px
}
.mobile-brand{display:flex;align-items:center;gap:12px}
.mobile-brand img{height:36px;width:36px}
.mobile-brand-text{font-size:1.1rem;font-weight:700;color:var(--coffee)}
.mobile-panel .close{
  background:rgba(212,184,134,0.1);border:none;font-size:1.3rem;color:var(--coffee);cursor:pointer;
  padding:10px;border-radius:10px;transition:.3s;border:1px solid rgba(212,184,134,0.3)
}
.mobile-panel .close:hover{background:rgba(212,184,134,0.2)}
.mobile-links{display:flex;flex-direction:column;gap:12px}
.mobile-links a{
  padding:16px 20px;text-decoration:none;color:var(--coffee);font-weight:600;border-radius:12px;font-size:1rem;
  border:1px solid var(--border);background:rgba(255,255,255,0.7);transition:.3s;display:flex;align-items:center;gap:12px
}
.mobile-links a:hover{background:rgba(212,184,134,0.15);transform:translateX(4px)}
.mobile-cta{background:linear-gradient(135deg,var(--accent) 0%,#E3CAA1 100%);border:1px solid rgba(212,184,134,0.4);margin-top:8px;font-weight:700}
.mobile-cta:hover{background:linear-gradient(135deg,#C7A673 0%,var(--accent) 100%)}

/* Breakpoints */
@media (max-width: 992px){
  .nav{display:none}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .mobile-panel{display:block}
}/* End custom CSS */