/* Rodapé Morada FM 4.0.0 — arquitetura oficial reconstruída */
.elementor-widget-lch_footer,
.elementor-widget-lch_footer > .elementor-widget-container {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
.elementor-widget-lch_footer { align-self:stretch !important; }

.lch-morada-footer,
.lch-morada-footer * { box-sizing:border-box; }

.lch-morada-footer {
  position:relative;
  display:block !important;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background-color:var(--lch-footer-bg-color,#07347C);
  background-image:var(--lch-footer-bg-image,none);
  background-position:var(--lch-footer-bg-position,center center);
  background-repeat:var(--lch-footer-bg-repeat,no-repeat);
  background-size:var(--lch-footer-bg-size,cover);
  color:var(--lch-footer-text,#fff);
  font-family:var(--lch-footer-font,Roboto,Arial,sans-serif);
  font-size:var(--lch-footer-base,15px);
  line-height:1.5;
  isolation:isolate;
}
.lch-morada-footer:before{content:"";position:absolute;inset:0;background:var(--lch-footer-overlay,#000);opacity:var(--lch-footer-overlay-opacity,0);pointer-events:none;z-index:0}.lch-morada-footer__inner{position:relative;z-index:1}

.lch-morada-footer--full-bleed {
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

.lch-morada-footer a { color:inherit; text-decoration:none; }
.lch-morada-footer h2,
.lch-morada-footer p,
.lch-morada-footer ul { margin:0; padding:0; }
.lch-morada-footer img { max-width:100%; height:auto; }

.lch-morada-footer__inner {
  width:min(calc(100% - (var(--lch-footer-pad-inline,24px) * 2)),var(--lch-footer-max,1120px));
  max-width:var(--lch-footer-max,1120px);
  margin-inline:auto;
  padding-top:var(--lch-footer-pad-top,35px);
  padding-bottom:var(--lch-footer-pad-bottom,24px);
}

.lch-morada-footer__grid {
  display:grid !important;
  grid-template-columns:minmax(190px,1.05fr) minmax(180px,.90fr) minmax(220px,1.05fr) minmax(250px,1.20fr) !important;
  width:100% !important;
  max-width:none !important;
  align-items:stretch;
  min-height:265px;
}

.lch-morada-footer__grid > * {
  min-width:0 !important;
  width:auto !important;
  max-width:none;
}

.lch-morada-footer__section {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:14px clamp(22px,2.6vw,34px);
}

.lch-morada-footer__section + .lch-morada-footer__section {
  border-left:1px solid var(--lch-footer-divider,rgba(255,255,255,.65));
}
.lch-morada-footer--no-dividers .lch-morada-footer__section + .lch-morada-footer__section { border-left:0; }

.lch-morada-footer__brand {
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-left:8px;
}
.lch-morada-footer__logo-link { display:inline-flex; align-items:center; justify-content:center; }
.lch-morada-footer__logo {
  display:block;
  width:min(var(--lch-footer-logo,145px),80%);
  max-width:80%;
  max-height:180px;
  height:auto;
  object-fit:contain;
}

.lch-morada-footer__menu { align-items:flex-start; }
.lch-morada-footer__menu-list {
  width:100%;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.lch-morada-footer__menu-list li { list-style:none; min-width:0; margin:0; padding:0; }
.lch-morada-footer__menu-list a {
  display:inline-flex;
  align-items:center;
  min-height:31px;
  color:var(--lch-footer-text,#fff);
  font-size:var(--lch-footer-menu,15px);
  font-weight:400;
  line-height:1.45;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  transition:color .2s ease,transform .2s ease;
}
.lch-morada-footer__menu-list a:hover,
.lch-morada-footer__menu-list a:focus-visible { color:var(--lch-footer-accent,#F7B500); transform:translateX(2px); }

.lch-morada-footer__connect,
.lch-morada-footer__commercial { align-items:flex-start; }

.lch-morada-footer__title {
  color:var(--lch-footer-title,#fff);
  font-size:clamp(24px,2vw,var(--lch-footer-title-size,29px));
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.02em;
}
@media (min-width:1025px) {
  .lch-morada-footer__title,
  .lch-morada-footer__apps-title { white-space:nowrap; }
}

.lch-morada-footer__socials {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.lch-morada-footer__socials a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  color:#fff;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.lch-morada-footer__socials a:hover,
.lch-morada-footer__socials a:focus-visible { background:#fff; color:#07347C; transform:translateY(-1px); }
.lch-morada-footer__socials span { display:inline-flex; width:var(--lch-footer-icon,19px); height:var(--lch-footer-icon,19px); }
.lch-morada-footer__socials svg { display:block; width:100%; height:100%; }

.lch-morada-footer__apps-title { margin-top:27px !important; font-size:clamp(21px,1.7vw,24px); }
.lch-morada-footer__apps { display:flex; flex-direction:row; flex-wrap:wrap; gap:8px; margin-top:12px; }
.lch-morada-footer__app {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:max-content;
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  background:var(--lch-footer-accent,#F7B500);
  color:#fff !important;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  transition:filter .2s ease,transform .2s ease;
}
.lch-morada-footer__app:hover,
.lch-morada-footer__app:focus-visible { filter:brightness(1.06); transform:translateY(-1px); }

.lch-morada-footer__commercial { padding-right:8px; }
.lch-morada-footer__commercial-text {
  width:100%;
  max-width:230px;
  margin-top:15px !important;
  color:var(--lch-footer-text,#fff);
  font-size:var(--lch-footer-base,15px);
  line-height:1.7;
  word-break:normal;
  overflow-wrap:normal;
}
.lch-morada-footer__cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:max-content;
  min-height:52px;
  margin-top:14px;
  padding:0 20px;
  border:2px solid #111;
  border-radius:999px;
  background:#fff;
  color:var(--lch-footer-button-text,#111) !important;
  font-size:15px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.lch-morada-footer__cta:hover,
.lch-morada-footer__cta:focus-visible { background:var(--lch-footer-accent,#F7B500); border-color:var(--lch-footer-accent,#F7B500); transform:translateY(-1px); }
.lch-morada-footer__cta--disabled { opacity:.7; cursor:default; }

.lch-morada-footer__bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:100%;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--lch-footer-bottom-divider,rgba(0,0,0,.45));
  color:#fff;
  font-size:var(--lch-footer-legal,12px);
  line-height:1.35;
}
.lch-morada-footer__bottom-links { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.lch-morada-footer__developer a,
.lch-morada-footer__bottom-links a { transition:color .2s ease; }
.lch-morada-footer__developer a:hover,
.lch-morada-footer__bottom-links a:hover { color:var(--lch-footer-accent,#F7B500); }
.lch-morada-footer a:focus-visible { outline:2px solid var(--lch-footer-accent,#F7B500); outline-offset:3px; }

@media (max-width:1024px) {
  .lch-morada-footer__inner { width:min(calc(100% - 40px),var(--lch-footer-max,1120px)); }
  .lch-morada-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; min-height:0; }
  .lch-morada-footer__section { min-height:205px; padding:26px 30px; }
  .lch-morada-footer__section + .lch-morada-footer__section { border-left:0; }
  .lch-morada-footer__section:nth-child(even) { border-left:1px solid var(--lch-footer-divider,rgba(255,255,255,.65)); }
  .lch-morada-footer__section:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.24); }
  .lch-morada-footer--no-dividers .lch-morada-footer__section:nth-child(even) { border-left:0; }
  .lch-morada-footer--no-dividers .lch-morada-footer__section:nth-child(-n+2) { border-bottom:0; }
  .lch-morada-footer__logo { width:min(var(--lch-footer-logo-tablet,135px),75%); }
}

/* 4.3.0 — mobile UX dedicado: compacto, sem empilhar o desktop */
.lch-footer-mobile-fallback-shell { display:none; }

@media (max-width:767px) {
  .lch-morada-footer { overflow:hidden; }
  .lch-morada-footer__inner {
    width:min(calc(100% - 28px), 560px);
    padding-top:var(--lch-footer-mobile-pad-top,20px);
    padding-bottom:calc(var(--lch-footer-mobile-pad-bottom,14px) + env(safe-area-inset-bottom,0px));
  }
  .lch-morada-footer__grid {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:var(--lch-footer-mobile-gap,10px);
    min-height:0!important;
  }
  .lch-morada-footer__section,
  .lch-morada-footer__section:nth-child(even) {
    min-height:0!important;
    padding:0!important;
    border:0!important;
  }
  .lch-morada-footer__brand { order:1; text-align:center; align-items:center; padding-bottom:2px!important; }
  .lch-morada-footer__logo { width:min(var(--lch-footer-mobile-logo,120px),42vw); max-height:82px; margin:auto; }
  .lch-morada-footer--mobile-hide-logo .lch-morada-footer__brand { display:none!important; }

  .lch-morada-footer__menu { order:2; align-items:stretch; padding:4px 0 10px!important; border-bottom:1px solid color-mix(in srgb,var(--lch-footer-divider,#fff) 36%,transparent)!important; }
  .lch-morada-footer__menu-list { display:grid!important; width:100%; grid-template-columns:repeat(var(--lch-footer-mobile-menu-columns,2),minmax(0,1fr))!important; column-gap:clamp(14px,6vw,28px); row-gap:0; }
  .lch-morada-footer__menu-list a { width:100%; min-height:38px; font-size:clamp(13px,3.7vw,15px); line-height:1.2; justify-content:flex-start; }

  .lch-morada-footer__connect { order:3; display:grid; grid-template-columns:1fr; align-items:center; text-align:center; gap:8px; padding:6px 0 10px!important; border-bottom:1px solid color-mix(in srgb,var(--lch-footer-divider,#fff) 30%,transparent)!important; }
  .lch-morada-footer__title { font-size:clamp(18px,5vw,21px); line-height:1.12; text-align:center; }
  .lch-morada-footer__socials { justify-content:center; flex-wrap:nowrap; gap:clamp(6px,2vw,9px); margin-top:7px; }
  .lch-morada-footer__socials a { width:40px; height:40px; flex:0 0 40px; }
  .lch-morada-footer__socials span { width:min(var(--lch-footer-icon,19px),19px); height:min(var(--lch-footer-icon,19px),19px); }
  .lch-morada-footer__apps-title { margin-top:6px!important; font-size:17px; }
  .lch-morada-footer__apps { justify-content:center; margin-top:4px; gap:7px; }
  .lch-morada-footer__app { min-height:40px; padding:0 14px; border-radius:11px; font-size:12px; }
  .lch-morada-footer--mobile-hide-social .lch-morada-footer__connect > .lch-morada-footer__title:first-child,
  .lch-morada-footer--mobile-hide-social .lch-morada-footer__socials { display:none!important; }
  .lch-morada-footer--mobile-hide-apps .lch-morada-footer__apps-title,
  .lch-morada-footer--mobile-hide-apps .lch-morada-footer__apps { display:none!important; }

  .lch-morada-footer__commercial { order:4; align-items:center; text-align:center; padding:6px 0 2px!important; }
  .lch-morada-footer__commercial .lch-morada-footer__title { font-size:clamp(18px,5vw,21px); }
  .lch-morada-footer__commercial-text { max-width:31ch; margin-top:6px!important; font-size:13.5px; line-height:1.42; }
  .lch-morada-footer__cta { width:auto; min-width:180px; max-width:min(300px,100%); min-height:46px; margin-top:9px; padding:0 20px; font-size:14px; }
  .lch-morada-footer--hide-ad-mobile .lch-morada-footer__commercial { display:none!important; }

  .lch-morada-footer__bottom { flex-direction:column; justify-content:center; text-align:center; gap:5px; margin-top:10px; padding-top:10px; padding-right:64px; padding-left:64px; border-top:1px solid color-mix(in srgb,var(--lch-footer-bottom-divider,#000) 42%,transparent); font-size:11px; line-height:1.35; }
  .lch-morada-footer__bottom-links { justify-content:center; flex-wrap:wrap; gap:6px; white-space:normal; }
  .lch-morada-footer--mobile-hide-bottom .lch-morada-footer__bottom { display:none!important; }

  .lch-morada-footer--mobile-comfortable .lch-morada-footer__inner { padding-top:26px; padding-bottom:calc(20px + env(safe-area-inset-bottom,0px)); }
  .lch-morada-footer--mobile-comfortable .lch-morada-footer__grid { gap:14px; }
  .lch-morada-footer--mobile-comfortable .lch-morada-footer__menu-list a { min-height:42px; }

  .lch-footer-mobile-fallback-shell { display:block!important; width:100%!important; margin:0!important; padding:0!important; visibility:visible!important; opacity:1!important; }
  .elementor-widget-lch_footer { display:none!important; }
  .lch-footer-mobile-fallback-shell .lch-morada-footer { display:block!important; width:100vw!important; max-width:100vw!important; margin-left:calc(50% - 50vw)!important; margin-right:calc(50% - 50vw)!important; }
}

@media (min-width:400px) and (max-width:767px) {
  .lch-morada-footer__connect { grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); grid-template-areas:"social appTitle" "socials apps"; column-gap:12px; }
  .lch-morada-footer__connect > .lch-morada-footer__title:first-child { grid-area:social; align-self:end; }
  .lch-morada-footer__socials { grid-area:socials; }
  .lch-morada-footer__apps-title { grid-area:appTitle; align-self:end; margin-top:0!important; }
  .lch-morada-footer__apps { grid-area:apps; }
}

@media (max-width:374px) {
  .lch-morada-footer__inner { width:calc(100% - 22px); }
  .lch-morada-footer__logo { width:min(var(--lch-footer-mobile-logo,112px),40vw); }
  .lch-morada-footer__menu-list { column-gap:12px; }
  .lch-morada-footer__menu-list a { min-height:36px; font-size:13px; }
  .lch-morada-footer__socials a { width:38px; height:38px; flex-basis:38px; }
  .lch-morada-footer__cta { min-width:170px; }
}

/* Preview administrativo: o modo mobile ativa os mesmos seletores do frontend dentro da caixa de 390px. */
.lchfa-previewframe.is-mobile .lch-morada-footer__inner{width:calc(100% - 28px);padding-top:20px;padding-bottom:14px}
.lchfa-previewframe.is-mobile .lch-morada-footer__grid{grid-template-columns:1fr!important;gap:10px;min-height:0!important}
.lchfa-previewframe.is-mobile .lch-morada-footer__section{min-height:0!important;padding:0!important;border:0!important}
.lchfa-previewframe.is-mobile .lch-morada-footer__brand{padding-bottom:2px!important}.lchfa-previewframe.is-mobile .lch-morada-footer__logo{width:min(var(--lch-footer-mobile-logo,120px),42vw);max-height:82px}
.lchfa-previewframe.is-mobile .lch-morada-footer__menu{padding:4px 0 10px!important}.lchfa-previewframe.is-mobile .lch-morada-footer__menu-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px;row-gap:0}.lchfa-previewframe.is-mobile .lch-morada-footer__menu-list a{min-height:38px;font-size:14px}
.lchfa-previewframe.is-mobile .lch-morada-footer__connect,.lchfa-previewframe.is-mobile .lch-morada-footer__commercial{align-items:center;text-align:center;padding:6px 0!important}.lchfa-previewframe.is-mobile .lch-morada-footer__title{font-size:20px}.lchfa-previewframe.is-mobile .lch-morada-footer__socials,.lchfa-previewframe.is-mobile .lch-morada-footer__apps{justify-content:center}.lchfa-previewframe.is-mobile .lch-morada-footer__socials a{width:40px;height:40px}.lchfa-previewframe.is-mobile .lch-morada-footer__apps-title{margin-top:6px!important;font-size:17px}.lchfa-previewframe.is-mobile .lch-morada-footer__commercial-text{margin-top:6px!important;font-size:13.5px;line-height:1.42}.lchfa-previewframe.is-mobile .lch-morada-footer__cta{width:auto;min-width:180px;max-width:300px;min-height:46px;margin-top:9px}.lchfa-previewframe.is-mobile .lch-morada-footer__bottom{flex-direction:column;justify-content:center;text-align:center;gap:5px;margin-top:10px;padding-top:10px;font-size:11px}

/* 4.2.1 — consistência de background desktop/mobile */
.lch-morada-footer{
  background-color:var(--lch-footer-bg-color,#07347C)!important;
  background-image:var(--lch-footer-bg-image,none)!important;
}
.lch-morada-footer--full-bleed{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* 4.3.1 — compactação mobile forte. Regras repetidas também são injetadas inline pelo PHP
   para vencer cache persistente do CSS do Elementor/servidor. */
@media (max-width:767px){
  .lch-morada-footer--mobile-v431 .lch-morada-footer__inner{width:min(calc(100% - 24px),520px)!important;padding-top:10px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__grid{grid-template-columns:1fr!important;gap:0!important;min-height:0!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__section{min-height:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__brand{padding:0 0 8px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__logo{width:min(var(--lch-footer-mobile-logo,96px),30vw)!important;max-width:104px!important;max-height:58px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__menu{padding:2px 0 7px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__menu-list a{min-height:31px!important;padding:2px 0!important;font-size:13px!important;line-height:1.15!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__connect{grid-template-columns:minmax(0,1.25fr) minmax(110px,.75fr)!important;grid-template-areas:"st at" "ss ap"!important;gap:3px 10px!important;padding:8px 0!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__connect>.lch-morada-footer__title:first-child{grid-area:st!important}.lch-morada-footer--mobile-v431 .lch-morada-footer__socials{grid-area:ss!important}.lch-morada-footer--mobile-v431 .lch-morada-footer__apps-title{grid-area:at!important}.lch-morada-footer--mobile-v431 .lch-morada-footer__apps{grid-area:ap!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__title{font-size:17px!important;line-height:1.08!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__socials{gap:5px!important;margin-top:2px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__socials a{width:34px!important;height:34px!important;min-width:34px!important;flex-basis:34px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__apps-title{margin:0!important;font-size:15px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__apps{gap:5px!important;margin-top:2px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__app{min-height:34px!important;height:34px!important;padding:0 10px!important;border-radius:9px!important;font-size:11px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__commercial{padding:8px 0 6px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__commercial-text{margin-top:4px!important;font-size:12px!important;line-height:1.3!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__cta{min-width:166px!important;max-width:240px!important;min-height:38px!important;height:38px!important;margin-top:7px!important;padding:0 16px!important;font-size:12px!important}
  .lch-morada-footer--mobile-v431 .lch-morada-footer__bottom{gap:2px!important;margin-top:4px!important;padding:7px 62px 2px!important;font-size:10px!important;line-height:1.25!important}
}

/* 4.3.2 — Mobile essencial: marca + navegação + créditos */
@media (max-width: 767px) {
  .lch-morada-footer--mobile-v432 .lch-morada-footer__connect,
  .lch-morada-footer--mobile-v432 .lch-morada-footer__commercial {
    display: none !important;
  }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 !important;
  }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__brand {
    padding: 12px 0 5px !important;
    min-height: 0 !important;
  }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__logo {
    width: min(var(--lch-footer-logo-mobile, 118px), 118px) !important;
    max-width: 34vw !important;
    height: auto !important;
  }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__menu {
    padding: 3px 8px 10px !important;
    border: 0 !important;
  }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__menu ul,
  .lch-morada-footer--mobile-v432 .lch-morada-footer__menu .menu {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    column-gap: 22px !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__menu li { margin:0 !important; padding:0 !important; }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__menu a {
    min-height: 34px !important;
    display:flex !important;
    align-items:center !important;
    padding: 4px 0 !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }
  .lch-morada-footer--mobile-v432 .lch-morada-footer__bottom {
    margin-top: 5px !important;
    padding: 10px 8px calc(12px + env(safe-area-inset-bottom)) !important;
    gap: 3px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    text-align:center !important;
  }
}
