/* ==========================================================================
   Lois Bhutan Tours and Treks - brand theme
   Loaded after main.css; overrides the old navy/orange look with a
   Himalayan pine green, monastery saffron and maroon palette on warm cream.
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&family=Marcellus&display=swap");

:root {
    --lois-pine: #1e4636;
    --lois-pine-dark: #112a20;
    --lois-pine-soft: #e6eee8;
    --lois-saffron: #d8962b;
    --lois-saffron-dark: #b3761a;
    --lois-maroon: #8c2b30;
    --lois-cream: #faf6ee;
    --lois-sand: #f1e8d6;
    --lois-ink: #1c2a23;
    --lois-muted: #5d6b63;
    --lois-radius: 18px;
    --lois-shadow: 0 10px 30px -12px rgba(17, 42, 32, .25);

    /* remap the template's variables */
    --bodyfont: Jost, sans-serif;
    --bodyfont1: Jost, sans-serif;
    --headingfont: Marcellus, serif;
    --tg-heading-font-family: Marcellus, serif;
    --tg-common-black: var(--lois-ink);
    --tg-common-yellow: var(--lois-saffron);
    --tg-grey-1: #3d4a43;
    --tg-grey-5: var(--lois-cream);
    --tg-grey-7: var(--lois-sand);
    --tg-grey-8: var(--lois-cream);
    --main-color: var(--lois-pine);
    --main-color2: var(--lois-saffron-dark);
    --main-color3: var(--lois-maroon);
}

/* ---------- Base typography ---------- */
body { font-family: var(--bodyfont); font-weight: 400; color: #3d4a43; background: #fff; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { font-family: var(--headingfont); font-weight: 400; letter-spacing: .01em; color: var(--lois-ink); }
.color1 { color: var(--lois-pine) !important; }
.color2 { color: var(--lois-saffron-dark) !important; }
a:hover, button:hover { color: var(--lois-saffron-dark); }
::selection { background: var(--lois-saffron); color: #fff; }

/* Section eyebrow labels: replace the handwritten script with a clean tracked label */
.tg-section-subtitle,
.tg-section-su-subtitle,
.tg-counter-subtitle,
.tg-banner-subtitle {
    font-family: var(--bodyfont) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    letter-spacing: .22em;
    text-transform: uppercase !important;
    color: var(--lois-saffron-dark) !important;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.tg-section-subtitle::before,
.tg-section-subtitle::after {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
    opacity: .7;
}

/* ---------- Buttons ---------- */
.tg-btn {
    background: var(--lois-pine);
    color: #fff;
    border-radius: 50px;
    font-weight: 600;
    letter-spacing: .06em;
    padding: 13px 30px;
    box-shadow: 0 8px 20px -10px rgba(30, 70, 54, .7);
}
.tg-btn:hover { background: var(--lois-pine-dark); color: #fff; }
.tg-btn-transparent {
    background: var(--lois-saffron);
    color: var(--lois-pine-dark);
    box-shadow: 0 8px 20px -10px rgba(216, 150, 43, .8);
}
.tg-btn-transparent:hover { background: var(--lois-saffron-dark); color: #fff; }
.tg-btn-transparent svg path { stroke: currentColor; }
.tg-btn-gray, .tg-btn-su-transparent { background: var(--lois-sand); color: var(--lois-pine); }
.tg-btn-gray1 { background: var(--lois-saffron); color: var(--lois-pine-dark); box-shadow: none; }
.tg-btn-gray1:hover { background: var(--lois-pine); color: #fff; }
.tg-btn.btn-sm { border-radius: 50px; padding: 7px 18px; font-size: 13px; }

/* ---------- Header ---------- */
.tg-hero-top-shadow { background: linear-gradient(180deg, rgba(17, 42, 32, .85) 0%, rgba(17, 42, 32, 0) 100%); }
.tgmenu__main-menu ul > li > a { font-weight: 500; letter-spacing: .03em; }
.tgmenu__navbar-wrap ul li .sub-menu { border-top: 3px solid var(--lois-saffron); border-radius: 0 0 12px 12px; }
.tgmenu__navbar-wrap ul li .sub-menu li a:hover { color: var(--lois-saffron-dark); }
.tg-btn-header { border-color: var(--lois-saffron); background: var(--lois-saffron); color: var(--lois-pine-dark); }
.tg-btn-header:hover { background: #fff; border-color: #fff; color: var(--lois-pine-dark); }
.header-sticky { background: rgba(250, 246, 238, .96); box-shadow: 0 6px 24px -12px rgba(17, 42, 32, .35); border-bottom: 3px solid var(--lois-saffron); }
.header-sticky .tg-btn-header { background: var(--lois-pine); border-color: var(--lois-pine); color: #fff; }
.header-sticky .tg-btn-header:hover { background: var(--lois-saffron); border-color: var(--lois-saffron); color: var(--lois-pine-dark); }
.header-sticky .tgmenu__navbar-wrap > ul > li:hover > a { color: var(--lois-saffron-dark); }
.logo img { max-height: 72px; width: 250px; }
.header-sticky .logo img { max-height: 56px; }

/* ---------- Hero ---------- */
.tg-hero-subtitle {
    color: var(--lois-saffron);
    font-family: var(--bodyfont);
    font-size: 15px;
    letter-spacing: .3em;
    font-weight: 600;
}
.tg-hero-title {
    font-family: var(--headingfont);
    font-weight: 400;
    font-size: 58px;
    line-height: 1.15;
    border-bottom: 0;
    text-shadow: 0 4px 24px rgba(0, 0, 0, .35);
}
.tg-hero-title::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    margin: 18px auto 0;
    background: var(--lois-saffron);
    border-radius: 3px;
}
.tg-hero-para { text-transform: none !important; font-size: 17px; font-weight: 400; }
@media (max-width: 767px) { .tg-hero-title { font-size: 32px; } }
.tg-hero-prev, .tg-hero-next { border-color: rgba(255, 255, 255, .5) !important; }
.tg-hero-prev:hover, .tg-hero-next:hover { background: var(--lois-saffron) !important; border-color: var(--lois-saffron) !important; }

/* ---------- Quick booking strip ---------- */
.tg-booking-form-wrap {
    border: 0;
    border-top: 4px solid var(--lois-saffron);
    border-radius: var(--lois-radius);
    box-shadow: var(--lois-shadow);
    background: #fff;
}
.tg-booking-form-wrap h4, .tg-booking-form-wrap .h4 { color: var(--lois-pine) !important; }
.form-control, .nice-select {
    border-radius: 10px;
    border-color: #dcd3c1;
    background-color: #fffdf8;
}
.form-control:focus { border-color: var(--lois-saffron); box-shadow: 0 0 0 3px rgba(216, 150, 43, .18); background-color: #fff; }

/* ---------- Backgrounds ---------- */
.tg-grey-bg { background: var(--lois-cream); }
.gradients { background: linear-gradient(to bottom, var(--lois-cream), #fff); }
.tg-about-area .tg-about-logo img { max-width: 130px; }

/* ---------- Package cards ---------- */
.tg-listing-card-item {
    border: 0;
    border-radius: var(--lois-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--lois-shadow);
    transition: transform .35s ease, box-shadow .35s ease;
}
.tg-listing-card-item:hover { transform: translateY(-6px); box-shadow: 0 22px 40px -18px rgba(17, 42, 32, .45); }
.tg-listing-card-thumb { border-radius: 0; }
.tg-listing-card-thumb .shape,
.tg-listing-item-price-discount {
    background: var(--lois-maroon) !important;
    background-image: none !important;
    border-radius: 0 30px 30px 0;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 11px;
}
.tg-listing-card-title { font-family: var(--headingfont); font-weight: 400; }
.tg-listing-card-title a { color: var(--lois-ink) !important; }
.tg-listing-card-title:hover a { color: var(--lois-saffron-dark) !important; }
.tg-listing-card-duration-map svg path,
.tg-listing-card-duration-time svg path { stroke: var(--lois-saffron-dark); }
.tg-listing-card-price { border-top: 1px dashed #e5dcc9; }
.tg-listing-card-price-wrap.price-bg {
    background: transparent !important;
    background-image: none !important;
    width: auto;
}
.tg-listing-card-price-wrap.price-bg a { color: var(--lois-pine) !important; font-weight: 600; }
.tg-listing-card-price-wrap.price-bg a:hover { color: #25d366 !important; }

/* ---------- Why choose us ---------- */
.tg-chose-list-title { color: var(--lois-pine) !important; font-family: var(--headingfont); }
.tg-chose-list-icon { color: var(--lois-saffron-dark); }
.tg-chose-list-icon img, .tg-chose-list-icon svg {
    filter: invert(46%) sepia(83%) saturate(496%) hue-rotate(2deg) brightness(92%) contrast(88%);
}
.tg-chose-big-text { opacity: .5; }
.tg-round-15, .tg-round-25 { border-radius: var(--lois-radius) !important; }

/* ---------- Themed tour tiles ---------- */
.tg-location-3-wrap { border-radius: var(--lois-radius); }
.tg-location-3-wrap::before { background: linear-gradient(180deg, rgba(17, 42, 32, 0) 30%, rgba(17, 42, 32, .92) 100%); border-radius: var(--lois-radius); }
.tg-location-border { border-color: var(--lois-saffron); opacity: .6; }
.tg-location-title { font-family: var(--headingfont); font-weight: 400; }

/* ---------- Big banner ---------- */
.tg-banner-2-big-title h2 { font-family: var(--headingfont) !important; letter-spacing: .14em; }

/* ---------- Testimonials ---------- */
.tg-testimonial-item {
    border: 0;
    border-radius: var(--lois-radius);
    background: var(--lois-cream);
    box-shadow: none;
    position: relative;
    border-bottom: 4px solid var(--lois-saffron);
}
.tg-testimonial-ratings span { color: var(--lois-saffron); }
.tg-testimonial-ratings span:last-child { color: #e2d8c3; }
.tg-testimonial-avatar-qoute svg path { fill: var(--lois-saffron); opacity: .5; }

/* ---------- Footer ---------- */
.tg-footer-area {
    background: var(--lois-pine-dark) !important;
    background-image:
        radial-gradient(circle at 12% 0%, rgba(216, 150, 43, .14), transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(140, 43, 48, .25), transparent 45%) !important;
    background-color: var(--lois-pine-dark) !important;
    border-top: 5px solid var(--lois-saffron);
    color: #cfd9d2;
}
.tg-footer-area p, .tg-footer-link ul li a { color: #cfd9d2; }
.tg-footer-link ul li a:hover { color: var(--lois-saffron) !important; }
.tg-footer-widget-title { font-family: var(--headingfont); font-weight: 400; color: var(--lois-saffron) !important; letter-spacing: .04em; }
.tg-footer-social a { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .15); }
.tg-footer-social a:hover { background: var(--lois-saffron); color: var(--lois-pine-dark); border-color: var(--lois-saffron); }
.tg-footer-copyright { border-top: 1px solid rgba(255, 255, 255, .12); }
.contact-f svg { fill: var(--lois-saffron); }

/* ---------- Floating buttons & modal ---------- */
.call-pulse, .call-pulse:before { background: var(--lois-saffron) !important; background-color: var(--lois-saffron) !important; }
.scroll__top { background: var(--lois-pine); color: #fff; }
.scroll__top:hover { background: var(--lois-saffron); }
.formbox { border-top: 5px solid var(--lois-saffron); }
.formbox h4 { font-family: var(--headingfont); color: var(--lois-pine) !important; }

/* ---------- Inner pages ---------- */
.page-desc h1, .page-desc h2, .page-desc h3 { font-family: var(--headingfont); font-weight: 400; color: var(--lois-pine); }
.pointers li::before { background: var(--lois-saffron); border-radius: 50%; width: 7px; height: 7px; }
.breadcrumb-item.active, .breadcrumb a:hover { color: var(--lois-saffron) !important; }
.nav-tabs .nav-link.active, .nav-pills .nav-link.active { background: var(--lois-pine) !important; color: #fff !important; border-color: var(--lois-pine) !important; }
.accordion-button:not(.collapsed) { background: var(--lois-pine-soft); color: var(--lois-pine); box-shadow: none; }
.accordion-button:focus { box-shadow: 0 0 0 3px rgba(216, 150, 43, .2); }

/* Wider horizontal logo: tighten the gap before the main menu so it stays on one line */
.tgmenu__nav.ml-180 { margin-left: 36px; }
.tgmenu__main-menu ul.navigation { flex-wrap: nowrap; }
.tgmenu__main-menu ul.navigation > li > a { padding-left: 11px; padding-right: 11px; white-space: nowrap; }
@media (max-width: 1399px) { .logo img { width: 215px; } .tgmenu__nav.ml-180 { margin-left: 20px; } }

/* Eyebrow labels sitting on photos need a lighter tone */
.tg-banner-area .tg-section-subtitle,
.tg-banner-2-content .tg-section-subtitle { color: #f3c77a !important; text-shadow: 0 2px 10px rgba(0, 0, 0, .45); }
@media (max-width: 575px) { .logo img { width: 165px; } }
.tg-hero-subtitle, .tg-hero-para { text-shadow: 0 2px 12px rgba(0, 0, 0, .55); }

/* Dark wash over the big photo banner so its heading stays readable */
.tg-banner-area { position: relative; }
.tg-banner-area::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17, 42, 32, .15) 0%, rgba(17, 42, 32, .6) 45%, rgba(17, 42, 32, .35) 100%); pointer-events: none; }
.tg-banner-area > .container { position: relative; z-index: 1; }
.tg-banner-2-content h2, .tg-banner-2-content .tg-section-title-white { text-shadow: 0 3px 18px rgba(0, 0, 0, .5); }

/* Menus in uppercase */
.tgmenu__main-menu ul.navigation > li > a,
.tgmenu__navbar-wrap ul li .sub-menu li a,
.tgmobile__menu .navigation li a {
    text-transform: uppercase !important;
    letter-spacing: .06em;
}
.tgmenu__main-menu ul.navigation > li > a { font-size: 13.5px; font-weight: 600; padding-left: 10px; padding-right: 10px; }
.tgmenu__navbar-wrap ul li .sub-menu li a { font-size: 13px; }
@media (max-width: 1599px) {
    .tgmenu__main-menu ul.navigation > li > a { font-size: 12.5px; padding-left: 8px; padding-right: 8px; letter-spacing: .04em; }
}

/* Keep the logo at full size next to the longer menu; drop the phone block on narrower desktops */
.tgmenu__wrap .logo { flex: 0 0 auto; }
@media (min-width: 1200px) and (max-width: 1599px) {
    .tg-header-contact-info { display: none !important; }
    .tgmenu__nav.ml-180 { margin-left: 14px; }
    .logo img { width: 190px; }
}
@media (min-width: 1200px) and (max-width: 1365px) {
    .tgmenu__main-menu ul.navigation > li > a { font-size: 11.5px; padding-left: 6px; padding-right: 6px; letter-spacing: .02em; }
    .logo img { width: 165px; }
}

/* Festival calendar */
.festival-tabs { gap: 8px; }
.festival-tabs li::before { display: none !important; }
.festival-tabs li { padding-left: 0 !important; min-width: 0 !important; }
.festival-tabs .nav-link { border-radius: 50px; border: 1px solid var(--lois-pine); color: var(--lois-pine); font-weight: 600; padding: 7px 22px; background: #fff; }
.festival-tabs .nav-link.active { background: var(--lois-pine); color: #fff; }
.festival-table { border-radius: 14px; overflow: hidden; box-shadow: var(--lois-shadow); font-size: 14px; }
.festival-table thead th { background: var(--lois-pine); color: #fff; font-weight: 600; letter-spacing: .04em; border: 0; padding: 12px 14px; }
.festival-table td { padding: 10px 14px; border-color: #eee5d3; }
.festival-table tbody tr:nth-child(even) td { background: var(--lois-cream); }
.festival-table td:last-child { color: var(--lois-maroon); font-weight: 600; }

/* No scroll-in animations: every section is visible as soon as the page loads */
.wow { visibility: visible !important; opacity: 1 !important; animation: none !important; -webkit-animation: none !important; transform: none !important; }

/* LoNo logo: large, on a white badge so the blue/green lettering reads on any background */
.logo img,
.tg-footer-logo img {
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    background: #fff;
    border-radius: 18px;
    padding: 8px 10px;
    box-shadow: 0 10px 28px -12px rgba(0, 0, 0, .45);
}
.logo img { height: 150px; }
.header-sticky .logo img { height: 74px; padding: 4px 6px; border-radius: 12px; box-shadow: none; }
.tg-footer-logo img { height: 170px; }
.tgmobile__menu .nav-logo img, .offCanvas__logo img { width: 170px; height: auto; }
@media (min-width: 1200px) and (max-width: 1599px) { .logo img { height: 130px; } }
@media (max-width: 1199px) { .logo img { height: 110px; } }
@media (max-width: 575px) { .logo img { height: 92px; padding: 5px 7px; border-radius: 14px; } .header-sticky .logo img { height: 62px; } }
/* the header badge hangs over the hero, so give the hero text a little more room */
.tg-hero-content-area { padding-top: 40px; }
