/**
 * Homepage global background + section transparency.
 *
 * bg.webp is a tall scenic image fixed behind all homepage sections. Sections
 * that previously had their own solid background-color are made transparent so
 * the global image shows through. Sections with an admin-set background_image
 * still get their own bg + overlay (see .trv-section--has-bg below).
 */
.trv-homepage-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    z-index: 0;
}
/* Body must be transparent for the global bg to show through */
body {
    background-color: transparent !important;
}
/* Section content sits above the fixed background without repositioning the
   complete CMS content wrapper (which would offset the hero/header layout). */
.section-full,
.section-full > .container,
.section-full > .container-fluid,
.section-head,
.section-content,
.page-default-content {
    position: relative;
    z-index: 2;
}
/* Make homepage sections transparent so the global bg shows through */
.trv-popular-tours,
.trv-popular-destination,
.trv-3step-section,
.trv-we-recommend,
.trv-testimo-bx-wrap,
.trv-testimonial-st2-wrap,
.trv-testimonial-st1-wrap,
.trv-our-team-wrap,
.trv-blog-all-style,
.trv-blog-style2-section,
.trv-blog-style3-section,
.trv-instagram-section,
.trv-tour-category-section {
    background-color: transparent !important;
}
/* Category section no longer has the old bottom title/background, so its
   original fixed heights and bottom reserve are unnecessary. */
.trv-tour-category-section {
    height: auto !important;
}
.trv-tour-category-section #module {
    height: auto !important;
    margin-bottom: 0 !important;
}
.trv-tour-category-section::after {
    display: none !important;
    content: none !important;
}

/* Keep team and testimonial content above section backgrounds. */
.trv-our-team-wrap,
.trv-testimonial-st2-wrap,
.trv-testimonial-st1-wrap,
.trv-testimo-bx-wrap {
    position: relative;
    z-index: 1;
}
.trv-our-team-wrap > .container,
.trv-testimonial-st2-wrap > .container,
.trv-testimonial-st1-wrap > .container,
.trv-testimo-bx-wrap > .container {
    position: relative;
    z-index: 2;
    opacity: 1;
    visibility: visible;
}
/* Testimonial card — frosted "Japanese paper" glass over the homepage
   mountain background: warm washi tone at ~82% opacity, soft blur behind
   the card, floating shadow, generous radius. */
.trv-testimonial-st2-wrap .trv-testimo-bx2 {
    background: rgba(243, 232, 216, 0.78) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    backdrop-filter: blur(14px) saturate(1.1);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 30px;
    box-shadow: 0 30px 70px rgba(47, 40, 32, 0.18);
    padding: 40px 48px;
    box-sizing: border-box;
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info {
    padding-right: 12px;
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info p {
    font-size: 18px !important;
    line-height: 1.5;
}
@media (max-width: 991px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 {
        padding: 28px;
    }
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .info {
        padding-right: 0;
    }
}
@media (max-width: 767px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 {
        padding: 22px;
    }
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .info p {
        font-size: 16px !important;
    }
}

/* Remove colored shadow blobs in steps section — they show as colored patches
   against the transparent background. */
.trv-3step-section .trv-yl-shedow-left,
.trv-3step-section .trv-yl-shedow-right,
.trv-3step-section .trv-bl-shedow-top {
    display: none !important;
}

/* ── Font system: Cormorant Garamond (headings) + Manrope (everything else) ──
   Headings: Cormorant Garamond (700/600).
   Subheadings: Manrope Medium (500).
   Body text: Manrope Regular (400).
   Buttons: Manrope SemiBold (600).
   Menu: Manrope Medium (500).
   Hero is NOT touched — keeps its own fonts. */

/* Body text — Manrope Regular (400) */
body,
.trv-tour-info,
.trv-tour-duration,
.trv-content,
.trv-content-head-section,
.trv-content-bottom-section,
p, span, li, td, th, label, input, select, textarea {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 400;
}
/* Links — Manrope Regular by default */
a {
    font-family: 'Manrope', sans-serif !important;
}
/* Buttons — Manrope SemiBold (600) */
button,
.site-button,
.site-button-link,
.butn-bg-shape,
.trv-we-rec-btn a,
input[type="submit"],
input[type="button"] {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 600 !important;
}
/* Menu — Manrope Medium (500) */
.header-nav .nav > li > a,
.header-nav .nav .sub-menu li a,
.header-nav .nav li a {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 500 !important;
}

/* Block headings — Manrope */
h1, h2, h3, h4, h5, h6,
.trv-head-title,
.trv-title-large,
.trv-title,
.trv-guide-name,
.trv-icon-bx-title,
.trv-404-sub-title,
.error-title,
.error-comment,
.trv-title-small {
    font-family: 'Manrope', sans-serif !important;
    color: #2F3538 !important;
}
/* Override all Kaushan Script decorative elements from style.css */
.trv-subscribe-nl .trv-nl-large-text,
.trv-sidebar-nl .trv-sidebar-nl-heading,
.widget_address li span.trv-contact,
.trv-hor-add .trv-hor-add-mid,
.trv-guide-left-media-section .trv-guide-left-media-title,
.trv-guide-left-media-section .trv-guide-left-media-title span,
.trv-testimo-bx1 .info .trv-testimo-head .left-part .trv-testimonial-name,
.trv-testimo-bx2 .info .trv-testimo-head .left-part .trv-testimonial-name,
.trv-achivment-section .trv-say-yesbx .say-title,
.trv-achivment-section .trv-say-yesbx .say-title2,
.tvr-pop-tour .tvr-pop-tour-name,
.trv-adventure-st1 .adventure-title,
.trv-for-summer-section .trv-for-summer-text-wrap span,
.trv-whychoose .w-choo-left .w-title,
.trv-contact-form .trv-cot-media-section .trv-cot-media-info .trv-subtitle,
.trv-contact-form .trv-cot-media-section .trv-cot-media-info .trv-title {
    font-family: 'Manrope', sans-serif !important;
}
/* Hero heading — 700 */
.trv-banner-content h1,
.trv-banner-content h2,
.trv-hero-section h1,
.trv-hero-section h2,
.trv-hp5-bnr-content h1,
.trv-hp5-bnr-content h2 {
    font-weight: 700 !important;
    color: #fff !important;
}
/* Hero headings stay white over photographic backgrounds. */
.trv-banner-1-text-large,
.trv-banner-2-text-large,
.trv-banner-3-text-large,
.trv-banner-5-text-large,
.trv-banner-1-text-large span,
.trv-banner-2-text-large span,
.trv-banner-3-text-large span,
.trv-banner-5-text-large span {
    color: #fff !important;
}
/* Hero H1 — Poiret One (single weight 400), 96-110px per the design spec.
   The long selectors match the 0,3,0 specificity of the Cormorant list above. */
.trv-banner-1-wrap .trv-banner-1-text .trv-banner-1-text-large,
.trv-banner-1-wrap .trv-banner-1-text .trv-banner-1-text-large-outline,
.trv-banner-2-wrap .trv-banner-2-text .trv-banner-2-text-large,
.trv-banner-1-text-large,
.trv-banner-1-text-large-outline,
.trv-banner-2-text-large,
.trv-banner-3-text-large,
.trv-banner-5-text-large {
    font-family: 'Poiret One', 'Cormorant Garamond', serif !important;
    font-size: 104px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
}
@media (max-width: 1199px) {
    .trv-banner-1-text-large,
    .trv-banner-1-text-large-outline,
    .trv-banner-2-text-large,
    .trv-banner-3-text-large,
    .trv-banner-5-text-large {
        font-size: 84px !important;
    }
}
@media (max-width: 768px) {
    .trv-banner-1-text-large,
    .trv-banner-1-text-large-outline,
    .trv-banner-2-text-large,
    .trv-banner-3-text-large,
    .trv-banner-5-text-large {
        font-size: 58px !important;
    }
}
.trv-banner-2-text-large {
    font-family: 'Poiret One', 'Cormorant Garamond', serif !important;
}
/* Hero small line + detail text — Poiret One as well. */
.trv-banner-1-wrap .trv-banner-1-text .trv-banner-1-text-small,
.trv-banner-2-wrap .trv-banner-2-text .trv-banner-2-text-small,
.trv-banner-text-detail {
    font-family: 'Poiret One', 'Cormorant Garamond', serif !important;
    font-weight: 400 !important;
}
/* Hide the flying cloud decorations in the hero. */
.trv-cloud-1,
.trv-cloud-2 {
    display: none !important;
}

/* Blog card titles — Manrope; graphite on light cards (st1/st2 + sidebar),
   st3 keeps white because its text sits on the photo overlay. */
.trv-post-title .post-title a {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 600 !important;
}
.trv-blog-st1 .trv-post-info .post-title a,
.trv-blog-st2 .trv-post-info .post-title a,
.side-bar .trv-rc-po-st1 .trv-post-info .post-title a {
    color: #2F3538 !important;
}

/* ── Footer + subscribe band — light palette ──
   Subscribe band #e9dac8, footer #f9eee0, footer bg photo removed.
   Text switched to graphite/muted so it stays readable on the light bg. */
.trv-subscribe-nl .container,
.trv-subscribe-nl.trv-full-bx {
    background-color: #e9dac8 !important;
}
.trv-subscribe-nl .trv-nl-large-text {
    color: #2F3538 !important;
    text-shadow: none !important;
    font-size: 48px !important;
    line-height: 1.15 !important;
}
@media (max-width: 991px) {
    .trv-subscribe-nl .trv-nl-large-text {
        font-size: 32px !important;
    }
}
@media (max-width: 420px) {
    .trv-subscribe-nl .trv-nl-large-text {
        font-size: 26px !important;
    }
}
.trv-subscribe-nl .trv-nl-large-text span {
    color: #E58538 !important;
}
.trv-subscribe-nl .trv-nl-title {
    color: #5F6664 !important;
}
.trv-subscribe-nl .trv-nl-section {
    background-color: #fff !important;
}
/* Subscribe submit — small text button inside the email pill. */
.ftr-nw-form .ftr-nw-subcribe-btn {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 26px !important;
    border-radius: 50px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}
.ftr-nw-form .form-control {
    padding-right: 175px !important;
}
.footer-dark {
    background-color: #f9eee0 !important;
}
.footer-dark .footer-top {
    color: #5F6664 !important;
    border-bottom-color: #e9dac8 !important;
}
.footer-dark .widget-title {
    color: #2F3538 !important;
}
.footer-dark .widget_services ul li a {
    color: #2F3538 !important;
}
.footer-dark .widget_services ul li a:hover {
    color: #E58538 !important;
}
.footer-dark .footer-bottom {
    color: #5F6664 !important;
}
.footer-dark .copyrights-nav li a,
.footer-dark .copyrights-nav li.active a {
    color: #2F3538 !important;
}
.footer-dark .copyrights-nav li:after {
    color: #5F6664 !important;
}
.footer-dark .widget_address li .trv-icon {
    background-color: rgba(229, 133, 56, 0.09) !important;
}
.footer-dark .widget_address li .trv-icon i {
    color: #E58538 !important;
}
.footer-dark .widget_address li span {
    color: #E58538 !important;
}
.footer-dark .widget_address li span.trv-contact {
    color: #FFAA0D !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    white-space: nowrap;
}
.trv-banner-text-detail {
    font-style: normal !important;
    color: #fff !important;
}

/* Main section headings — 700 */
.trv-head-title,
.trv-title-large {
    font-weight: 700 !important;
}
/* ── Typography scale per the design spec ──
   H2 section titles: 64-72px   (Cormorant Garamond 700)
   H3 card titles: 34-38px      (Cormorant Garamond 600)
   Subtitle: 24-28px            (Manrope Regular 400)
   Body: 20-22px                (Manrope Regular 400)
   Menu: 18-20px                (Manrope Medium 500)
   Button: 18-20px              (Manrope SemiBold 600)
   Caption: 16-18px             (Manrope Regular 400)
   Hero h1/h2 are intentionally untouched. */

/* Body text — Manrope Regular (400), 20px desktop on the homepage,
   18px on all inner pages and on mobile */
body {
    font-weight: 400;
    color: #38454A;
    font-size: 18px !important;
    line-height: 1.6 !important;
}
body#page-home {
    font-size: 20px !important;
}
@media (min-width: 769px) {
    body#page-home {
        font-size: 20px !important;
    }
}

/* Main body paragraphs, descriptions, card text */
.section-content p,
.trv-content p,
.trv-text,
.trv-head-discription,
.trv-section-subtitle,
.trv-subtitle,
.trv-manifesto {
    font-size: 18px !important;
    line-height: 1.6 !important;
}
body#page-home .section-content p,
body#page-home .trv-content p,
body#page-home .trv-text,
body#page-home .trv-head-discription,
body#page-home .trv-section-subtitle,
body#page-home .trv-subtitle,
body#page-home .trv-manifesto {
    font-size: 20px !important;
}
@media (max-width: 768px) {
    body#page-home .section-content p,
    body#page-home .trv-content p,
    body#page-home .trv-text,
    body#page-home .trv-head-discription,
    body#page-home .trv-section-subtitle,
    body#page-home .trv-subtitle,
    body#page-home .trv-manifesto {
        font-size: 18px !important;
    }
}

/* H2 section titles — Manrope 700, 56px desktop */
.trv-head-title,
.trv-title-large {
    font-size: 56px !important;
    font-weight: 700 !important;
}

/* Yellow accent span inside section titles — keep it smaller than the
   H2 itself so it doesn't visually overpower the rest of the heading. */
.trv-head-title .site-text-yellow,
.trv-title-large .site-text-yellow {
    font-size: 56px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}
@media (max-width: 1024px) {
    .trv-head-title .site-text-yellow,
    .trv-title-large .site-text-yellow {
        font-size: 48px !important;
    }
}
@media (max-width: 768px) {
    .trv-head-title .site-text-yellow,
    .trv-title-large .site-text-yellow {
        font-size: 40px !important;
    }
}
@media (max-width: 1024px) {
    .trv-head-title,
    .trv-title-large { font-size: 48px !important; }
}
@media (max-width: 768px) {
    .trv-head-title,
    .trv-title-large { font-size: 40px !important; }
}

/* H3 — Cormorant Garamond 600, 32px (tour card titles per design) */
h3,
.trv-tour-title .trv-title,
.trv-destination-bx1 .trv-bx-title,
.trv-trend-location-bx .trv-bx-title,
.trv-popular-tour-st1 .trv-media .trv-tour-title .trv-title {
    font-size: 32px !important;
    font-weight: 600 !important;
}
@media (max-width: 768px) {
    h3,
    .trv-tour-title .trv-title,
    .trv-destination-bx1 .trv-bx-title,
    .trv-trend-location-bx .trv-bx-title,
    .trv-popular-tour-st1 .trv-media .trv-tour-title .trv-title {
        font-size: 26px !important;
    }
}

/* H4, H5, H6 — Cormorant Garamond 600 */
h4 { font-size: 28px !important; }
h5 { font-size: 22px !important; }
h6 { font-size: 18px !important; }

/* ── Popular destinations Style 1: smaller cards & titles ──
   Destination cards are just place names (Hokkaido, Kyoto), not tour
   titles. Reduce image height (500px → 380px) and title (32px → 24px)
   so the section doesn't dominate the page. */
.trv-destination-bx1 .trv-media img {
    height: 450px !important;
}
@media (max-width: 1366px) {
    .trv-destination-bx1 .trv-media img {
        height: 360px !important;
    }
}
@media (max-width: 400px) {
    .trv-destination-bx1 .trv-media img {
        height: 320px !important;
    }
}
.trv-destination-bx1 .trv-content .trv-title {
    font-size: 24px !important;
    font-weight: 600 !important;
}
@media (max-width: 768px) {
    .trv-destination-bx1 .trv-content .trv-title {
        font-size: 20px !important;
    }
}

/* Subtitle / section description — Manrope Regular, 24-28px */
.trv-head-discription,
.trv-section-subtitle,
.trv-subtitle {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 400 !important;
    font-size: 26px !important;
    color: #44392F !important;
    line-height: 1.5 !important;
    text-align: left !important;
    max-width: 70% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}
@media (max-width: 768px) {
    .trv-head-discription,
    .trv-section-subtitle,
    .trv-subtitle {
        font-size: 22px !important;
    }
}

/* Menu — Manrope Medium, 18-20px */
.header-nav .nav > li > a,
.header-nav .nav .sub-menu li a,
.header-nav .nav li a {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 500 !important;
    font-size: 19px !important;
}

/* Buttons — Manrope SemiBold, 18-20px */
button,
.site-button,
.site-button-link,
.butn-bg-shape,
.trv-we-rec-btn a,
input[type="submit"],
input[type="button"] {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

/* Caption — Manrope Regular, 16-18px */
.trv-tour-duration,
.trv-tour-date,
.small,
small,
.trv-search-result-price,
.trv-search-result-meta {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 400 !important;
    font-size: 17px !important;
}
/* Break center-position wrappers out of the 600px centered box so
   descriptions can use the full section width (70%). Titles stay
   centered via the inherited text-align:center. */
.section-head.trv-head-title-wrap.center-position {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Centered heads: the subtitle sits centered under the title too. */
.section-head.trv-head-title-wrap.center-position .trv-head-discription,
.section-head.trv-head-title-wrap.center-position .trv-section-subtitle,
.section-head.trv-head-title-wrap.center-position .trv-subtitle {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (max-width: 991px) {
    .trv-head-discription,
    .trv-section-subtitle,
    .trv-subtitle {
        max-width: 100% !important;
    }
}
@media (max-width: 768px) {
    .trv-head-discription,
    .trv-section-subtitle,
    .trv-subtitle {
        font-size: 21px !important;
    }
}

/* ── Steps style-1 "Why Choose" block: feature typography ──
   Feature names (trv-step-bx2 .trv-title): 24px → 28px
   Feature descriptions (trv-step-bx2 p / .trv-text): 16px — plus the
   freed wrap margin gives ~615px of room, so the longest current
   description stays on one line and the pill card doesn't outgrow
   the icon ring. */
.trv-3step-section .trv-step-bx2 .trv-title {
    font-size: 28px !important;
}
.trv-3step-section .trv-step-bx2 p,
.trv-3step-section .trv-step-bx2 .trv-text {
    font-size: 16px !important;
    line-height: 1.5 !important;
}
.trv-step-bx2-wrap {
    margin-right: 0;
}
@media (max-width: 768px) {
    .trv-3step-section .trv-step-bx2 .trv-title {
        font-size: 24px !important;
    }
    .trv-3step-section .trv-step-bx2 p,
    .trv-3step-section .trv-step-bx2 .trv-text {
        font-size: 15px !important;
    }
}

/* Body paragraphs inside section content - now handled by the global
   typography scale above (20px desktop / 18px mobile). */

/**
 * Global theme overrides.
 *
 * bootstrap-select dropdowns (hero-search Location / Activity selects, and any
 * other <select> the theme upgrades via jQuery('select').selectpicker()) render
 * a Bootstrap dropdown whose selected option inherits Bootstrap's default blue
 * .active background. Recolour the open menu to the theme teal and round it,
 * matching the tour-listing sort dropdown. The toggle/field itself is already
 * styled by the hero-search CSS, so only the menu is themed here.
 */
/* When a .form-select upgrades to bootstrap-select, the wrapper keeps the
   .form-select class — so Bootstrap's native background arrow shows on top of
   bootstrap-select's own caret (double chevron). Drop the native one. */
/* Service detail — sidebar widgets (search / recent tours / destinations / categories). */
.side-bar .widget-title {
    font-size: 20px;
    color: #E58538;
    margin-bottom: 16px;
}

.side-bar .trv-sidebar-search .form-control {
    border: 1px solid #e4e9ee;
    border-radius: 30px 0 0 30px;
}

.side-bar .trv-sidebar-search .site-button {
    border-radius: 0 30px 30px 0;
    padding: 0 18px;
}

.side-bar .trv-recent-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.side-bar .trv-recent-name {
    color: #E58538;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.3;
    display: block;
}

.side-bar .trv-recent-price {
    color: #ffaa0d;
    font-weight: 600;
    font-size: 14px;
}

.side-bar .trv-tag-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.side-bar .trv-tag-list li a {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #e4e9ee;
    border-radius: 30px;
    color: #5F6664;
    font-size: 14px;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.side-bar .trv-tag-list li a:hover {
    border-color: #E58538;
    background: #FCE8D5;
    color: #E58538;
}

/* Blog detail — author bio box (post author). */
.trv-author-box {
    background: #f4fbfb;
    border: 1px solid #e4e9ee;
    border-radius: 16px;
    padding: 22px 24px;
    margin: 30px 0;
}

.trv-author-box .trv-author-avatar img {
    border-radius: 50%;
}

.trv-author-box .trv-author-label {
    font-size: 13px;
    color: #66868a;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.trv-author-box .trv-author-name {
    margin: 2px 0 6px;
    color: #E58538;
    font-size: 20px;
}

.trv-author-box .trv-author-info p {
    margin: 0;
    color: #5F6664;
    font-size: 14px;
}

.bootstrap-select.form-select {
    background-image: none;
    padding-right: 0;
}

.bootstrap-select .dropdown-menu {
    border: 1px solid #e4e9ee;
    border-radius: 12px;
    padding: 6px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .12);
}

.bootstrap-select .dropdown-menu li a.dropdown-item {
    border-radius: 8px;
    padding: 9px 14px;
    color: #5F6664;
    transition: background-color .15s ease, color .15s ease;
}

.bootstrap-select .dropdown-menu li a.dropdown-item:hover,
.bootstrap-select .dropdown-menu li a.dropdown-item:focus {
    background: #FCE8D5;
    color: #E58538;
}

/* Selected option → theme teal (was Bootstrap blue) */
.bootstrap-select .dropdown-menu li.selected a.dropdown-item,
.bootstrap-select .dropdown-menu li a.dropdown-item.active,
.bootstrap-select .dropdown-menu li a.dropdown-item.selected {
    background: #E58538 !important;
    color: #fff !important;
}

.bootstrap-select .dropdown-menu li.selected a.dropdown-item small,
.bootstrap-select .dropdown-menu li a.dropdown-item.active small {
    color: rgba(255, 255, 255, .6) !important;
}

/* bootstrap-select live-search box (when present) */
.bootstrap-select .dropdown-menu .bs-searchbox .form-control {
    border: 1px solid #e4e9ee;
    border-radius: 8px;
}

.bootstrap-select .dropdown-menu .bs-searchbox .form-control:focus {
    border-color: #E58538;
    box-shadow: 0 0 0 .15rem rgba(229, 133, 56, .15);
}

/* ── Banner-2 hero (hero-search style-2): robust height ───────────────────────
   The template hero uses a fixed height (950px) tuned for a 1–2 word title.
   CMS titles vary in length; a long title overflowed the fixed box and the
   in-flow search bar spilled into the next section. Use min-height so the hero
   grows with its content instead of overflowing. */
.trv-banner-2-wrap { height: auto; min-height: 950px; }
.trv-banner-2-wrap .trv-banner-2-overlay { height: auto; min-height: 880px; }
.trv-banner-2-wrap .trv-banner-2-content-section { height: auto; min-height: 880px; }

/* ── Header style-2 (centered-logo): pin the logo to the true horizontal centre
   (aligned with the circular badge) regardless of menu length. Menu flows on the
   left, action icons pushed right; the centred logo sits in the gap. Menu is
   width-capped so it never runs under the logo. */
.header-style-2 .main-bar { position: relative; }
.header-style-2 .main-bar .logo-header {
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%); margin: 0; order: 0;
}
.header-style-2 .main-bar .header-nav { flex: 0 0 auto; }
.header-style-2 .main-bar .header-nav .nav { flex-wrap: nowrap; }
.header-style-2 .main-bar .extra-nav { margin-left: auto; }
@media (max-width: 1399px) {
    .header-style-2 .main-bar .logo-header { position: static; transform: none; }
}

/* ── hero search: the Location/Date/Traveler label icons render oversized
   (Botble outputs explicit 36x36 width/height attrs). Constrain them across every
   hero style — all variants share the .trv-search-st1-column column markup. */
.trv-search-st1-column label i img,
.trv-search-st1-column .form-group label img {
    width: 20px;
    height: auto;
    margin-inline-end: 5px;
}

/* ── hero-search style-2: split description into 2 lines, spread vertical rhythm ──
   The description is a single long sentence; constrain its width so it wraps
   naturally after the first sentence. Increase gaps between hero elements so
   the content fills the tall banner instead of leaving empty space at the bottom. */
@media (min-width: 992px) {
    .trv-banner-2-wrap .trv-banner-2-text .trv-banner-text-detail {
        max-width: 620px;
        font-size: 26px;
        line-height: 1.5;
        margin-top: 25px;
        margin-bottom: 45px;
    }
    .trv-banner-2-wrap .trv-banner-2-text .trv-banner-2-text-large {
        margin-bottom: 30px;
    }
    .trv-banner-2-wrap .trv-banner-2-text .trv-banner-btn {
        margin-bottom: 50px;
    }
    .trv-banner-2-wrap .trv-banner-2-text .trv-banner-2-text-small {
        margin-bottom: 15px;
    }
}

/* ── Botble admin bar offset ──────────────────────────────────────────────────
   When an admin is logged in, Botble shows a 40px fixed bar at the top and adds
   body.show-admin-bar. The theme's overlay (absolute) and sticky (fixed) headers
   sit relative to the viewport, so they hide under the admin bar. Push them down
   by the 40px admin-bar height. */
body.show-admin-bar .site-header.is-fixed,
body.show-admin-bar .site-header.is-fixed .main-bar {
    top: 40px !important;
}
@media (min-width: 992px) {
    body.show-admin-bar .site-header.header-style-1:not(.is-fixed),
    body.show-admin-bar .site-header.header-style-2:not(.is-fixed) {
        top: 35px;
    }
}

/* ── Comment form (fob-comment) — match theme primary color ───────────── */
.fob-comment-form-section .btn-primary,
.fob-comment-form-section button[type="submit"] {
    background-color: var(--primary-color, #E58538);
    border-color: var(--primary-color, #E58538);
}
.fob-comment-form-section .btn-primary:hover,
.fob-comment-form-section .btn-primary:focus,
.fob-comment-form-section .btn-primary:active,
.fob-comment-form-section button[type="submit"]:hover {
    background-color: var(--primary-color-hover, #C76F2E);
    border-color: var(--primary-color-hover, #C76F2E);
}
.fob-comment-form-section .form-control:focus,
.fob-comment-list-section .form-control:focus {
    border-color: var(--primary-color, #E58538);
    box-shadow: 0 0 0 .15rem rgba(229, 133, 56, .15);
}

/* ── Gallery detail comment area — themed inputs, constrained width ───── */
.trv-gallery-comments {
    max-width: 920px;
    margin: 40px auto 0;
    padding-top: 40px;
    border-top: 1px solid #eef0f2;
}
.fob-comment-form-section .form-control {
    border: 1px solid #e2e6ea;
    border-radius: 10px;
    background-color: #fff;
    padding: 12px 16px;
}
.fob-comment-form-section textarea.form-control {
    min-height: 130px;
}
.fob-comment-form-section label,
.fob-comment-form-section .form-label {
    font-weight: 600;
    margin-bottom: 6px;
}
.fob-comment-form-section .fob-comment-form-note {
    margin-bottom: 24px;
}
.fob-comment-form-section .btn-primary {
    border-radius: 10px;
    padding: 12px 30px;
    font-weight: 600;
}

/* ── a11y target-size: expand carousel pagination dot tap area (no visual change) ── */
.swiper-pagination-bullet {
    position: relative;
}
.swiper-pagination-bullet::before {
    content: "";
    position: absolute;
    inset: -12px;
}

/* ── Achievement counters: shrink stat labels so each stays on one line ── */
.trv-achivment-section .trv-icon-title {
    font-size: 18px;
    line-height: 26px;
    white-space: nowrap;
}

/* ===== Live AJAX tour search dropdown (header search modal) ===== */
.trv-search-modal #searchform {
    position: relative;
}

.trv-search-results {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin-top: 12px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
    max-height: 60vh;
    overflow-y: auto;
    z-index: 5;
    text-align: left;
}

.trv-search-results.open {
    display: block;
}

.trv-search-results.is-loading::after {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--bs-primary, #C76F2E), transparent);
    animation: trv-search-loading 1s linear infinite;
}

@keyframes trv-search-loading {
    0% { background-position: -200px 0; }
    100% { background-position: 200px 0; }
}

.trv-search-result-list {
    list-style: none;
    margin: 0;
    padding: 8px;
}

.trv-search-result-item a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 12px;
    color: inherit;
    text-decoration: none;
    transition: background 0.2s ease;
}

.trv-search-result-item a:hover {
    background: #f2f6f6;
}

.trv-search-result-media,
.trv-search-result-media img {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}

.trv-search-result-media img {
    object-fit: cover;
    border-radius: 10px;
}

.trv-search-result-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.trv-search-result-name {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    color: #1f2d2e;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.trv-search-result-price {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--bs-primary, #C76F2E);
    opacity: 0.9;
}

.trv-search-result-all {
    display: block;
    text-align: center;
    padding: 12px;
    font-size: 14px;
    font-weight: 600;
    border-top: 1px solid #eee;
    color: var(--bs-primary, #C76F2E);
    text-decoration: none;
}

.trv-search-result-all:hover {
    background: #f2f6f6;
}

.trv-search-result-empty {
    padding: 22px;
    text-align: center;
    font-size: 15px;
    opacity: 0.7;
}

/* ── hero-search background video (styles 2 & 3) ───────────────────────────
   The .trv-vid-full class is scoped to .trv-banner-1-wrap in style.scss, so
   banner-2 and banner-3 need the same absolute-fill positioning here for the
   shared background-video partial to render correctly. */
.trv-banner-2-wrap .trv-vid-full,
.trv-banner-3-wrap .trv-vid-full {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    z-index: 0;
}

/* ── hero-search style-2: two-button row ───────────────────────────────────
   The original template only had one .trv-banner-btn. When a secondary button
   is present, wrap both in a flex container so they sit side by side. */
.trv-banner-2-wrap .trv-banner-btn-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 40px;
    padding-left: 50px;
    position: relative;
    z-index: 4;
}
.trv-banner-2-wrap .trv-banner-btn-wrap .trv-banner-btn {
    margin-bottom: 0;
    padding-left: 0;
}
@media (max-width: 991px) {
    .trv-banner-2-wrap .trv-banner-btn-wrap {
        padding-left: 0;
    }
}

/* ── popular-tours style-1 card: tour title on the media overlay ── */
.trv-popular-tour-st1 .trv-media .trv-tour-title .trv-title {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
}
@media (max-width: 1199px) {
    .trv-popular-tour-st1 .trv-media .trv-tour-title .trv-title {
        font-size: 26px;
    }
}

/* ── popular-tours style-1 card: center the Book Now button ── */
.trv-popular-tour-st1 .trv-content .trv-content-bottom-section {
    justify-content: center;
}

/* ── popular-tours style-1 card: slightly tone down over-saturated AI images ── */
.trv-popular-tour-st1 .trv-media a img {
    filter: saturate(0.88) brightness(0.97);
    transition: filter .4s ease;
}
.trv-popular-tour-st1 .trv-media a:hover img {
    filter: saturate(1) brightness(1);
}

/* ── popular-destinations style-1: same tone-down for destination images ── */
.trv-destination-bx1 .trv-media img {
    filter: saturate(0.88) brightness(0.97);
    transition: filter .4s ease;
}
.trv-destination-bx1:hover .trv-media img {
    filter: saturate(1) brightness(1);
}

.trv-popular-tour-st1 .trv-content .trv-content-head-section .trv-tour-info {
    font-size: 17px !important;
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    color: #2F3538 !important;
}
.trv-popular-tour-st1 .trv-content .trv-content-head-section .trv-tour-info a {
    color: #2F3538 !important;
}

/* ── Tour card price: dark graphite, slightly bigger ──
   Manrope SemiBold at 26px (was 22px) so the price reads as supporting info,
   not as a competing heading. Original style.css had 28px Cormorant. */
.trv-popular-tour-st1 .trv-content .trv-content-head-section .trv-tour-price .price,
.trv-popular-tour-st2 .trv-content .trv-content-head-section .trv-tour-price .price,
.trv-popular-tour-st3 .trv-content .trv-tour-price .price,
.trv-popular-tour-list-style1 .trv-content .trv-content-head-section .trv-tour-price .price,
.trv-popular-tour-pakagenew .trv-star-amount2 {
    font-family: 'Manrope', sans-serif !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #2F3538 !important;
}
.trv-popular-tour-st1 .trv-content .trv-content-head-section .trv-tour-price .price-duration,
.trv-popular-tour-st2 .trv-content .trv-content-head-section .trv-tour-price .price-duration,
.trv-popular-tour-st3 .trv-content .trv-tour-price .price-duration,
.trv-popular-tour-list-style1 .trv-content .trv-content-head-section .trv-tour-price .price-duration {
    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #2F3538 !important;
}

/* Tour departure date sits directly below the card title in one line. */
.trv-popular-tour-st1 .trv-tour-title .trv-tour-date {
    display: block !important;
    position: relative;
    z-index: 2;
    margin-top: 4px;
    color: #fff !important;
    font-family: 'Manrope', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
@media (max-width: 1199px) {
    .trv-popular-tour-st1 .trv-tour-title .trv-tour-date {
        font-size: 15px;
    }
}

/* ── popular-tours style-1 card: Book Now button — solid orange, white text ──
   The .site-button.outline uses transparent bg + orange text + orange border,
   which blends after recoloring. Make it solid for readability on the card. */
.trv-popular-tour-st1 .trv-book .site-button.outline {
    background-color: #E58538;
    color: #fff;
    border-color: #E58538;
    font-size: 16px;
    font-weight: 600;
    padding: 10px 30px;
}
.trv-popular-tour-st1 .trv-book .site-button.outline:hover {
    background-color: #C76F2E;
    border-color: #C76F2E;
    color: #fff;
}

/* ── hero-search style-2: both buttons solid orange with white text ──
   Primary .site-button has black text on orange; secondary .white-bg has
   orange text on white. Unify both to orange bg + white text. */
.trv-banner-2-wrap .trv-banner-btn .site-button,
.trv-banner-2-wrap .trv-banner-btn .site-button.white-bg {
    background-color: #E58538;
    color: #fff;
    border: 2px solid #E58538;
}
.trv-banner-2-wrap .trv-banner-btn .site-button:hover,
.trv-banner-2-wrap .trv-banner-btn .site-button.white-bg:hover {
    background-color: #C76F2E;
    border-color: #C76F2E;
    color: #fff;
}

/* ── popular-destinations: shrink hot-air balloons to fit within section ──
   New balloon images are 441x566 (much larger than originals). Botble adds
   inline width/height attrs on the <img>, so we must target the img directly
   with !important to override. */
.tvr-hot-ballon-wrap .left-hot-ballon {
    left: 10px !important;
    width: 130px !important;
}
.tvr-hot-ballon-wrap .left-hot-ballon img {
    width: 130px !important;
    height: auto !important;
}
.tvr-hot-ballon-wrap .right-hot-ballon {
    right: -30px;
}
.tvr-hot-ballon-wrap .right-hot-ballon img {
    width: 70px !important;
    height: auto !important;
}
@media (max-width: 767px) {
    .tvr-hot-ballon-wrap .left-hot-ballon {
        left: 5px !important;
        width: 70px !important;
    }
    .tvr-hot-ballon-wrap .left-hot-ballon img {
        width: 70px !important;
    }
    .tvr-hot-ballon-wrap .right-hot-ballon img {
        width: 50px !important;
    }
}
   New image is much larger than the original; Botble adds inline width/height
   attrs, so use !important. The image should slightly overlap the circle. */
.trv-we-rec-media-main-wrap .trv-we-rec-media-main {
    width: 400px !important;
}
.trv-we-rec-media-main-wrap .trv-we-rec-media-main img {
    width: 400px !important;
    max-width: 400px !important;
    height: auto !important;
}
@media (max-width: 1199px) {
    .trv-we-rec-media-main-wrap .trv-we-rec-media-main img {
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* ── steps style-1: replace number squares with icons on the left ──
   The .trv-num square was removed from the markup; the .trv-icon-back
   circle (was on the right) is now first child. Position it absolutely
   on the left like the old number square. */
.trv-step-bx2 .trv-tp-part {
    justify-content: flex-start;
}
.trv-step-bx2 {
    padding-left: 70px;
}
.trv-step-bx2 .trv-icon-back {
    position: absolute;
    left: -50px;
    top: 50%;
    transform: translateY(-50%);
    margin-right: 0;
}
.trv-step-bx2 .trv-tp-part .trv-icon-back .trv-icon-front img {
    filter: none !important;
}
@media (max-width: 400px) {
    .trv-step-bx2 .trv-icon-back {
        position: inherit;
        transform: none;
        margin: 0 auto 20px;
    }
}

/* Footer above the fixed homepage layer. Japanese landscape bg kept but
   veiled under ~90% cream (#f9eee0) so it reads as a faint haze. */
.site-footer.footer-dark {
    position: relative;
    z-index: 3;
    background-color: #f9eee0 !important;
    background-image: linear-gradient(rgba(249, 238, 224, 0.9), rgba(249, 238, 224, 0.9)), url('../images/background/ftr-dark-bg.png') !important;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* ── instagram-gallery shortcode: standalone "Follow Instagram" block ──
   Was inside the dark footer; now a standalone section with light background. */
.trv-instagram-section {
    padding: 80px 0;
    background-color: #FFF5EB;
}
.trv-instagram-section .footer-follow-instagram {
    display: flex;
    align-items: center;
    padding: 0;
}
.trv-instagram-section .footer-follow-instagram .widget-title {
    white-space: nowrap;
    margin-right: 50px;
    margin-bottom: 0;
    color: #443935;
    font-size: 28px;
    font-weight: 700;
}
/* Page content is wrapped in .ck-content; its bundled stylesheet sets
   .ck-content ul { list-style-type: disc } at (0,1,1), beating the plain
   .trv-ftr-insta-gall rule and painting bullet markers between the tiles.
   Classed lists inside page-builder output are component markup, not article
   text — suppress markers for all of them. */
.ck-content ul[class],
.ck-content ol[class] {
    list-style: none;
}
@media (max-width: 1199px) {
    .trv-instagram-section {
        padding: 60px 0;
    }
    .trv-instagram-section .footer-follow-instagram {
        display: block;
        text-align: center;
    }
    .trv-instagram-section .footer-follow-instagram .widget-title {
        margin-right: 0;
        margin-bottom: 30px;
    }
}

/* ── Optional background image as a subtle decorative underlay.
   Shared by popular-tours, popular-destinations, steps, why-choose, team-members.
   The image is barely visible — a semi-transparent cream tint (the section
   background colour #FFF5EB) sits on top so the image only gently textures the
   section, never dominates it. Vertical fade masks soften the top/bottom edges
   so the transition between adjacent sections looks natural. */
.trv-section--has-bg {
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.trv-section--has-bg .trv-section__overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 245, 235, 0.8);
    pointer-events: none;
    z-index: 0;
}
.trv-section--has-bg > .container,
.trv-section--has-bg > .container-fluid {
    position: relative;
    z-index: 1;
}
/* Keep absolutely-positioned decorations (shadows) above the overlay */
.trv-section--has-bg > .trv-yl-shedow-left,
.trv-section--has-bg > .trv-yl-shedow-right,
.trv-section--has-bg > .trv-bl-shedow-top {
    z-index: 1;
}
/* popular-tours base has margin: 0 60px — stretch to full width when a bg is set */
.trv-popular-tours--has-bg {
    margin: 0;
}

.trv-3step-section .trv-3step-section-row {
    margin-bottom: 0 !important;
}

.section-head.trv-head-title-wrap {
    margin-bottom: 0 !important;
}
.trv-we-recommend-content {
    margin-bottom: 40px !important;
}
/* Why-choose manifesto — poetic text block. */
.trv-manifesto {
    font-family: 'Manrope', sans-serif;
    font-size: 20px;
    line-height: 1.6;
    color: #38454A;
    margin: 30px 0;
    padding-left: 16px;
    border-left: 3px solid #e58538;
}
/* Why-choose accent items — elegant rows with gold dot markers. */
.trv-accent-items {
    margin: 30px 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.trv-accent-item {
    font-family: 'Manrope', sans-serif;
    font-size: 17px;
    font-weight: 400;
    color: #2F3538;
    padding: 14px 20px;
    line-height: 1.4;
    background-color: rgba(255, 245, 235, 0.6);
    border-left: 3px solid #e58538;
    border-radius: 0 12px 12px 0;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all 0.3s ease;
}
.trv-accent-item:hover {
    background-color: rgba(229, 133, 56, 0.12);
    transform: translateX(4px);
}
.trv-accent-item::before {
    content: '';
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e58538, #f5b07a);
    box-shadow: 0 2px 6px rgba(229, 133, 56, 0.4);
}
/* Steps icons — theme primary gold. */
.trv-3step-section .trv-step-bx2 .trv-icon-back {
    background-color: #e58538 !important;
}

/* Popular tours: full-width carousel with gaps. Cards keep 15px side
   margins for spacing, and the swiper row uses negative margins so the
   first and last cards still touch the container edges. */
.trv-popular-tours-row {
    margin-left: -15px !important;
    margin-right: -15px !important;
}
.trv-tours-st1-carousal .trv-popular-tour-st1 {
    margin-left: 15px !important;
    margin-right: 15px !important;
}
/* Steps heading uses the full left column width.
   The steps description lives inside col-xl-7 (≈58% of page), so the
   global 70% cap would make it ~40% of page. Let it fill the column. */
.trv-3step-section .trv-3step-section-left .trv-head-title-wrap {
    max-width: none !important;
}
.trv-3step-section .trv-3step-section-left .trv-head-discription {
    max-width: 100% !important;
}
/* Spacing between the full-width steps heading and the steps row. */
.trv-3step-section .trv-3step-section-row {
    margin-top: 40px !important;
}
/* Why-choose feature image — drop the soft shadow. */
.trv-we-rec-feature-img,
.trv-we-rec-feature-img img {
    box-shadow: none !important;
}

/* ── Steps style-1: image fades smoothly without being clipped ── */
.trv-3step-section {
    overflow: visible !important;
}
.trv-3step-section-row > .row {
    align-items: stretch;
}
.trv-3step-section-row > .row > .col-xl-5 {
    position: relative;
}
.trv-for-summer-section {
    height: 100%;
    padding-top: 0;
    overflow: visible;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.trv-for-summer-section .media-girl {
    display: block;
    width: 112%;
    height: auto;
    max-width: none;
    max-height: none;
    margin: 0 auto;
    transform-origin: center bottom;
    -webkit-mask-image: radial-gradient(ellipse 46% 46% at center, #000 85%, transparent 100%);
    mask-image: radial-gradient(ellipse 46% 46% at center, #000 85%, transparent 100%);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
@media (max-width: 1199px) {
    .trv-for-summer-section {
        height: auto;
    }
    .trv-for-summer-section .media-girl {
        width: 100%;
        max-width: 100%;
    }
}

/* ── Why-choose style-1: feature image (no circle) ── */
.trv-we-rec-media-main-wrap .trv-we-rec-feature-img {
    margin-top: 12px;
    max-width: 600px;
    width: 100%;
}
.trv-we-rec-media-main-wrap .trv-we-rec-feature-img img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1199px) {
    .trv-we-rec-media-main-wrap .trv-we-rec-feature-img {
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ── Compact vertical spacing between homepage sections ── */
.trv-popular-tours {
    margin-top: 20px;
}
.trv-popular-tours,
.trv-popular-destination,
.trv-3step-section,
.trv-we-recommend,
.trv-our-team-wrap,
.trv-testimo-bx-wrap,
.trv-testimonial-st1-wrap,
.trv-testimonial-st2-wrap,
.trv-blog-all-style,
.trv-blog-style2-section,
.trv-blog-style3-section,
.trv-instagram-section,
.trv-tour-category-section {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}
.trv-popular-tours {
    padding-top: 40px !important;
}
.trv-our-team-wrap {
    padding-top: 60px !important;
}

/* ── CKEditor content-styles.css leak fix ──
   ckeditor/content-styles.css is enqueued on public pages for .ck-content
   (page-builder output). Its rule '.ck-content .media' (margin: 0.9em 0,
   clear: both, min-width: 15em) is meant for <figure class="media"> embeds
   but also hits every theme <div class="media"> (team cards, testimonials,
   steps, hero-search) — pushing images down ~18px and breaking flex layouts.
   Neutralize it for div.media only, then restore intended vertical margins. */
.ck-content div.media {
    margin-top: 0;
    margin-bottom: 0;
    clear: none;
    min-width: 0;
}
.ck-content .trv-guide-bx1 .media { margin-bottom: 20px; }
.ck-content .trv-testimo-bx1 .media { margin-bottom: 30px; }
.ck-content .trv-whychoose .w-choo-right .media { margin-bottom: 10px; }
.ck-content .trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .duration .media { margin-bottom: 5px; }
@media (max-width: 767px) {
    .ck-content .trv-testimo-bx2 .media,
    .ck-content .trv-testimo-stories-bx .media {
        margin-bottom: 30px;
    }
}

/* ── Testimonial text wrapper ──
   Content may itself contain <p> tags, so it is rendered inside
   div.testimonial-text instead of <p> (valid nesting). Mirrors the
   original .info p typography so plain-text items look unchanged. */
.trv-testimo-bx1 .info .testimonial-text,
.trv-testimo-bx2 .info .testimonial-text,
.trv-testimo-stories-bx .info .testimonial-text {
    font-family: "Cormorant Garamond", serif;
    font-size: 24px;
    color: #5F6664;
}
.trv-testimo-bx2 .info .testimonial-text,
.trv-testimo-stories-bx .info .testimonial-text {
    margin-bottom: 20px;
}
@media (max-width: 991px) {
    .trv-testimo-bx1 .info .testimonial-text,
    .trv-testimo-bx2 .info .testimonial-text,
    .trv-testimo-stories-bx .info .testimonial-text {
        font-size: 18px;
    }
}
@media (max-width: 767px) {
    .trv-testimo-bx1 .info .testimonial-text { text-align: center; }
}
@media (max-width: 480px) {
    .trv-testimo-bx2 .info .testimonial-text,
    .trv-testimo-stories-bx .info .testimonial-text { text-align: center; }
}

/* ── Testimonial Style 2: cleaner media block ──
   Remove the decorative circles behind the photo (look cluttered with
   real photos) and tighten the gaps between image / thumbs / text. */
.trv-testimo-bx2 .media:before,
.trv-testimo-bx2 .media:after,
.trv-testimo-stories-bx .media:before,
.trv-testimo-stories-bx .media:after {
    display: none;
}
@media (min-width: 1200px) {
    .trv-testimonial-st2 {
        max-width: 1150px;
        margin-left: auto;
        margin-right: auto;
    }
    .trv-testimo-bx2 .media,
    .trv-testimo-stories-bx .media {
        margin-right: 60px;
    }
    .testimonial-thum-sld {
        left: 460px;
    }
}
@media (max-width: 1199px) {
    .trv-testimo-bx2 .media,
    .trv-testimo-stories-bx .media {
        margin-right: 30px;
    }
}


/* ── Testimonial Style-1: luxury glass card content ──
   Stars at top, name + tour, big lead quote (first sentences of the
   review), short clamped excerpt, 'Читати повністю' button. */
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info .rating {
    float: none;
    margin-bottom: 16px;
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info .rating i {
    color: #E58538;
    font-size: 18px;
    margin-right: 4px;
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info .trv-testimo-head {
    margin-bottom: 20px;
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info .trv-testimo-head .left-part .trv-testimonial-name {
    font-family: 'Manrope', sans-serif;
    font-size: 30px;
    font-weight: 700;
    color: #2F3538;
    line-height: 1.25;
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info .trv-testimo-head .left-part .trv-testimonial-position {
    font-family: 'Manrope', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: #E58538;
    display: inline-block;
    margin-top: 4px;
}
.trv-testimonial-st2-wrap .trv-testimonial-quote {
    font-family: 'Poiret One', 'Manrope', sans-serif;
    font-size: 24px;
    line-height: 1.4;
    color: #2F3538;
    margin: 0 0 18px;
}
.trv-testimonial-st2-wrap .trv-testimonial-excerpt {
    font-family: 'Manrope', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.7;
    color: rgba(47, 53, 56, 0.82);
    display: -webkit-box;
    -webkit-line-clamp: 9;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 26px;
}
.trv-testimonial-st2-wrap .trv-testimonial-more {
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 13px 32px;
    color: #fff;
}
.trv-testimonial-st2-wrap .trv-testimonial-more:hover {
    color: #fff;
    opacity: 0.92;
}
/* Hide the thumbnail strip — clean single-photo composition */
.trv-testimonial-st2-wrap .testimonial-thum-sld {
    display: none;
}
@media (max-width: 991px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .info .trv-testimo-head .left-part .trv-testimonial-name {
        font-size: 26px;
    }
    .trv-testimonial-st2-wrap .trv-testimonial-quote {
        font-size: 21px;
    }
}
@media (max-width: 767px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .info .rating {
        text-align: center;
    }
    .trv-testimonial-st2-wrap .trv-testimonial-quote {
        font-size: 19px;
        text-align: center;
    }
    .trv-testimonial-st2-wrap .trv-testimonial-excerpt {
        font-size: 15px !important;
        -webkit-line-clamp: 8;
        text-align: center;
    }
    .trv-testimonial-st2-wrap .trv-testimonial-more {
        display: flex;
        width: fit-content;
        margin: 0 auto;
    }
}

/* Fill the dead gap between photo and text column */
.trv-testimonial-st2-wrap .trv-testimo-bx2 .info {
    margin-left: 0;
}
@media (min-width: 1200px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .media {
        max-width: 330px;
        margin-right: 48px;
    }
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .info {
        max-width: 560px;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .info {
        max-width: 460px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .info {
        max-width: 440px;
        margin-left: auto;
    }
}

/* ── Tour detail hero — tour photo with breadcrumbs, dates, title, chips ── */
.trv-tour-hero {
    position: relative;
    min-height: 540px;
    background-size: cover;
    background-position: center;
    display: flex;
}
.trv-tour-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12, 18, 28, 0.42) 0%, rgba(12, 18, 28, 0.12) 45%, rgba(12, 18, 28, 0.58) 100%);
}
.trv-tour-hero-container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.trv-tour-hero-crumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 180px 0 10px;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    font-weight: 500;
}
.trv-tour-hero-crumbs li a {
    color: rgba(255, 255, 255, 0.92);
}
.trv-tour-hero-crumbs li a:hover {
    color: #FFAA0D;
}
.trv-tour-hero-crumbs li.active {
    color: #FFAA0D;
    font-weight: 600;
}
.trv-tour-hero-crumbs li + li:before {
    content: '·';
    margin-right: 8px;
    color: rgba(255, 255, 255, 0.55);
}
.trv-tour-hero-inner {
    margin-top: auto;
    padding-bottom: 70px;
    max-width: 780px;
}
.trv-tour-hero-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FFAA0D;
    color: #2F3538;
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    font-weight: 700;
    padding: 9px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.trv-tour-hero-title {
    font-family: 'Manrope', sans-serif;
    font-size: 52px;
    font-weight: 800;
    line-height: 1.15;
    color: #fff !important;
    margin: 0 0 14px;
    text-transform: none;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
.trv-tour-hero-sub {
    font-family: 'Manrope', sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 28px;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
}
.trv-tour-hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.trv-tour-hero-features li {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}
.trv-tour-hero-features li i,
.trv-tour-hero-features li svg {
    color: #FFAA0D;
    font-size: 20px;
    width: 20px;
    height: 20px;
}
@media (max-width: 991px) {
    .trv-tour-hero {
        min-height: 460px;
    }
    .trv-tour-hero-title {
        font-size: 40px;
    }
    .trv-tour-hero-sub {
        font-size: 17px;
    }
    .trv-tour-hero-inner {
        padding-bottom: 50px;
    }
}
@media (max-width: 767px) {
    .trv-tour-hero {
        min-height: 420px;
    }
    .trv-tour-hero-title {
        font-size: 30px;
    }
    .trv-tour-hero-date {
        font-size: 13px;
        padding: 7px 14px;
    }
    .trv-tour-hero-features li {
        font-size: 14px;
    }
}

/* ── Tour detail cards — same frosted Japanese-paper glass as testimonials ── */
.tour-detail-page .side-bar-filter,
.tour-detail-page .trv-detail-bx-wrap {
    background: rgba(243, 232, 216, 0.78) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    backdrop-filter: blur(14px) saturate(1.1);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 30px;
    box-shadow: 0 30px 70px rgba(47, 40, 32, 0.18);
}
.tour-detail-page .trv-right-tp-part {
    border-bottom-color: rgba(47, 53, 56, 0.14);
}

/* ── Review photo gallery (imported reviews) ── */
.trv-review-photos {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}
.trv-review-photos a {
    display: block;
    width: 96px;
    height: 96px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(47, 40, 32, 0.15);
}
.trv-review-photos img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.trv-review-photos a:hover img {
    transform: scale(1.08);
}

/* ── Review author: initials avatar (fallback when no photo uploaded) ── */
.trv-avatar-initials {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    user-select: none;
}

/* ── Itinerary: body text in normal dark color (theme painted it orange) ── */
.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info p {
    color: #5F6664;
    font-family: 'Manrope', sans-serif;
}
.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info p strong {
    color: #443935;
}

/* ── Itinerary day photo: small left, text flows beside it ── */
.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info > div::after {
    content: '';
    display: block;
    clear: both;
}
.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info > div > p:first-child:has(> img) {
    float: left;
    width: 200px;
    margin: 4px 22px 8px 0;
}
.trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info > div > p:first-child:has(> img) img {
    display: block;
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(47, 40, 32, 0.14);
}
@media (max-width: 640px) {
    .trv-clist-st-3-wrap .trv-list-st-3 li .trv-list-content .info > div > p:first-child:has(> img) {
        float: none;
        width: 100%;
        margin: 0 0 14px;
    }
}

/* ── Team member cards: bigger photos, equal height, smaller names ── */
.trv-our-team-wrap .row > [class*='col-'] {
    display: flex;
}
.trv-our-team-wrap .trv-guide-bx1 {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.trv-our-team-wrap .trv-guide-bx1 .media {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
}
.trv-our-team-wrap .trv-guide-bx1 .media a {
    flex: 1;
    display: flex;
}
.trv-our-team-wrap .trv-guide-bx1 .media img,
.trv-our-team-wrap .trv-guide-bx1 .media a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.trv-our-team-wrap .trv-guide-bx1 .trv-guide-name {
    font-size: 25px !important;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .trv-our-team-wrap .trv-guide-bx1 .trv-guide-name {
        font-size: 20px !important;
        white-space: nowrap;
    }
}

/* ── Testimonial card: photo stretches to the text column height ── */
.trv-testimonial-st2-wrap .trv-testimo-bx2 {
    align-items: stretch;
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .media {
    flex: 0 0 330px;
    min-height: 330px;
}
@media (max-width: 1199px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .media {
        flex-basis: 290px;
    }
}
@media (max-width: 991px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .media {
        flex-basis: 230px;
    }
}
.trv-testimonial-st2-wrap .trv-testimo-bx2 .media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
@media (max-width: 991px) {
    .trv-testimonial-st2-wrap .trv-testimo-bx2 .media {
        min-height: 300px;
    }
}

/* ── Testimonial card: drop the big PNG glyph; the quote text itself
   carries matching outline quote marks (same image, same teal tint) ── */
.trv-testimonial-st2-wrap .trv-testimonial-quote::before,
.trv-testimonial-st2-wrap .trv-testimonial-quote::after {
    content: '';
    display: inline-block;
    width: 26px;
    height: 21px;
    background: url('../images/trv-icon/Quote.png') no-repeat center / contain;
    filter: brightness(0) saturate(100%) invert(25%) sepia(21%) saturate(4469%) hue-rotate(154deg) brightness(93%) contrast(95%);
    vertical-align: -3px;
}
.trv-testimonial-st2-wrap .trv-testimonial-quote::before {
    margin-right: 9px;
}
.trv-testimonial-st2-wrap .trv-testimonial-quote::after {
    margin-left: 9px;
    transform: rotate(180deg);
    vertical-align: 0;
}
@media (max-width: 767px) {
    .trv-testimonial-st2-wrap .trv-testimonial-quote::before,
    .trv-testimonial-st2-wrap .trv-testimonial-quote::after {
        width: 20px;
        height: 16px;
    }
}

/* ── Tour card price: keep amount + currency on one line ─────────
   The price cell was a fixed 90px, so at 26px Manrope the € sign
   wrapped to a second line. Let the cell size to its content and
   make the price atomic. */
.trv-popular-tour-st1 .trv-content .trv-content-head-section .trv-tour-price .price,
.trv-popular-tour-st2 .trv-content .trv-content-head-section .trv-tour-price .price,
.trv-popular-tour-st3 .trv-content .trv-tour-price .price,
.trv-popular-tour-list-style1 .trv-content .trv-content-head-section .trv-tour-price .price,
.trv-popular-tour-pakagenew .trv-star-amount2 {
    white-space: nowrap;
}
@media (min-width: 1200px) {
    .trv-popular-tour-st1 .trv-content .trv-content-head-section .trv-tour-price {
        width: auto;
        flex: 0 0 auto;
    }
    .trv-popular-tour-st1 .trv-content .trv-content-head-section .trv-tour-info {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
}
.trv-popular-tour-st2 .trv-content .trv-content-head-section .trv-tour-price,
.trv-popular-tour-list-style1 .trv-content .trv-content-head-section .trv-tour-price {
    width: auto;
    flex: 0 0 auto;
}
.trv-popular-tour-st2 .trv-content .trv-content-head-section .trv-tour-info,
.trv-popular-tour-list-style1 .trv-content .trv-content-head-section .trv-tour-info {
    min-width: 0;
}
.trv-popular-tour-st1 .trv-content .trv-content-head-section,
.trv-popular-tour-st2 .trv-content .trv-content-head-section,
.trv-popular-tour-list-style1 .trv-content .trv-content-head-section {
    column-gap: 15px;
}
.trv-popular-tour-st2 .trv-content .trv-content-head-section .trv-tour-info,
.trv-popular-tour-list-style1 .trv-content .trv-content-head-section .trv-tour-info {
    flex: 1 1 auto;
}

/* Make the whole tour-category card clickable (image link) */
.trv-cat-img-link { display: block; }

/* Small gap between the section description and the category carousel */
.trv-tour-category-section > #module {
    margin-top: 40px;
}

/* Team detail page: gallery grid (converted from fotorama markup) */
.trv-guide-dtl-right-part .content-detail img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}
.trv-guide-dtl-right-part .g-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
    margin: 20px 0;
}
.trv-guide-dtl-right-part .g-gallery .fotorama {
    display: contents;
}
.trv-guide-dtl-right-part .g-gallery a {
    display: block;
    overflow: hidden;
    border-radius: 12px;
}
.trv-guide-dtl-right-part .g-gallery a img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.trv-guide-dtl-right-part .g-gallery a:hover img {
    transform: scale(1.05);
}
