/* css/footerStyle.css - Reverted to simpler structure support */

/* Basic Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --footer-primary-bg: var(--primary-color, #00796B); 
    --footer-primary-hover-bg: var(--primary-hover-color, #00695C); 
    --footer-secondary-accent: var(--secondary-color, #FFC107); 
    
    --footer-text-on-primary: #E0F2F1;       
    --footer-link-on-primary: #FFFFFF;       
    --footer-link-hover-on-primary: var(--footer-secondary-accent); 
    --footer-text-secondary-on-primary: #B2DFDB; 
    
    --footer-border-on-primary: rgba(255, 255, 255, 0.15);

    --footer-social-icon-color: var(--footer-link-on-primary);
    --footer-social-icon-hover-color: var(--footer-secondary-accent);

    --transition-speed: 0.3s;
    --transition-speed-fast: 0.2s;
}

body {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
main {
    flex-grow: 1;
}

.footer-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.site-footer-v2 {
    background-color: var(--footer-primary-bg); 
    color: var(--footer-text-on-primary);          
    padding: 3rem 0 1.5rem;
    font-size: 0.9rem;
    border-top: 1px solid var(--footer-border-on-primary); 
    transition: background-color var(--transition-speed) ease; 
}

.footer-main-content {
    display: grid;
    grid-template-columns: 1fr; /* Mobile: Single column */
    gap: 2rem; /* Increased gap for mobile clarity */
    margin-bottom: 2rem;
    align-items: start;
}

.footer-col-1 { /* Logo and Social */
    display: flex;
    flex-direction: column;
    align-items: center; /* Center logo and social icons on mobile */
    text-align: center;
}

.footer-col-1 .footer-logo img {
    height: 90px;
    width: auto;
    margin-bottom: 1rem;
    transition: transform var(--transition-speed) ease;
    background-color: transparent; 
}
.footer-col-1 .footer-logo a:hover img {
     transform: scale(1.05);
}

.footer-col-1 .footer-social-icons {
    margin-top: 1rem;
}
.footer-col-1 .footer-social-icons a {
    color: var(--footer-social-icon-color); 
    text-decoration: none;
    font-size: 1.5rem;
    margin: 0 0.75rem; /* Adjusted spacing */
    display: inline-block;
    transition: color var(--transition-speed) ease, transform var(--transition-speed) ease;
}
.footer-col-1 .footer-social-icons a:hover {
    color: var(--footer-social-icon-hover-color); 
    transform: translateY(-3px) scale(1.1);
}

/* Styling for footer-col-2, footer-col-3, footer-col-4 on mobile */
.footer-links, .footer-book-now-section {
    text-align: center; /* Center content of these columns on mobile */
}

.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-links li {
    margin-bottom: 0.75rem;
}
.footer-links li:last-child {
    margin-bottom: 0;
}

.footer-links a,
.footer-bottom a { 
    color: var(--footer-link-on-primary); 
    text-decoration: none;
    transition: color var(--transition-speed) ease, transform var(--transition-speed-fast) ease; 
    position: relative;
    padding-bottom: 2px;
    display: inline-block; /* Important for underline and centering */
    vertical-align: baseline; 
}

.footer-links a::after,
.footer-bottom a::after { 
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1px; 
    bottom: 0;
    left: 0;
    background-color: var(--footer-link-hover-on-primary); 
    transform-origin: bottom right;
    transition: transform var(--transition-speed) ease-out;
}

.footer-links a:hover,
.footer-bottom a:hover { 
    color: var(--footer-link-hover-on-primary); 
    transform: translateY(-2px);
}

.footer-links a:hover::after,
.footer-bottom a:hover::after { 
     transform: scaleX(1);
     transform-origin: bottom left;
}

/* Styles for Footer Dropdown */
.footer-nav-item-dropdown { /* This is the <li> */
    position: relative; 
}

.footer-dropdown-toggle { /* This is the <a> toggle */
    display: inline-flex; 
    align-items: center;
    gap: 0.4em;
}

.footer-dropdown-toggle .dropdown-arrow {
    font-size: 0.8em;
    transition: transform var(--transition-speed-fast) ease;
}

/* Submenu - Absolute positioning for desktop/tablet, inline for mobile */
.footer-dropdown-menu {
    list-style: none;
    padding: 0.5rem 0 0 1rem; /* Default for inline mobile expansion */
    margin: 0.25rem 0 0 0; 
    display: none; /* Hidden by default */
    opacity: 0;
    max-height: 0; /* For inline animation */
    overflow: hidden; /* For inline animation */
    transform: translateY(5px);
    transition: opacity 0.2s ease-out, transform 0.2s ease-out, max-height 0.3s ease-out;
    background-color: transparent; /* For inline mobile */
}

.footer-dropdown-menu.open {
    display: block; /* Shown by JS */
    opacity: 1;
    transform: translateY(0);
    max-height: 200px; /* Adjust for content */
}

.footer-dropdown-menu li {
    margin-bottom: 0.6rem; 
}
.footer-dropdown-menu li:last-child {
    margin-bottom: 0;
}

.footer-dropdown-menu li a {
    font-size: 0.85rem; 
    padding: 0.6rem 0; /* Adjusted padding for mobile inline */
    display: block; /* Make links take full width for mobile inline */
}
.footer-dropdown-menu li a:hover {
    background-color: transparent; /* No special bg for mobile inline hover */
}


.btn-footer-book-now {
    display: inline-block;
    background-color: transparent; 
    color: var(--footer-link-on-primary); 
    border: 1px solid var(--footer-link-on-primary); 
    padding: 0.75rem 1.25rem;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease, transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
    text-decoration: none;
    white-space: nowrap;
}
.btn-footer-book-now:hover {
    background-color: var(--footer-link-on-primary); 
    color: var(--footer-primary-bg); 
    border-color: var(--footer-link-on-primary); 
    transform: scale(1.03);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); 
}

.footer-bottom {
    border-top: 1px solid var(--footer-border-on-primary); 
    padding-top: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--footer-text-secondary-on-primary); 
}
.footer-bottom-left, .footer-bottom-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
}
.footer-bottom-links a { 
     margin: 0 0.5rem;
}


@media (min-width: 768px) { 
    .footer-main-content {
        grid-template-columns: 1.5fr 1fr 1fr 1fr;
        gap: 2rem;
        align-items: start; /* Align items to the start of their grid cell */
    }
    .footer-col-1, .footer-links, .footer-book-now-section {
        text-align: left; /* Align text to left for columns */
    }
    .footer-col-1 {
        align-items: flex-start; /* Align logo/social to start */
    }
    .footer-book-now-section {
         display: flex;
         justify-content: flex-end; /* Push button to the right */
         align-items: flex-start;
    }

    /* Desktop Dropdown Menu Styling (absolute "drop-up") */
    .footer-dropdown-menu { 
        padding: 0.5rem 0;
        margin: 0;
        /* display: none; is default */
        position: absolute;
        bottom: calc(100% + 5px); 
        left: 0; 
        background-color: var(--footer-primary-hover-bg, #005f56); 
        min-width: 180px; 
        z-index: 10; 
        border-radius: 5px;
        box-shadow: 0 -3px 10px rgba(0,0,0,0.15); 
        border: 1px solid var(--footer-border-on-primary);
        /* opacity, transform, transition for animation already set */
        max-height: none; /* Override mobile max-height */
        overflow: visible; /* Override mobile overflow */
    }
    .footer-dropdown-menu.open {
        /* display: block; is default when open */
        /* opacity, transform for animation already set */
    }
    .footer-dropdown-menu li a {
        padding: 0.6rem 1.2rem; 
        display: block; /* Links take full width of dropdown */
    }
    .footer-dropdown-menu li a:hover {
        background-color: rgba(255,255,255,0.05); 
    }

     .footer-bottom {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .footer-bottom-left, .footer-bottom-right {
        align-items: flex-start; 
        text-align: left; 
    }
    .footer-bottom-right {
        align-items: flex-end;
        text-align: right;
    }
}

@media (min-width: 992px) { 
    /* .footer-main-content {
        grid-template-columns: 1.5fr 1fr 1fr 1fr; // Already set
    } */
    .footer-bottom-left {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
    }
}
 @media (min-width: 1200px) {
     .footer-main-content {
        gap: 3rem;
     }
 }
