.elementor-kit-442{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#FFFFFF;}.elementor-kit-442 e-page-transition{background-color:#FFBC7D;}.elementor-kit-442 a{color:#3A3838;}.elementor-kit-442 h1{color:#3A3838;}.elementor-kit-442 h2{color:#3A3838;}.elementor-kit-442 h3{color:#3A3838;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */@import url('https://cdn.jsdelivr.net/npm/intl-tel-input@23/build/css/intlTelInput.css');

.iti { width: 100%; display: block; }

#form-field-field_09490ab {
  width: 100% !important;
  box-sizing: border-box;
}

/* remove ALL hover/focus background from flag button */
.iti__flag-container:hover,
.iti__flag-container:focus,
.iti__selected-flag:hover,
.iti__selected-flag:focus,
.iti__selected-flag {
  background: transparent !important;
  outline: none !important;
}

/* dropdown container radius */
.iti__dropdown-content,
.iti__country-list {
  border-radius: 15px !important;
  overflow: hidden;
  border: 1px solid #e0e0e0 !important;
  box-shadow: none !important;
}

/* remove hover highlight on country items */
.iti__country.iti__highlight,
.iti__country:hover {
  background: transparent !important;
}

.iti__selected-dial-code {
  font-size: 13px;
}
/* ===== TRIPADVISOR REVIEWS WIDGET ===== */

.ta-all-places {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.ta-place-section {
    border-bottom: 2px solid #eee;
    padding-bottom: 40px;
}

.ta-place-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.ta-place-name {
    font-size: 24px;
    margin: 0;
    color: #111;
}

.ta-place-location {
    color: #777;
    font-size: 14px;
}

.ta-widget-title {
    font-size: 22px;
    margin-bottom: 20px;
    color: #111;
}

.ta-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ta-review-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 20px 24px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s;
}

.ta-review-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.10);
}

.ta-review-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 8px;
}

.ta-reviewer {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ta-avatar {
    width: 36px;
    height: 36px;
    background: #00aa6c;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 15px;
    flex-shrink: 0;
}

.ta-username {
    font-weight: 600;
    color: #222;
    font-size: 15px;
}

.ta-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ta-stars {
    font-size: 18px;
    letter-spacing: 2px;
}

.ta-stars[data-rating="5"] { color: #00aa6c; }
.ta-stars[data-rating="4"] { color: #00aa6c; }
.ta-stars[data-rating="3"] { color: #f5a623; }
.ta-stars[data-rating="2"] { color: #e07b39; }
.ta-stars[data-rating="1"] { color: #d0392b; }

.ta-date {
    color: #aaa;
    font-size: 13px;
}

.ta-review-title {
    font-size: 16px;
    margin: 0 0 8px;
    color: #111;
}

.ta-review-text {
    color: #555;
    line-height: 1.7;
    margin: 0;
    font-size: 15px;
}

.ta-no-reviews {
    color: #999;
    font-style: italic;
}

@media (max-width: 600px) {
    .ta-review-top { flex-direction: column; align-items: flex-start; }
    .ta-place-header { flex-direction: column; align-items: flex-start; }
}
/* ===== REVIEW PHOTOS LAYOUT ===== */
.ta-review-photos {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.ta-photo-item {
    width: 80px;
    height: 80px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #ddd;
}

.ta-photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease;
}

.ta-photo-item img:hover {
    transform: scale(1.08);
}
/* ===== LIGHTBOX MODAL STYLES ===== */
.ta-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.ta-lightbox-overlay.ta-active {
    opacity: 1;
    pointer-events: auto;
}

.ta-lightbox-img {
    max-width: 90%;
    max-height: 85%;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
    transform: scale(0.95);
    transition: transform 0.3s ease;
}

.ta-lightbox-overlay.ta-active .ta-lightbox-img {
    transform: scale(1);
}

.ta-lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
}

.ta-photo-item {
    cursor: pointer;
}
/* 1. FORCE THE CIRCLE FRAME SHAPE ON EVERYTHING */
.ta-widget .ta-reviewer img.ta-avatar,
.ta-widget .ta-reviewer span.ta-avatar,
.ta-widget .ta-avatar {
    width: 45px !important;
    height: 45px !important;
    min-width: 45px !important;
    min-height: 45px !important;
    max-width: 45px !important;
    max-height: 45px !important;
    border-radius: 50% !important;
    border-radius: 9999px !important; /* Ultimate fallback for rounding */
    object-fit: cover !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

/* 2. STYLE THE INITIALS FALLBACK BOX ONLY */
.ta-widget span.ta-avatar {
    background-color: #e1e1e1 !important;
    color: #333333 !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-align: center !important;
}

/* 3. ALIGN INNER CARD CONTENT RADIUS FOR SAFETY */
.ta-widget .ta-reviewer {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}



/* Fix the boxed container inner wrapper */
[data-id="adcef00"] > .e-con-inner {
  align-items: flex-start !important;
  height: auto !important;
}

/* Left columns */
[data-id="c8c59db"],
[data-id="397e68a"] {
  align-self: flex-start !important;
  height: auto !important;
}

/* Sticky wrapper - Desktop & Tablet */
[data-id="436c636"] {
  position: sticky !important;
  top: 20px !important;
  align-self: flex-start !important;
  height: fit-content !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

/* Inner right container */
[data-id="e391c00"] {
  height: fit-content !important;
  align-self: flex-start !important;
  width: 100% !important;
}

.elementor-sticky {
  align-self: flex-start !important;
  height: fit-content !important;
  flex-shrink: 0 !important;
}

/* =============================
   MOBILE ONLY - Remove Sticky
   ============================= */
@media (max-width: 767px) {
  [data-id="436c636"] {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    flex-shrink: unset !important;
    height: auto !important;
  }

  [data-id="adcef00"] > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  [data-id="c8c59db"],
  [data-id="397e68a"] {
    width: 100% !important;
    align-self: stretch !important;
  }
}

document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".e-n-accordion-item").forEach(function (item) {
        const body = item.querySelector(".e-n-accordion-item-body");
        if (body && body.innerText.trim() === "") {
            item.style.display = "none";
        }
    });
});

/* ==========================================================================
   ACCORDION OUTER
   ========================================================================== */
.acf-accordion {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.acf-accordion-item {
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.acf-accordion-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 24px !important;
    user-select: none;
}

.acf-accordion-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

/* Toggle Icon */
.acf-toggle-icon {
    position: relative;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.acf-toggle-icon::before,
.acf-toggle-icon::after {
    content: '';
    position: absolute;
    background-color: #1a1a1a;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.acf-toggle-icon::before {
    width: 14px;
    height: 2px;
}

.acf-toggle-icon::after {
    width: 2px;
    height: 14px;
}

.acf-accordion-item.active .acf-toggle-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

/* ==========================================================================
   BODY
   ========================================================================== */
.acf-accordion-body {
    display: none !important;
}

.acf-accordion-item.active .acf-accordion-body {
    display: block !important;
}

.acf-accordion-inner {
    padding: 0 24px 28px 24px !important;
    box-sizing: border-box;
}

/* ==========================================================================
   TOP SECTION
   ========================================================================== */
.acf-acc-top {
    margin-bottom: 24px;
}

.acf-acc-heading {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 10px 0 !important;
}

.acf-acc-text {
    font-size: 15px !important;
    color: #4a5568 !important;
    line-height: 1.65 !important;
    margin: 0 0 10px 0 !important;
}

.acf-acc-location {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #718096 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 6px;
}

.acf-acc-location-icon {
    width: 16px !important;
    height: 16px !important;
    object-fit: contain !important;
    vertical-align: middle;
}

/* ==========================================================================
   HIGHLIGHTS / GALLERY
   ========================================================================== */
.acf-acc-highlights {
    margin-bottom: 28px;
}

.acf-acc-highlights-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 14px 0 !important;
}

.acf-acc-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.acf-acc-gallery-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.acf-acc-gallery-img {
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    display: block !important;
}

.acf-acc-gallery-caption {
    font-size: 13px !important;
    color: #4a5568 !important;
    margin: 6px 0 0 0 !important;
    text-align: center;
}

/* ==========================================================================
   INFO ROWS
   ========================================================================== */
.acf-acc-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f7f7f7 !important;
    border-radius: 14px !important;
    padding: 16px 20px !important;
    margin-top: 24px !important;
}

.acf-acc-info-row {
    display: grid !important;
    grid-template-columns: 28px 130px 1fr !important;
    align-items: center !important;
    gap: 10px !important;
}

.acf-acc-info-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.acf-acc-info-icon-img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
    display: block;
}

.acf-acc-info-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #9a9a9a !important;
    width: auto !important;
}

.acf-acc-info-value {
    font-size: 14px !important;
    color: #6b6b6b !important;
}

/* ==========================================================================
   MOBILE
   ========================================================================== */
@media (max-width: 767px) {
    .acf-accordion-inner {
        padding: 0 16px 24px 16px !important;
    }

    .acf-acc-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .acf-acc-info-row {
        grid-template-columns: 28px 110px 1fr !important;
    }
}/* End custom CSS */