/* Footer Base */
:root {
	--footer-text-color: #ffffff;
	--footer-bg-color: #4a4a4a;
}

    .site-footer {
      background-color: var(--footer-bg-color); /* Dark gray background */
      color: var(--footer-text-color);            /* White text */
      padding: 60px 20px 30px 20px;
	  margin: 0;
    }

    /* Container layout using Flexbox */
    .footer-container {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      gap: 30px; /* Gap between columns */
    }

    /* Dynamic Column Sizing */
    .footer-column {
      flex: 1 1 0%;     
      min-width: 180px; /* Prevents columns from getting too narrow */
    }

    /* First Column Specific Styles (Logo & Address) */
    .footer-logo {
      margin-bottom: 25px;
      display: block;
    }

    .footer-column address {
      color: var(--footer-text-color);
      /*font-size: 0.95rem;*/
      line-height: 1.6;
      font-style: normal; /* Removes default italic styling of <address> */
    }

    /* Column Titles (Columns 2+) with White Underline */
    .footer-column h3 {
      color: #ffffff;
      font-size: 1.1em;
      margin-top: 0;
      margin-bottom: 20px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      position: relative;
      padding-bottom: 10px; /* Space between text and line */
	  border-bottom: 3px solid #fff;
    }

    /* Link Lists */
    .footer-column>ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-column>ul>li {
      margin-bottom: 6px;
	      text-transform: capitalize;
    }

    /* Link Typography & Interaction */
    .footer-column a {
      color: var(--footer-text-color); /* Muted white for clean hierarchy */
      text-decoration: none;
      transition: color 0.2s ease-in-out;
	  display: inline;
    }

    .footer-column a:hover {
      color: #ffffff; /* Turns pure white on hover */
    }

    /* ==========================================================================
       Bottom Bar Styles
       ========================================================================== */

    /* Thin Grey Line Divider */
    .footer-divider {
      max-width: 1200px;
      border: 0;
      border-top: 1px solid #838382; /* Soft thin grey line */
      margin: 40px auto 25px auto;
    }

    /* Split Bottom Bar Wrapper */
    .footer-bottom {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between; /* Pushes left text and right links apart */
      align-items: flex-start;        /* Aligns vertical centers if needed */
    }

    /* Left Side (Takes up 25% width) */
    .footer-bottom-left {
      flex: 0 0 25%;
      color: var(--footer-text-color);
      /*font-size: 0.85rem;*/
      margin-top: 5px; /* Slight alignment offset to match the right side */
    }
	
	.footer-bottom-left a {
		display: inline;
	}

    /* Right Side - Stacks two rows of links vertically */
    .footer-bottom-right {
      flex: 1;
      display: flex;
      flex-direction: column; /* Vertical stack */
      align-items: flex-end;  /* Aligns both rows to the right */
      gap: 12px;              /* Space between the service links row and social links row */
    }

    /* Base styles for lists in the bottom bar */
    .footer-bottom-right ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      gap: 20px; 
      flex-wrap: wrap;
    }

    /* Service Links (Row 1) */
    .footer-bottom-right ul a {
      color: var(--footer-text-color); 
      /*font-size: 0.85rem; */
      text-decoration: none;
      transition: color 0.2s ease-in-out;
	  display: inline;
    }

    .footer-bottom-right ul a a:hover {
      color: #ffffff;
    }

    /* Social Links (Row 2) */
    .footer-social-links a {
      color: var(--footer-text-color);    /* Slightly lighter for better visibility */
      /*font-size: 1rem;*/
      font-weight: 500;
      text-decoration: none;
      transition: color 0.2s ease-in-out;
    }

    .footer-social-links a:hover {
      color: #ffffff;
    }

    /* ==========================================================================
       Responsive adjustments
       ========================================================================== */
    @media (max-width: 768px) {
      .footer-column {
        flex: 1 1 40%; 
      }
      
      .footer-divider {
        margin: 30px auto 20px auto;
      }

      /* Stack the left text and right links vertically on small screens */
      .footer-bottom {
        flex-direction: column;
        gap: 20px;
        text-align: center;
      }

      .footer-bottom-left {
        flex: 1 1 auto;
        width: 100%;
      }

      .footer-bottom-right {
        align-items: center; /* Center alignment for stacked mobile rows */
        width: 100%;
      }

      .footer-sub-links,
      .footer-social-links {
        justify-content: center;
        gap: 15px;
      }
    }

    @media (max-width: 480px) {
      .footer-container {
        flex-direction: column; /* Fully stack on mobile */
        gap: 40px;
      }
      .footer-column {
        flex: 1 1 100%;
      }
    }