/***
=============================================
    Location Info Area Css - Enhanced Modern & Creative
=============================================
***/
.location-info-area {
    position: relative;
    display: block;
    /* background: #f5f5f5;  Original light gray */
    background: #f9f9f9; /* Slightly warmer light gray */
    /* background: linear-gradient(to bottom, #f9f9f9, #f2f2f2);  Subtle light gradient (optional) */
    padding: 120px 0 80px;
    z-index: 10;
}

.single-location-info-box {
    position: relative;
    display: block;
    margin-bottom: 40px;
    /* background: #ffffff;  Removed background from box itself */
    border-radius: 15px; /* More rounded corners */
    overflow: hidden; /* Clip inner content to rounded corners */
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); /* Softer, more diffused shadow */
    transition: transform 0.3s ease-in-out; /* Add transition for box hover */
}

.single-location-info-box:hover {
    transform: translateY(-5px); /* Subtle lift effect on hover */
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12); /* Slightly stronger shadow on hover */
}

.single-location-info-box .img-holder {
    position: relative;
    display: block;
}

.single-location-info-box .img-holder .inner {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 15px; /* Match box border-radius */
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    z-index: 1;
}

.single-location-info-box .img-holder .inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    /* background: var(--thm-black); Original black overlay */
    background: linear-gradient(to bottom, rgba(var(--thm-primary-rgb), 0.7), rgba(var(--thm-primary-rgb), 0.9)); /* Primary color gradient overlay */
    transform: scale(1.05); /* Slight scale up on overlay */
    transform-origin: center; /* Center origin for scale */
    transform-style: preserve-3d;
    transition: all 0.4s ease-in-out; /* Smoother, faster transition */
    z-index: 2;
}

.single-location-info-box .img-holder .inner img {
    width: 100%;
    transform: scale(1.0);
    transition: transform 0.5s ease-in-out; /* Smoother image transition */
    display: block; /* Ensure image is block for proper scaling */
}

.single-location-info-box:hover .img-holder .inner:before {
    opacity: 1; /* Full opacity overlay on hover */
    transform: scale(1.0); /* Reset scale on hover */
}

.single-location-info-box:hover .img-holder .inner img {
    transform: scale(1.05); /* Slight zoom in on image hover */
}


.single-location-info-box .img-holder .flag {
    position: absolute;
    top: 15px; /* Adjusted position */
    left: 15px; /* Adjusted position */
    width: 60px; /* Slightly smaller flag */
    height: 35px; /* Slightly smaller flag */
    overflow: hidden;
    border-radius: 5px; /* Slightly less rounded flag corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Add subtle shadow to flag */
    z-index: 3; /* Ensure flag is above overlay */
}

.single-location-info-box .img-holder .flag img {
    width: 100%;
    display: block; /* Ensure flag image is block */
}



.single-location-info-box .title-holder {
    position: relative;
    display: block;
    background: #ffffff; /* Keep white background for title holder */
    border-bottom-left-radius: 15px; /* Match box border-radius */
    border-bottom-right-radius: 15px; /* Match box border-radius */
    /* box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.06); Original shadow - already on box */
    padding: 30px; /* Increased padding all around */
    padding-top: 25px; /* Slightly less top padding to align visually with image */
    z-index: 1;
}

.single-location-info-box .title-holder h3 {
    font-size: 26px; /* Slightly larger title font */
    line-height: 1.3; /* Improved line height */
    font-weight: 600; /* Slightly bolder title font */
    margin: 0 0 15px; /* Adjusted bottom margin */
    color: var(--thm-heading); /* Use heading color variable (ensure it's defined) */
    transition: color 0.3s ease-in-out; /* Transition for title color */
}

.single-location-info-box:hover .title-holder h3 {
    color: var(--thm-primary); /* Primary color title on box hover */
}


.single-location-info-box .title-holder ul {
    position: relative;
    display: block;
    margin-top: 10px; /* Added margin above list */
}

.single-location-info-box .title-holder ul li {
    position: relative;
    display: flex; /* Use flexbox for better alignment */
    align-items: flex-start; /* Align items to the start (top) */
    padding-left: 0; /* Removed padding-left */
    margin-bottom: 18px; /* Increased margin-bottom */
}

.single-location-info-box .title-holder ul li:last-child {
    margin-bottom: 0;
}

.single-location-info-box .title-holder ul li .inner-title {
    position: relative;
    width: 100px; /* Fixed width for title area */
    flex-shrink: 0; /* Prevent title area from shrinking */
    margin-right: 15px; /* Spacing between title and text */
    text-align: right; /* Right-align inner title */
    padding-top: 3px; /* Slight top padding for visual alignment */
}

.single-location-info-box .title-holder ul li .inner-title h5 {
    font-size: 15px; /* Slightly larger inner title font */
    line-height: 1.4;
    font-weight: 600; /* Bolder inner title font */
    color: var(--thm-text); /* Use text color variable (ensure it's defined) */
    margin-bottom: 0; /* Removed margin-bottom */
}

.single-location-info-box .title-holder ul li .inner-text {
    position: relative;
    display: block;
    flex-grow: 1; /* Allow text area to grow and fill space */
}

.single-location-info-box .title-holder ul li .inner-text p {
    margin: 0;
    line-height: 1.6; /* Improved line height for text */
    color: var(--thm-body-text); /* Use body text color variable (ensure it's defined) */
    font-weight: 400; /* Regular font weight for text */
}

.single-location-info-box .title-holder ul li .inner-text p a {
    color: var(--thm-link-color); /* Use link color variable (ensure it's defined) */
    transition: color 0.3s ease-in-out; /* Smoother link color transition */
}

.single-location-info-box .title-holder ul li .inner-text p a:hover {
    color: var(--thm-primary); /* Primary color on link hover */
}


.single-location-info-box .title-holder ul li .inner-text .social-links {
    position: relative;
    display: flex; /* Use flexbox for social links */
    align-items: center; /* Vertically align social links */
    margin-top: 10px; /* Added margin above social links */
}

.single-location-info-box .title-holder ul li .inner-text .social-links a {
    position: relative;
    display: inline-flex; /* Use inline-flex for better control */
    align-items: center; /* Vertically center icons */
    justify-content: center; /* Horizontally center icons */
    color: var(--thm-icon-color); /* Use icon color variable (ensure it's defined) */
    font-size: 20px; /* Slightly larger social icons */
    margin-right: 12px; /* Reduced right margin */
    transition: color 0.3s ease-in-out, transform 0.3s ease-in-out; /* Smooth transitions for color and transform */
}

.single-location-info-box .title-holder ul li .inner-text .social-links a:last-child {
    margin-right: 0; /* Remove margin from last social link */
}

.single-location-info-box .title-holder ul li .inner-text .social-links a:hover {
    color: var(--thm-primary); /* Primary color on icon hover */
    transform: scale(1.1); /* Subtle scale up on icon hover */
}

/* Responsive adjustments - Example for smaller screens */
@media (max-width: 767px) {
    .location-info-area {
        padding: 80px 0 50px; /* Reduced padding on smaller screens */
    }
    .single-location-info-box {
        margin-bottom: 30px; /* Reduced margin between boxes on smaller screens */
    }
    .single-location-info-box .title-holder {
        padding: 20px; /* Reduced padding in title holder on smaller screens */
    }
    .single-location-info-box .title-holder h3 {
        font-size: 22px; /* Slightly smaller title font on smaller screens */
        margin-bottom: 10px;
    }
    .single-location-info-box .title-holder ul li {
        margin-bottom: 14px; /* Reduced margin in list items on smaller screens */
    }
    .single-location-info-box .title-holder ul li .inner-title {
        width: 80px; /* Slightly smaller title width on smaller screens */
        margin-right: 10px;
    }
    .single-location-info-box .title-holder ul li .inner-title h5 {
        font-size: 14px; /* Slightly smaller inner title font on smaller screens */
    }
    .single-location-info-box .title-holder ul li .inner-text .social-links a {
        font-size: 18px; /* Slightly smaller social icons on smaller screens */
        margin-right: 8px;
    }
}