/* === FOOTER FINAL OVERRIDE ===
   Goal: two clean desktop columns aligned with page columns, no duplicates.
   This file should load LAST.
*/
@media (min-width:1024px){
  /* Full-bleed band with fixed central columns */
  .mega-footer{
    display:grid !important;
    grid-template-columns: 1fr minmax(560px, 640px) minmax(320px, 420px) 1fr !important;
    gap: 28px !important;
    align-items:start !important;
    padding: 36px 20px !important;
  }

  /* Place containers into the two middle tracks */
  .mega-footer .container{ max-width:none !important; margin:0 !important; padding:0 !important; }
  .mega-footer .mf-top.container,
  .mega-footer .container:first-of-type{
    grid-column: 2 !important;
  }
  .mega-footer .mf-bottom.container,
  .mega-footer .container:nth-of-type(2){
    grid-column: 3 !important;
  }

  /* RESET all previous hacks that might add fake titles or hide text */
  .mega-footer .container > *{ position:static !important; }
  .mega-footer .container > *::before,
  .mega-footer .container > *::after{ content:none !important; }
  .mega-footer .container > *{ font-size: revert !important; line-height: normal !important; }

  /* Typography polish */
  .mega-footer .container:first-of-type > :first-child{
    font-weight:800 !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    line-height:1.15 !important;
    color:#fff !important;
    margin:0 0 12px 0 !important;
  }
  .mega-footer .container:first-of-type > :nth-child(2){
    max-width: 100% !important;
    color: rgba(255,255,255,.92) !important;
    font-size: clamp(16px, 1.5vw, 20px) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
  }

  /* Contact column */
  .mega-footer .container:nth-of-type(2) h3{
    font-size: 24px !important;
    font-weight: 800 !important;
    color:#fff !important;
    margin: 0 0 12px 0 !important;
  }
  .mega-footer .mf-list{ list-style:none !important; padding:0 !important; margin:0 !important; }
  .mega-footer .mf-list li{ display:flex !important; gap:12px !important; align-items:flex-start !important; margin:12px 0 !important; }
}

/* Links readable on dark */
.mega-footer a{ color:#a3d0ff !important; }
/* === END FOOTER FINAL OVERRIDE === */


/* === Footer: center the copyright on its own bottom row === */
@media (min-width:1024px){
  .mega-footer{
    grid-template-rows: auto auto !important; /* content row + copyright row */
  }
  /* Ensure left and right columns stay in the middle tracks */
  .mega-footer .mf-top.container,
  .mega-footer .container:first-of-type{ grid-column: 2 !important; grid-row: 1 !important; }
  .mega-footer .mf-bottom.container,
  .mega-footer .container:nth-of-type(2){ grid-column: 3 !important; grid-row: 1 !important; }

  /* Copyright element: try several common selectors, fallback to :last-child */
  .mega-footer > .copyright,
  .mega-footer > .mf-copy,
  .mega-footer > .copy,
  .mega-footer > small,
  .mega-footer > p.copyright,
  .mega-footer > p:last-child{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    text-align: center !important;
    margin-top: 20px !important;
    opacity: .9 !important;
    font-size: 14px !important;
  }
}
/* Mobile/tablet: center copyright as well */
.mega-footer > .copyright,
.mega-footer > .mf-copy,
.mega-footer > .copy,
.mega-footer > small,
.mega-footer > p.copyright,
.mega-footer > p:last-child{
  text-align: center !important;
  margin-top: 16px !important;
  opacity: .9 !important;
  font-size: 14px !important;
}
/* === End copyright centering === */


/* === Footer: explicit 2-cols (left brand+text | right contact) + centered copyright === */
@media (min-width:1024px){
  .mega-footer{
    display: grid !important;
    grid-template-columns: 1fr minmax(560px,640px) minmax(320px,420px) 1fr !important;
    grid-template-rows: auto auto !important; /* content + copyright */
    gap: 28px !important;
    align-items: start !important;
    padding: 36px 20px !important;
  }

  /* LEFT (brand + text) = first container */
  .mega-footer .container:first-of-type{
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* RIGHT (contact) = second container */
  .mega-footer .container:nth-of-type(2){
    grid-column: 3 !important;
    grid-row: 1 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Copyright centered on the second row across the band */
  .mega-footer > .copyright,
  .mega-footer > .mf-copy,
  .mega-footer > .copy,
  .mega-footer > small,
  .mega-footer > p.copyright,
  .mega-footer > p:last-child{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    text-align: center !important;
    margin-top: 20px !important;
    font-size: 14px !important;
    opacity: .9 !important;
  }
}
/* Mobile: center copyright as well */
.mega-footer > .copyright,
.mega-footer > .mf-copy,
.mega-footer > .copy,
.mega-footer > small,
.mega-footer > p.copyright,
.mega-footer > p:last-child{
  text-align: center !important;
  margin-top: 16px !important;
  font-size: 14px !important;
  opacity: .9 !important;
}
/* === End explicit footer placement === */


/* === Footer: 3 columns on desktop (brand | contact | extra) === */
@media (min-width:1024px){
  .mega-footer{
    display: grid !important;
    grid-template-columns: 1fr
                           minmax(480px, 560px)  /* left: brand + text */
                           minmax(320px, 380px)  /* middle: contact */
                           minmax(220px, 300px)  /* right: extra (optional) */
                           1fr !important;
    grid-template-rows: auto auto !important; /* content + copyright */
    gap: 28px !important;
    align-items: start !important;
    padding: 36px 20px !important;
  }

  /* Left column = first container */
  .mega-footer .container:first-of-type{
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  /* Middle column = second container (Contact) */
  .mega-footer .container:nth-of-type(2){
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  /* Right column (optional): any third container if present */
  .mega-footer .container:nth-of-type(3),
  .mega-footer .footer-extra,
  .mega-footer .mf-third{
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  /* Copyright centered on its own row */
  .mega-footer > .copyright,
  .mega-footer > .mf-copy,
  .mega-footer > .copy,
  .mega-footer > small,
  .mega-footer > p.copyright,
  .mega-footer > p:last-child{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    text-align: center !important;
    margin-top: 20px !important;
    font-size: 14px !important;
    opacity: .9 !important;
  }
}
/* === End footer 3 columns === */


/* === COHERENT FOOTER (desktop) — brand left, contact right, copyright bottom centered === */
@media (min-width:1024px){
  .mega-footer{
    /* full-bleed band with centered content columns */
    display:grid !important;
    grid-template-columns: 1fr minmax(560px, 640px) minmax(380px, 460px) 1fr !important; /* gutters + 2 cols */
    grid-template-rows: auto auto !important; /* content + copyright */
    gap: 32px !important;
    align-items:start !important;
    padding: 40px 24px !important;
    box-shadow: 0 -20px 60px rgba(0,0,0,.25) inset !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
  }
  /* Left block (brand + tagline) */
  .mega-footer .container:first-of-type{
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: none !important;
    margin: 0 !important; padding: 0 !important;
  }
  .mega-footer .container:first-of-type > :first-child{
    margin: 0 0 14px 0 !important;
    font-weight: 800 !important;
    font-size: clamp(28px, 3.2vw, 44px) !important;
    line-height: 1.1 !important;
    color: #fff !important;
  }
  .mega-footer .container:first-of-type > :nth-child(2){
    margin: 0 !important;
    max-width: 640px !important;
    font-size: clamp(16px, 1.6vw, 20px) !important;
    line-height: 1.6 !important;
    color: rgba(255,255,255,.92) !important;
  }

  /* Right block (Contact) */
  .mega-footer .container:nth-of-type(2){
    grid-column: 3 !important;
    grid-row: 1 !important;
    max-width: none !important;
    margin: 0 !important; padding: 0 !important;
  }
  .mega-footer .container:nth-of-type(2) h3{
    margin: 4px 0 16px 0 !important;
    font-weight: 800 !important;
    font-size: clamp(18px, 1.8vw, 24px) !important;
    color: #fff !important;
  }
  .mega-footer .mf-list{ list-style: none !important; padding: 0 !important; margin: 0 !important; }
  .mega-footer .mf-list li{ display:flex !important; gap: 12px !important; align-items:flex-start !important; margin: 12px 0 !important; }
  .mega-footer .mf-ico{ margin-top: 3px !important; }
  .mega-footer a{ color:#a3d0ff !important; }

  /* Copyright centered on its own row */
  .mega-footer > .copyright,
  .mega-footer > .mf-copy,
  .mega-footer > .copy,
  .mega-footer > small,
  .mega-footer > p.copyright,
  .mega-footer > p:last-child{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    text-align: center !important;
    margin-top: 8px !important;
    font-size: 14px !important;
    opacity: .9 !important;
  }
}
/* mobile: ensure nice spacing */
@media (max-width:1023.98px){
  .mega-footer{ padding: 28px 16px !important; }
  .mega-footer > .copyright,
  .mega-footer > small,
  .mega-footer > p.copyright{ text-align:center !important; margin-top: 16px !important; font-size: 14px !important; opacity: .9 !important; }
}
/* === END COHERENT FOOTER === */


/* === FOOTER TWEAKS (request: 4-line tagline + shift contacts right) === */
@media (min-width:1024px){
  /* Reduce readable width of the tagline to force ~4 lines */
  .mega-footer .mf-col.brand .mf-tagline{
    max-width: 46ch !important; /* target ~4 lines */
  }

  /* Push the contact column towards the right edge of its grid track */
  .mega-footer .mf-bottom.container,
  .mega-footer .container:nth-of-type(2){
    justify-self: end !important;
    padding-right: 8px !important;
  }
}
/* === END FOOTER TWEAKS === */
