/* =========================================================
   Minnesota Metal Exteriors — Site footer (Elementor Theme Builder)
   Scoped under .mme-footer. Brand tokens (--blue-900 etc.) are
   defined in mme-header.css, which loads first.
   ========================================================= */

/* Remove Elementor's default spacing around the HTML widget */
.elementor-location-footer .elementor-widget-html,
.elementor-location-footer .elementor-widget-html .elementor-widget-container{margin:0;padding:0}

/* Full-bleed even if the Elementor container is "Boxed" or padded */
.elementor-location-footer .e-con,
.elementor-location-footer .e-con > .e-con-inner,
.elementor-location-footer .elementor-section > .elementor-container{
  max-width:none !important;width:100%;
  padding:0 !important;margin:0 !important;gap:0 !important;
  --content-width:100%;--container-max-width:100%;
}
.elementor-location-footer .elementor-column > .elementor-widget-wrap{padding:0 !important}

.mme-footer{font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}
.mme-footer *,.mme-footer *::before,.mme-footer *::after{box-sizing:border-box}
.mme-footer img{max-width:100%;height:auto;display:block}
.mme-footer ul{margin:0;padding:0;list-style:none}
.mme-footer p{margin:0}
.mme-footer address{font-style:normal}
.mme-footer a{text-decoration:none}
.mme-footer :focus-visible{outline:3px solid #f3c9a8;outline-offset:3px;border-radius:4px}
.mme-footer .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* ---------- CTA strip ---------- */
.mme-footer .ft-cta{background:var(--copper-600);color:#fff}
.mme-footer .ft-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px}
.mme-footer .ft-cta__title{font-family:var(--font-display);font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;line-height:1.2;color:#fff}
.mme-footer .ft-cta__sub{margin-top:4px;font-size:.95rem;color:#fbe6d6}
.mme-footer .ft-cta__actions{display:flex;gap:12px;flex-wrap:wrap}
.mme-footer .ft-btn{
  display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;padding:.8em 1.35em;border-radius:999px;
  border:2px solid transparent;font:700 1rem/1.2 var(--font-body);transition:transform .15s, background-color .15s, color .15s
}
.mme-footer .ft-btn:hover{transform:translateY(-1px)}
.mme-footer .ft-btn svg{width:1.1em;height:1.1em}
.mme-footer .ft-btn--light{border-color:rgba(255,255,255,.8);color:#fff}
.mme-footer .ft-btn--light:hover{background:#fff;color:var(--copper-700)}
.mme-footer .ft-btn--primary{background:var(--blue-900);color:#fff}
.mme-footer .ft-btn--primary:hover{background:#fff;color:var(--blue-900)}

/* ---------- Main footer ---------- */
.mme-footer .ft-main{background:var(--blue-900);color:var(--on-dark-soft);font-size:.95rem;padding:64px 0 28px}
.mme-footer .ft-main a{color:#e8ecf8}
.mme-footer .ft-main a:hover{color:var(--copper-200)}
.mme-footer .ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr .9fr 1.25fr;gap:40px 32px}
.mme-footer .ft-heading{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:14px}
.mme-footer .ft-heading--spaced{margin-top:26px}
.mme-footer .ft-col li{margin:7px 0;line-height:1.35}
.mme-footer .ft-col li a:hover{text-decoration:underline;text-underline-offset:3px}

.mme-footer .ft-logo{display:inline-block;background:#fff;border-radius:12px;padding:10px 14px;margin-bottom:18px}
.mme-footer .ft-logo img{height:70px;width:auto}
.mme-footer .ft-about{max-width:34em;margin-bottom:18px}
.mme-footer .ft-emergency{
  display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;
  background:rgba(255,107,94,.12);border:1px solid rgba(255,107,94,.3);color:#fff;line-height:1.3
}
.mme-footer .ft-main .ft-emergency:hover{background:rgba(255,107,94,.2);color:#fff}
.mme-footer .ft-emergency strong{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#ffb3ab}
.mme-footer .ft-emergency span:last-child{font-weight:700;font-size:1.1rem}
.mme-footer .ft-pulse{position:relative;width:10px;height:10px;border-radius:50%;background:#ff6b5e;flex:none}
.mme-footer .ft-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:#ff6b5e;animation:mme-pulse 2s ease-out infinite}
@keyframes mme-pulse{from{transform:scale(1);opacity:.7}to{transform:scale(2.8);opacity:0}}

.mme-footer .ft-social{display:flex;gap:10px;margin-top:20px}
.mme-footer .ft-social a{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;transition:background-color .15s, transform .15s
}
.mme-footer .ft-main .ft-social a:hover{background:var(--blue-700);color:#fff;transform:translateY(-2px)}
.mme-footer .ft-social svg{width:19px;height:19px}

.mme-footer .ft-contact address{margin-bottom:14px;color:var(--on-dark-soft)}
.mme-footer .ft-contact address strong{display:block;color:#fff;margin-bottom:2px}
.mme-footer .ft-contact__list li{margin:0 0 12px;line-height:1.45}
.mme-footer .ft-label{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7f8bc0;font-weight:700;margin-bottom:2px}
.mme-footer .ft-contact__list a{overflow-wrap:anywhere}
.mme-footer .ft-badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.mme-footer .ft-badges img{height:52px;width:auto}
.mme-footer .ft-badges .ft-bbb{height:40px}

/* ---------- Service-area row ---------- */
.mme-footer .ft-areas{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem}
.mme-footer .ft-areas__label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;font-weight:700}
.mme-footer .ft-areas ul{display:flex;flex-wrap:wrap;gap:4px 0}
.mme-footer .ft-areas li:not(:last-child)::after{content:"\00b7";margin:0 10px;color:#56609a}
.mme-footer .ft-main .ft-areas__all{color:var(--copper-200);font-weight:700}

/* ---------- Bottom bar ---------- */
.mme-footer .ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem}
.mme-footer .ft-license{color:#fff;font-weight:600}
.mme-footer .ft-top{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.mme-footer .ft-top svg{width:16px;height:16px}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .mme-footer .ft-grid{grid-template-columns:repeat(4,1fr);gap:36px 24px}
  .mme-footer .ft-brand{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;gap:12px 32px;align-items:center}
  .mme-footer .ft-brand .ft-logo{margin:0}
  .mme-footer .ft-about{margin:0}
  .mme-footer .ft-brand .ft-social{grid-column:3;grid-row:1;margin:0}
  .mme-footer .ft-brand .ft-emergency{grid-column:2 / 4;justify-self:start}
}
@media (max-width:760px){
  .mme-footer .ft-cta .wrap{flex-direction:column;align-items:flex-start}
  .mme-footer .ft-grid{grid-template-columns:1fr 1fr}
  .mme-footer .ft-brand{display:block}
  .mme-footer .ft-contact{grid-column:1 / -1}
  .mme-footer .ft-main{padding-top:48px}
}
@media (max-width:460px){
  .mme-footer .ft-grid{grid-template-columns:1fr}
  .mme-footer .ft-cta__actions{width:100%}
  .mme-footer .ft-btn{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .mme-footer *,.mme-footer *::before,.mme-footer *::after{transition:none!important;animation:none!important}
}
