 #footer {
     background: #0f0b05;
     color: #a09070;
     padding: 56px 0 0;
 }

 /* Row 1: Brand + 3 link columns */
 .footer-top-grid {
     display: grid;
     grid-template-columns: 2fr 1fr 1fr 1fr;
     gap: 36px;
     padding-bottom: 36px;
     border-bottom: 1px solid #1e1608;
 }

 /* Row 2: 4 more link columns */
 .footer-mid-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 36px;
     padding: 36px 0;
     border-bottom: 1px solid #1e1608;
 }

 .footer-brand p {
     font-size: 13.5px;
     line-height: 1.8;
     margin: 12px 0;
     color: #7a6a50;
     max-width: 280px;
 }

 .footer-contact {
     display: flex;
     flex-direction: column;
     gap: 9px;
     font-size: 13px;
     margin-top: 16px;
     color: #8a7a60;
 }

 .footer-contact a {
     color: #e8c880;
 }

 .footer-contact i {
     color: var(--gold);
     margin-right: 7px;
     width: 14px;
 }

 .social-row {
     display: flex;
     gap: 8px;
     margin-top: 18px;
 }

 .social-row a {
     width: 34px;
     height: 34px;
     background: rgba(255, 255, 255, 0.07);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #bbb;
     font-size: 14px;
     transition:
         background 0.2s,
         color 0.2s;
 }

 .social-row a:hover {
     background: var(--gold);
     color: #fff;
 }

 .footer-col h4 {
     color: #fff;
     font-size: 12.5px;
     font-weight: 700;
     font-family: "DM Sans", sans-serif;
     margin-bottom: 16px;
     text-transform: uppercase;
     letter-spacing: 1px;
     position: relative;
     padding-bottom: 9px;
 }

 .footer-col h4::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 0;
     width: 24px;
     height: 2px;
     background: var(--gold);
     border-radius: 2px;
 }

 .footer-col ul {
     list-style: none;
     display: flex;
     flex-direction: column;
     gap: 7px;
 }

 .footer-col ul li a {
     font-size: 13px;
     color: #7a6a50;
     transition:
         color 0.15s,
         padding-left 0.15s;
     display: block;
     line-height: 1.5;
 }

 .footer-col ul li a:hover {
     color: var(--gold-light);
     padding-left: 4px;
 }

 .footer-col ul li a.f-viewall {
     color: var(--gold);
     font-weight: 600;
     margin-top: 3px;
 }

 .footer-col ul li a.f-viewall:hover {
     color: var(--gold-light);
 }

 .footer-col--full {
     grid-column: span 2;
 }

 .footer-bottom {
     padding: 18px 0;
     display: flex;
     justify-content: space-between;
     align-items: center;
     flex-wrap: wrap;
     gap: 10px;
     font-size: 12.5px;
         margin-bottom: 60px;
 }

 .footer-bottom a {
     color: #7a6a50;
 }

 .footer-bottom a:hover {
     color: var(--gold-light);
 }

 /* Tablet landscape: footer rows go 2-column */
 @media (max-width: 1100px) {
     .footer-top-grid {
         grid-template-columns: 1fr 1fr;
         gap: 28px;
     }

     .footer-mid-grid {
         grid-template-columns: 1fr 1fr;
         gap: 28px;
     }
 }

 /* ——— RESPONSIVE ——— */
 @media (max-width: 1024px) {


     .footer-grid {
         grid-template-columns: 1fr 1fr;
     }


 }

 @media (max-width: 768px) {



     /* Footer: 2 columns, brand spans full width on its own row */
     .footer-top-grid {
         grid-template-columns: 1fr 1fr;
         gap: 20px;
     }

     /* Brand takes full width, sits above the 2-col links */
     .footer-top-grid .footer-brand {
         grid-column: 1 / -1;
     }

     .footer-brand p {
         max-width: 100%;
     }

     .footer-mid-grid {
         grid-template-columns: 1fr 1fr;
         gap: 20px;
     }

     /* The span-2 TripAdvisor+Contact cell: full width on tablet too */
     .footer-col--full {
         grid-column: 1 / -1 !important;
     }

     /* Inner TripAdvisor + Contact sub-grid: stays side-by-side on tablet */
     .footer-ta-contact-grid {
         grid-template-columns: 1fr 1fr !important;
         gap: 20px !important;
     }
 }

 @media (max-width: 560px) {
     .footer-top-grid {
         grid-template-columns: 1fr;
     }

     .footer-mid-grid {
         grid-template-columns: 1fr 1fr;
         gap: 20px;
     }

     .footer-brand p {
         max-width: 100%;
     }

     .footer-bottom {
         flex-direction: column;
         text-align: center;
     }
 }

 @media (max-width: 480px) {



     /* Footer: fully single column */
     #footer {
         padding: 40px 0 0;
     }

     .footer-top-grid {
         grid-template-columns: 1fr;
         gap: 28px;
     }

     .footer-top-grid .footer-brand {
         grid-column: 1;
     }

     .footer-mid-grid {
         grid-template-columns: 1fr;
         gap: 28px;
     }

     .footer-col--full {
         grid-column: 1 !important;
     }

     /* TripAdvisor + Contact stack vertically on small phones */
     .footer-ta-contact-grid {
         grid-template-columns: 1fr !important;
         gap: 24px !important;
     }

     .footer-bottom {
         flex-direction: column;
         text-align: center;
         gap: 8px;
         padding: 16px 0;
     }

     .footer-bottom span:last-child {
         display: none;
     }
 }

 /* ——— MOBILE STICKY BAR ——— */
 .mobile-cta {
     position: fixed;
     bottom: 0;
     left: 0;
     right: 0;
     z-index: 1000;
     transform: translateY(100%);
     transition: transform 0.3s;
 }

 .mobile-cta.active {
     transform: translateY(0);
 }

 .mobile-cta .inner {
     display: flex;
 }

 .mobile-cta a {
     flex: 1;
     text-align: center;
     padding: 13px 8px;
     font-size: 13px;
     font-weight: 600;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 3px;
 }

 .mobile-cta a i {
     font-size: 18px;
 }

 .mobile-cta .call {
     background: var(--gold);
     color: #fff;
 }

 .mobile-cta .wa {
     background: #25d366;
     color: #fff;
 }

 .mobile-cta .email {
     background: var(--dark);
     color: #fff;
 }