.elementor-347 .elementor-element.elementor-element-8d03d39{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-347 .elementor-element.elementor-element-8d03d39:not(.elementor-motion-effects-element-type-background), .elementor-347 .elementor-element.elementor-element-8d03d39 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#576D3D;}.elementor-347 .elementor-element.elementor-element-c0b0462{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-347 .elementor-element.elementor-element-cef1810{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-347 .elementor-element.elementor-element-cef1810.e-con{--order:-99999 /* order start hack */;}.elementor-347 .elementor-element.elementor-element-4b51802 .elementor-heading-title{font-family:"Verdana", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-347 .elementor-element.elementor-element-11d95eb{--display:flex;}.elementor-347 .elementor-element.elementor-element-11d95eb:not(.elementor-motion-effects-element-type-background), .elementor-347 .elementor-element.elementor-element-11d95eb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #576D3D 0%, #EADFC7 100%);}.elementor-347 .elementor-element.elementor-element-d8cd6af{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-347 .elementor-element.elementor-element-d8cd6af:not(.elementor-motion-effects-element-type-background), .elementor-347 .elementor-element.elementor-element-d8cd6af > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EADFC7;}.elementor-347 .elementor-element.elementor-element-f56eb89{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-347 .elementor-element.elementor-element-9d3d40f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-347 .elementor-element.elementor-element-c0b0462{--width:33.3333%;}.elementor-347 .elementor-element.elementor-element-cef1810{--width:66.6666%;}.elementor-347 .elementor-element.elementor-element-f56eb89{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-347 .elementor-element.elementor-element-c0b0462{--width:1600px;}}@media(max-width:1024px){.elementor-347 .elementor-element.elementor-element-8d03d39{--justify-content:space-evenly;--flex-wrap:wrap;--align-content:center;}.elementor-347 .elementor-element.elementor-element-c0b0462{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-347 .elementor-element.elementor-element-4b51802{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 20px;padding:0px 0px 0px 0px;text-align:center;}.elementor-347 .elementor-element.elementor-element-4b51802 .elementor-heading-title{font-size:20px;}}@media(max-width:767px){.elementor-347 .elementor-element.elementor-element-4b51802.elementor-element{--align-self:center;}.elementor-347 .elementor-element.elementor-element-4b51802{text-align:center;}}/* Start custom CSS for html, class: .elementor-element-9d3d40f *//* Footer Section Styling */
.site-footer {
    background-color: #eadfc7; /* Light beige/tan from image */
    padding: 0px 0px; /* Padding around the footer content */
    box-sizing: border-box; /* Include padding in element's total width and height */
    /* Note: The palm tree background on the right is a decorative element and might be applied
             as a background-image to this section or a pseudo-element if needed.
             It's omitted here for structural focus. */
}

.footer-container {
    max-width: 1200px; /* Max width to contain content, adjust as needed */
    margin: 0 auto; /* Center the container */
    display: grid;
    /* Define 4 columns with flexible widths to match the image proportions */
    grid-template-columns: 1.2fr 1fr 1fr 1.5fr;
    gap: 40px; /* Space between columns */
}

/* Specific Column Styling */
.branding-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Align content to the left */
}

.footer-logo img {
    max-width: 200px; /* Adjust logo size */
    height: auto;
    margin-bottom: 25px; /* Space below logo */
    object-fit: contain; /* Ensure image scales correctly within its bounds */
}

.footer-phone {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    color: #51332B; /* Dark olive green for phone number */
    font-size: 15px; /* Larger font for phone */
    font-weight: 600;
}

.footer-phone i {
    margin-right: 10px;
    font-size: 1px;
}

.footer-badges {
    display: flex;
    align-items: flex-start; /* Align badges to the top */
    margin-bottom: 40px;
}

.footer-badges .badge {
    width: 50px; /* Size for SGR and ANVR placeholder images */
    height: 60px;
    object-fit: contain;
    margin-right: 15px;
}

    .badges {
        width: 80px;
        height: 90px;
    object-fit: contain;
    margin-right: px;
        
    }

.tripadvisor-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 5px; /* Adjust spacing from previous badge */
}

.tripadvisor-badge p {
    font-size: 0.7em;
    line-height: 1.2;
    text-align: center;
    margin: 0 0 5px 0; /* Space below text, above badge */
    color: #4a4a4a;
}

.tripadvisor-badge .badge-ta {
    width: 45px; /* Adjust size for Tripadvisor badge placeholder */
    height: 45px;
    object-fit: contain;
}

.tripadvisor-badge .badge-year {
    font-size: 0.7em;
    font-weight: 600;
    margin-top: 5px; /* Space above year */
    color: #4a4a4a;
}

.footer-copyright {
    font-size: 0.9em;
    margin-bottom: 10px;
    color: #4a4a4a;
}

.footer-terms {
    font-size: 0.9em;
    color: #4a4a4a;
    text-decoration: underline;
    transition: color 0.3s ease; /* Smooth transition for hover effect */
}

.footer-terms:hover {
    color: #556B2F; /* Darker green on hover */
}

/* Headings for menu sections */
.footer-heading {
    font-family: 'Montserrat', sans-serif; /* Bolder font for headings */
    font-size: 1.1em;
    font-weight: 700;
    color: #333333; /* Darker color for headings */
    margin-bottom: 25px;
    letter-spacing: 0.05em; /* Slightly increased letter spacing */
    white-space: nowrap; /* Prevent headings from wrapping if too long */
}

/* Link Lists (Sample Itineraries, Travel Information) */
.footer-links {
    list-style: none; /* Remove bullet points */
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 12px; /* Space between list items */
}

.footer-links a {
    color: #4a4a4a;
    text-decoration: none;
    font-size: 0.95em;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #556B2F; /* Darker green on hover */
    text-decoration: underline;
}

.footer-links .view-all {
    font-weight: 600; /* Bolder for "View all" link */
    text-decoration: underline;
}

/* Newsletter Section */
.newsletter-section {
    margin-bottom: 50px; /* Space between newsletter and social media */
}

.newsletter-description {
    font-size: 0.9em;
    margin-bottom: 20px;
    color: #4a4a4a;
}

.newsletter-form .form-group {
    display: flex; /* Arrange inputs side-by-side */
    gap: 15px; /* Space between inputs */
    margin-bottom: 15px;
}

.newsletter-form input[type="text"],
.newsletter-form input[type="email"] {
    flex: 1; /* Inputs take equal width */
    padding: 12px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 0.9em;
    background-color: #fff; /* White background for inputs */
    color: #333;
    outline: none; /* Remove outline on focus */
}

.newsletter-form input::placeholder {
    color: #888; /* Placeholder text color */
}

.privacy-text {
    font-size: 0.85em;
    margin-bottom: 20px;
    color: #4a4a4a;
}

.privacy-policy-link {
    color: #4a4a4a;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.privacy-policy-link:hover {
    color: #556B2F;
}

.signup-button {
    background-color: #557f44; /* Dark green button */
    color: #fff;
    padding: 12px 25px;
    border: none;
    border-radius: 5px;
    font-size: 1em;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    letter-spacing: 0.05em;
}

.signup-button:hover {
    background-color: #4a6b3d; /* Slightly darker green on hover */
}

/* Social Media Section */
.social-icons {
    display: flex;
    gap: 12px; /* Space between social icons */
}

.social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px; /* Size of social icon circles */
    height: 45px;
    border-radius: 50%; /* Make them circular */
    background-color: #ffc107; /* Yellow background */
    color: #4a4a4a; /* Dark icon color */
    font-size: 1.3em;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.social-icons a:hover {
    background-color: #e0a800; /* Slightly darker yellow on hover */
    color: #333;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
    .footer-container {
        grid-template-columns: 1fr 1fr; /* Two columns on smaller desktops/laptops */
        gap: 30px;
        padding: 50px 30px;
    }
    .branding-column,
    .newsletter-social-column {
        grid-column: span 1; /* These columns now take one span each in the 2-column layout */
    }
}

@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr; /* Single column on tablets and mobile */
        gap: 40px;
        padding: 40px 20px;
    }
    .footer-heading {
        margin-bottom: 20px;
    }
    .footer-logo img {
        max-width: 180px;
    }
    .footer-phone {
        font-size: 1.2em;
    }
    .newsletter-form .form-group {
        flex-direction: column; /* Stack inputs vertically */
        gap: 10px;
    }
    .social-icons {
        justify-content: flex-start; /* Align social icons to the left */
        flex-wrap: wrap; /* Allow icons to wrap to next line */
    }
}

@media (max-width: 480px) {
    .site-footer {
        padding: 30px 15px;
    }
    .footer-logo img {
        max-width: 150px;
    }
    .footer-phone {
        font-size: 1.1em;
    }
    .footer-badges {
        flex-wrap: wrap; /* Allow badges to wrap */
        align-items: center; /* Center items when wrapped */
    }
    .badge, .tripadvisor-badge .badge-ta {
        width: 50px;
        height: 50px;
    }
    .tripadvisor-badge p, .badge-year {
        font-size: 0.65em;
    }
    .footer-heading {
        font-size: 1em;
    }
    .newsletter-form input {
        padding: 10px 12px;
    }
    .signup-button {
        padding: 10px 20px;
        font-size: 0.9em;
    }
    .social-icons a {
        width: 40px;
        height: 40px;
        font-size: 1.2em;
    }
}/* End custom CSS */