/* ===============================
   Banico Law — Footer (2D/flat)
   Palette: #123458
   =============================== */

   :root{
    --primary: #123458;
    --footer-bg: #123458;         /* flat background */
    --text:    #E8EEF7;           /* soft off-white */
    --text2:   #C7D3E3;           /* muted */
    --white:   #ffffff;
  }
  
  /* ----- Base footer ----- */
  .bl-footer{
    background: var(--footer-bg);
    color: var(--text);
    width: 100%;
    margin: 0;                    /* no gaps */
  }
  
  .bl-footer__inner{
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 48px;
  }
  
  /* Columns */
  .bl-footer__col{ text-align: left; }
  
  .bl-footer__title{
    margin: 0 0 12px 0;
    color: var(--white);
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: .02em;
    text-transform: uppercase;
  }
  
  /* Links */
  .bl-footer__links{
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .bl-footer__links li + li{ margin-top: 8px; }
  
  .bl-footer a{
    color: var(--white);
    text-decoration: none;
    border-bottom: 1px solid transparent; /* flat / 2D hover */
  }
  .bl-footer a:hover{
    border-bottom-color: rgba(255,255,255,.6);
  }
  
  /* Text blocks */
  .bl-footer__address{ margin: 0 0 8px 0; line-height: 1.5; font-style: normal; }
  .bl-footer__contact{ margin: 0 0 8px 0; }
  .bl-muted{ opacity: .75; }
  
  /* Bottom bar (still flat) */
  .bl-footer__bottom{
    border-top: 1px solid rgba(255,255,255,.15);
    text-align: center;
    padding: 12px 20px;
    font-size: .92rem;
    color: var(--text);
  }
  .bl-footer__bottom .sep{ opacity: .55; margin: 0 .5rem; }
  
  /* Back to top */
  .bl-backtotop{
    position: fixed;
    right: 16px; bottom: 16px;
    width: 44px; height: 44px;
    border: none;
    border-radius: 10px;
    background: #0E2A4A;          /* deeper shade of primary */
    color: var(--white);
    font-size: 18px; font-weight: 700;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(0,0,0,.20);
    transition: opacity .2s ease, transform .15s ease;
    opacity: 0;                   /* shown via JS */
    pointer-events: none;
  }
  .bl-backtotop:hover{ transform: translateY(-2px); }
  
  /* Responsive */
  @media (max-width: 780px){
    .bl-footer__inner{
      grid-template-columns: 1fr;
      gap: 24px;
      padding: 24px 16px;
    }
    .bl-footer__col, .bl-footer__title{ text-align: center; }
  }
  