/* Footer */
.site-footer {
    padding-top: 0px;
    padding-bottom: 0px;
    background: #062435;
    height: 190px;
    display: flex;
    align-items: center;
}

.footer-grid {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 40px;
}

/* Col 1: Branding */
.footer-branding {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center logo and copyright */
    text-align: center;
    max-width: 250px;
}
.footer-logo img {
    height: 45px;
    width: auto;
    margin-bottom: 28px;
}
.footer-logo {
    display: flex;
}
.footer-copyright {
  color: #B3B3B3;
  font-family: Outfit;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}

/* Col 2, 3, 4: Navigation */
.footer-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.footer-nav li {

}
.footer-nav a {
  color: #FFF;
  font-family: Outfit;
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  text-decoration: none;
  transition: color 0.3s;
}
.footer-nav a:hover {
    color: #F69541;
}

/* Col 5: Contact */
.footer-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footer-phone {
  color: #FFF;
  font-family: Outfit;
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
  margin-bottom: 26px;
  white-space: nowrap;
}
.footer-socials {
    display: flex;
    gap: 20px;
}
/* .social-link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    text-decoration: none;
    transition: background 0.3s;
    font-size: 18px;
}
.social-link:hover {
    background: #F69541;
} */
.social-link img {
    width: 40px;
    height: 40px;
}

/* Responsive */
@media screen and (max-width: 1279px) {
   .site-footer {
       height: auto; /* Allow auto height for content */
       padding-top: 40px;
       padding-bottom: 20px;
   }
   
   .footer-grid {
       display: grid;
       /* grid-template-columns: 1fr 1fr 1fr 1fr; */
       /* grid-template-columns: 223px 160px 60px 60px; */
       padding-right: 30px;
       grid-template-rows: auto auto;
       column-gap: 30px;
       row-gap: 20px;
       position: relative;
       padding-bottom: 60px; /* Space for copyright */
       justify-content: space-between;
       align-items: start;
   }

   /* Left Column Top: Logo */
   .footer-branding {
       grid-column: 1;
       grid-row: 1;
       align-items: flex-start;
       text-align: left;
       margin-top: 0;
       width: 223px;
   }
   .footer-logo img {
       height: 33px;
       margin-bottom: 0px;
   }

   /* Left Column Bottom: Phone & Socials */
   .footer-contact {
       grid-column: 1;
       grid-row: 2;
       align-items: flex-start;
       text-align: left;
   }
   .footer-phone {
       margin-bottom: 20px;
       font-size: 18px;
   }
   .footer-socials {
       gap: 15px;
   }
   .social-link img {
       width: 35px;
       height: 35px;
   }

   /* Navigation Columns */
   .footer-nav {
   }
   .footer-nav ul {
       gap: 20px;
   }
   .footer-nav a {
       font-size: 15px;
   }

   /* Nav 1 */
   .footer-grid > .footer-nav:nth-of-type(2) {
       grid-column: 2;
       grid-row: 1 / span 2;
   }
   /* Nav 2 */
   .footer-grid > .footer-nav:nth-of-type(3) {
       grid-column: 3;
       grid-row: 1 / span 2;
   }
   /* Nav 3 */
   .footer-grid > .footer-nav:nth-of-type(4) {
       grid-column: 4;
       grid-row: 1 / span 2;
   }

   /* Copyright - Positioned at bottom */
   .footer-copyright {
       position: absolute;
       bottom: 0;
       left: 0;
       width: 100%;
       text-align: center;
       border-top: 1px solid rgba(255, 255, 255, 0.1);
       padding-top: 20px;
       font-size: 12px;
   }
}
@media screen and (max-width: 726px) {
    .site-footer {
        padding-top: 40px;
        padding-bottom: 20px;
        height: auto;
    }
    
    .footer-grid {
        display: grid;
        /* grid-template-columns: 1fr 1fr; */
        grid-template-rows: auto auto auto auto;
        grid-template-areas:
            "branding branding"
            "contact contact"
            "nav1 nav3"
            "nav2 nav3";
        row-gap: 20px;
        padding-bottom: 60px; /* Space for copyright */
        position: relative;
        text-align: center;
    }

    /* 1. Logo (Branding) */
    .footer-branding {
        grid-area: branding;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: none;
        margin-bottom: 0;
    }
    .footer-logo img {
        height: 40px; 
        margin-bottom: 10px;
    }
    
    /* Copyright: Absolute at bottom */
    .footer-copyright {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        text-align: center;
        font-size: 14px;
        color: #9A9A9A;
        padding-top: 20px;
        /* border-top: 1px solid rgba(255,255,255,0.1); Moved to Contact bottom? or keep here? Design shows separator above copyright usually, or above navs? */
        /* Design screenshot: Copyright is at bottom. Separator is below Contact. */
    }

    /* 2. Contact (Phone & Socials) */
    .footer-contact {
        grid-area: contact;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        margin-bottom: 10px;
    }
    .footer-phone {
        margin-bottom: 15px;
        font-size: 20px;
    }
    .footer-socials {
        gap: 15px;
    }
    .social-link img {
        width: 38px;
        height: 38px;
    }

    /* 3. Navigation Columns */
    .footer-nav ul {
        align-items: flex-start; /* Left align items */
        text-align: left;
        gap: 15px;
    }
    .footer-nav li {
        text-align: left;
    }
    .footer-nav a {
        font-size: 16px;
    }

    /* Nav 1: About... */
    .footer-grid > .footer-nav:nth-of-type(2) {
        grid-area: nav1;
        justify-self: center; /* Center the block, simplify alignment */
        width: 140px; /* Fixed width to align col 1 stacks? */
        /* Or just use padding */
        text-align: left;
        padding-left: 20px;
        justify-self: start;
        width: 100%;
        padding-left: 0px; /* Push in from left edge */
    }

    /* Nav 2: Retreats... */
    .footer-grid > .footer-nav:nth-of-type(3) {
        grid-area: nav2;
        justify-self: start;
        width: 100%;
        padding-left: 0px;
        margin-top: -10px; /* Pull closer to Nav 1 */
    }

    /* Nav 3: Booking... */
    .footer-grid > .footer-nav:nth-of-type(4) {
        grid-area: nav3;
        justify-self: start;
        width: 100%;
        padding-left: 0px; /* Push in from center line */
    }
    
}