/* ==========================================================================
   Mongolian Tours — modern re-skin.
   Loaded after the legacy stylesheets; overrides colours, type, spacing and
   component styling without changing the page structure or the JS hooks.
   ========================================================================== */

:root {
  --mt-gold: #cbbd9a;
  --mt-gold-dark: #a8925e;
  --mt-gold-soft: #f3eee1;
  --mt-brown: #603813;
  --mt-ink: #1f1b14;
  --mt-ink-2: #2f2911;
  --mt-text: #3a362f;
  --mt-muted: #7a756c;
  --mt-line: #e8e3d8;
  --mt-surface: #f7f5ef;
  --mt-white: #fff;
  --mt-radius: 16px;
  --mt-radius-sm: 10px;
  --mt-shadow: 0 10px 30px -12px rgba(31, 27, 20, .25);
  --mt-shadow-sm: 0 4px 14px -6px rgba(31, 27, 20, .18);
  --mt-font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --mt-display: "Manrope", "Inter", "Segoe UI", system-ui, sans-serif;
  --mt-ease: cubic-bezier(.2, .7, .2, 1);
}

/* --- Base ----------------------------------------------------------------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--mt-font);
  font-size: 16px;
  line-height: 1.7;
  color: var(--mt-text);
  background: var(--mt-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 { color: var(--mt-ink); letter-spacing: 0; }
h1, h2, .tour_detail_title, .main_title h2, .tour_category_title h1, .info_text h1, .call_to_area h2 {
  font-family: var(--mt-display);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
}
h1 { font-size: clamp(30px, 4vw, 44px); margin: 0 0 18px; }
h2 { font-size: clamp(24px, 3vw, 34px); }
h3 { font-size: 20px; font-weight: 600; }
h4 { font-size: 17px; font-weight: 600; }
p { margin: 0 0 16px; }
a { color: var(--mt-brown); transition: color .2s var(--mt-ease); }
a:hover, a:focus { color: var(--mt-gold-dark); }
a:focus-visible, button:focus-visible, .button:focus-visible { outline: 3px solid rgba(203, 189, 154, .8); outline-offset: 3px; }
img { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
::selection { background: var(--mt-gold); color: var(--mt-ink); }

.skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 100000;
  background: var(--mt-ink); color: #fff; padding: 10px 16px; border-radius: 999px; font-weight: 600;
}
.skip-link:focus { top: 12px; color: #fff; }

/* Mega/section spacing */
.mb-60 { margin-bottom: 60px !important; }

/* --- Buttons --------------------------------------------------------------- */
.button, .button_orange, .btn_view_detail, .view_tours, .button_outline_red, .form_submit_row .btn, button.btn, input[type="submit"].btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 26px; border-radius: 999px;
  font-family: var(--mt-font); font-size: 14px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase;
  line-height: 1.3; white-space: nowrap; border: 1.5px solid transparent;
  transition: transform .2s var(--mt-ease), box-shadow .2s var(--mt-ease), background .2s, color .2s, border-color .2s;
}
.button_orange, .form_submit_row .btn, button.btn-primary, input[type="submit"].btn, .nav_cta {
  background: var(--mt-gold); color: var(--mt-ink) !important; border-color: var(--mt-gold);
}
.button_orange:hover, .form_submit_row .btn:hover, .nav_cta:hover, input[type="submit"].btn:hover {
  background: var(--mt-gold-dark); border-color: var(--mt-gold-dark); color: #fff !important; transform: translateY(-1px); box-shadow: var(--mt-shadow-sm);
}
.button_outline_red {
  background: transparent; color: var(--mt-ink); border-color: var(--mt-ink); padding: 9px 22px;
}
.button_outline_red:hover { background: var(--mt-ink); color: #fff; }

/* --- Header ---------------------------------------------------------------- */
.site_header { border-bottom: 0; }
.top_bar {
  height: 42px; line-height: 42px; font-size: 13.5px;
  background: var(--mt-ink); color: rgba(255, 255, 255, .8); border-bottom: 0;
}
.top_links li a, .top_links li a:hover { color: rgba(255, 255, 255, .78); }
.top_links li a:hover { color: var(--mt-gold); }
.top_links li .fa { color: var(--mt-gold); margin-right: 4px; }
.top_links li.top_social { margin-right: 6px; }
.top_links li.top_social a { display: inline-block; width: 28px; text-align: center; }
.top_links li.top_social .fa { margin: 0; color: rgba(255, 255, 255, .7); }
.top_links li.top_social a:hover .fa { color: var(--mt-gold); }
.top_links li:last-child { margin-left: 10px; padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .12); }
.transparent_header .top_bar { background: rgba(31, 27, 20, .55); backdrop-filter: blur(6px); }

.main_nav { background: var(--mt-white); box-shadow: 0 1px 0 var(--mt-line); }
.transparent_header .main_nav { background: transparent; box-shadow: none; }
.transparent_header .main_nav.affix-top { background: linear-gradient(to bottom, rgba(0, 0, 0, .45), rgba(0, 0, 0, 0)); }
.main_nav.affix { background: rgba(255, 255, 255, .92) !important; backdrop-filter: blur(10px); box-shadow: 0 6px 24px -14px rgba(0, 0, 0, .35) !important; }
.home_logo a, .main_menu .menu_item > a { height: 88px; line-height: 88px; }
.home_logo .logo { height: 54px; width: auto; }
@media (min-width: 1200px) {
  .main_nav.affix .home_logo a, .main_nav.affix .main_menu .menu_item > a { height: 68px; line-height: 68px; }
  .main_nav.affix .home_logo .logo { height: 44px; }
}
.main_menu .menu_item > a {
  font-size: 14.5px; font-weight: 500; letter-spacing: .01em; text-transform: none; color: var(--mt-ink); padding: 0 15px;
}
.main_menu .menu_item > a:hover, .main_menu .menu_item.active > a { color: var(--mt-gold-dark); }
.main_menu .menu_item > a .fa-angle-down { font-size: 12px; margin-left: 4px; opacity: .6; }
.transparent_header .main_nav.affix-top .main_menu .menu_item > a { color: #fff; }
.transparent_header .main_nav.affix-top .main_menu .menu_item > a:hover { color: var(--mt-gold); }
.main_menu .menu_item_cta > a.nav_cta {
  display: inline-flex; height: auto; line-height: 1.2; margin: 0 0 0 14px; padding: 11px 22px; vertical-align: middle;
  color: var(--mt-ink) !important; background: var(--mt-gold); text-transform: uppercase; font-size: 13px;
}
.transparent_header .main_nav.affix-top .main_menu .menu_item_cta > a.nav_cta { color: var(--mt-ink) !important; }
.main_menu .menu_item_cta > a.nav_cta:hover { background: var(--mt-gold-dark); color: #fff !important; }
.dropdown_menu {
  background: #fff; border-radius: 14px; box-shadow: var(--mt-shadow); border: 1px solid var(--mt-line);
  padding: 14px 10px; margin-left: -130px; min-width: 260px;
}
.dropdown_menu ul > li > a {
  display: block; padding: 9px 14px; border-radius: 8px; font-size: 14.5px; color: var(--mt-ink); line-height: 1.4;
}
.dropdown_menu ul > li > a:hover { background: var(--mt-gold-soft); color: var(--mt-brown); }
.dropdown_menu ul > li.dropdown_divider { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--mt-line); }
.dropdown_menu ul > li.dropdown_divider > a { font-weight: 600; color: var(--mt-gold-dark); }
.menu-button span, .menu-button span:before, .menu-button span:after { background: var(--mt-ink); border-radius: 2px; }
.transparent_header .main_nav.affix-top .menu-button span,
.transparent_header .main_nav.affix-top .menu-button span:before,
.transparent_header .main_nav.affix-top .menu-button span:after { background: #fff; }
.transparent_header .main_nav.affix-top .mobile_search_toggle a { color: #fff; }
.header_search { background: var(--mt-ink); }
.search_input input {
  background: rgba(255, 255, 255, .08); color: #fff; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px;
  padding: 14px 24px; width: 100%; font-size: 18px;
}
.search_input input::placeholder { color: rgba(255, 255, 255, .55); }

/* Off-canvas menu */
.push-nav { background: var(--mt-ink); color: #fff; }
.push_nav_menu ul li a { color: rgba(255, 255, 255, .88); font-size: 17px; font-weight: 500; padding: 10px 0; display: block; }
.push_nav_menu ul li a:hover { color: var(--mt-gold); }
.push_nav_menu ul ul li a { font-size: 15px; color: rgba(255, 255, 255, .65); padding-left: 16px; }
.hide_mobile_menu { color: #fff; font-size: 26px; }
.side_menu_block { border-color: rgba(255, 255, 255, .1); }
.push-nav .social-links a { color: #fff; }

/* --- Breadcrumb ------------------------------------------------------------ */
.bread_crumb_area { background: var(--mt-surface); border-bottom: 1px solid var(--mt-line); }
.bread_crumb { margin: 0; font-size: 13.5px; padding: 12px 0; }
.bread_crumb ol li { display: inline-flex; align-items: center; color: var(--mt-muted); }
.bread_crumb ol li + li:before { content: "\f105"; font-family: FontAwesome; margin: 0 10px; color: #b9b3a6; }
.bread_crumb ol li a { color: var(--mt-muted); }
.bread_crumb ol li a:hover { color: var(--mt-brown); }
.bread_crumb ol li span[aria-current] { color: var(--mt-ink); font-weight: 500; }

.grey-background, .bg-img.overlay { background: var(--mt-ink-2) !important; }

/* Intro */
.home_info { padding: 80px 0 60px; }
.info_text h1 { font-size: clamp(28px, 3.4vw, 40px); margin-bottom: 22px; }
.info_text p { font-size: 17px; color: var(--mt-text); }
.home_info iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border-radius: var(--mt-radius); box-shadow: var(--mt-shadow); }

/* Featured tours */
.featured_tours_area { background: var(--mt-surface) !important; padding: 80px 0 50px; }
.featured_tours_area:before { display: none; }
.main_title { margin-bottom: 44px; }
.main_title h2 { font-size: clamp(28px, 3.4vw, 40px); margin: 0; color: var(--mt-ink) !important; }
.main_title h2:after { content: ""; display: block; width: 56px; height: 3px; background: var(--mt-gold); margin: 16px auto 0; border-radius: 2px; }

/* --- Tour cards ------------------------------------------------------------ */
.tour_container {
  height: auto; display: flex; flex-direction: column; padding-bottom: 0; margin-bottom: 30px;
  background: #fff; border-radius: var(--mt-radius); overflow: hidden; border: 1px solid var(--mt-line);
  box-shadow: var(--mt-shadow-sm); transition: transform .3s var(--mt-ease), box-shadow .3s var(--mt-ease);
}
.tour_container:hover { transform: translateY(-4px); box-shadow: var(--mt-shadow) !important; }
.tour_container .tour_img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.tour_container .tour_img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--mt-ease); }
.tour_container:hover .tour_img img { transform: scale(1.05); }
.tour_container .tour_days {
  z-index: 2; width: auto; height: auto; top: 16px; right: 16px; padding: 6px 12px; border-radius: 999px;
  background: rgba(255, 255, 255, .94); color: var(--mt-ink); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2;
}
.tour_container .tour_days span { display: inline; font-size: 15px; margin: 0 3px 0 0; }
.tour_container .tour_name { padding: 22px 24px 6px; flex: 1; font-size: 15px; color: var(--mt-muted); }
.tour_container .tour_name h3 { font-size: 19px; font-weight: 600; margin: 0 0 10px; line-height: 1.3; }
.tour_container .tour_name h3 a, .tour_container .tour_name a h3 { color: var(--mt-ink); }
.tour_container .tour_name a:hover h3 { color: var(--mt-brown); }
.tour_container .tour_links { position: static; height: auto; border-top: 1px solid var(--mt-line); padding: 14px 24px; }
.tour_container .tour_links a.view_tours {
  float: none; width: auto; line-height: 1.2; padding: 0; background: none; border: 0; text-transform: uppercase;
  color: var(--mt-brown); font-size: 13px; letter-spacing: .06em;
}
.tour_container .tour_links a.view_tours:before { margin-right: 6px; }
.tour_container .tour_links a.view_tours:hover { color: var(--mt-gold-dark); }

/* CTA banner */
.call_to_area { position: relative; background-size: cover; background-position: center; padding: 110px 0; }
.call_to_area:before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(31, 27, 20, .35), rgba(31, 27, 20, .7)); }
.call_to_area .container { position: relative; z-index: 1; }
.call_to_area p { font-family: var(--mt-display); font-size: clamp(26px, 3.6vw, 44px); line-height: 1.2; color: #fff; font-weight: 700; text-shadow: 0 2px 20px rgba(0, 0, 0, .35); }
.call_to_area p a { color: var(--mt-gold); }

/* --- Category page --------------------------------------------------------- */
.tour_category_title { padding: 50px 0 30px; }
.tour_category_title h1 { font-size: clamp(32px, 4.2vw, 48px); letter-spacing: 0; }
.tour_category_title p { font-size: 17px; color: var(--mt-muted); max-width: 800px; margin: 0 auto 10px; }
.featured_tour { border-radius: var(--mt-radius); overflow: hidden; height: 320px; }
main > .featured_tour { border-radius: 0; }
.featured_tour:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(31, 27, 20, 0) 30%, rgba(31, 27, 20, .75) 100%); z-index: 1; }
.tour_filter ul li a.active, .tour_filter ul li a:hover { color: var(--mt-brown); }

.info_box { font-size: 15px !important; }
.info_box_inner { padding-top: 0; }
.box_title, .info_box h3.box_title { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); margin: 0 0 12px; }
.tour_date_list_title { background: var(--mt-ink); border-radius: 10px 10px 0 0; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; }
.tour_date_list { border: 1px solid var(--mt-line); border-radius: 0 0 10px 10px; overflow: hidden; }
.tour_date_list_title + .tour_date_list { border-top: 0; }
.tour_date_item .tour_date_title, .tour_date_list .tour_date_item:nth-child(odd) .tour_date_title { background: #fff; border-bottom: 1px solid var(--mt-line); padding: 12px 14px; }
.tour_date_list .tour_date_item:nth-child(even) .tour_date_title { background: var(--mt-surface); }
.tour_date_title p { margin: 0; }
.guarenteed_color { color: #2e7d32; font-weight: 600; }
.closed_color { color: #c62828; font-weight: 600; }
.whats_included, .whats_excludes, .whats_box { background: var(--mt-surface); border-radius: 12px; padding: 16px 18px; border: 1px solid var(--mt-line); }
.whats_included li, .whats_excludes li, .whats_box li { padding: 4px 0; }
.whats_included li:before { color: #2e7d32; }
.whats_excludes li:before { color: #c62828; }
.whats_box li:before { content: "\f05a"; font-family: FontAwesome; color: var(--mt-gold-dark); margin-right: 10px; }
.tour_itenary_list { position: relative; padding-left: 28px; }
.tour_itenary_list:before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--mt-line); }
.tour_itenary_item { border-bottom: 0; padding-bottom: 28px; margin-bottom: 8px; }
.tour_itenary_item:before { content: ""; position: absolute; left: -26px; top: 8px; width: 12px; height: 12px; border-radius: 50%; background: var(--mt-gold); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--mt-gold); }
.tour_itenary_item .itenary_title { font-size: 19px; font-weight: 600; margin: 0 0 10px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tour_itenary_item .itenary_title span { background: var(--mt-ink); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; }
.tour_itenary_item .itenary_info img { border-radius: var(--mt-radius-sm); margin: 10px 0; }
.tour_itenary_item ul.list-inline { margin-top: 8px; }
.tour_itenary_item ul.list-inline li { font-size: 14px; color: var(--mt-muted); margin-right: 14px; }
.tour_itenary_item ul.list-inline li span { color: var(--mt-gold-dark); }
.gallery_list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.gallery_list .gallery_item { float: none; width: auto; padding: 0; margin: 0; }
.gallery_box { border-radius: var(--mt-radius-sm); aspect-ratio: 4 / 3; }
.gallery_box img { height: 100%; object-fit: cover; }
.gallery_box:hover img { opacity: .85; transform: scale(1.06); }

/* --- Inner pages ----------------------------------------------------------- */
main > .container:first-child, main#main > .container:first-child { padding-top: 40px; }
.page_heading { border-bottom: 1px solid var(--mt-line); padding: 36px 0 18px; margin-bottom: 36px; }
.page_heading h1, .page_heading h2 { margin: 0; }
.single_post_image img { width: 100%; border-radius: var(--mt-radius); box-shadow: var(--mt-shadow); }
.single_post_content { padding: 30px 0 0; }
.single_post_entry, .single_post_entry p { font-size: 17px; line-height: 1.8; }
.single_post_entry h2, .single_post_entry h3 { margin-top: 28px; }
.single_post_entry img { border-radius: var(--mt-radius-sm); }
.blog_post_2 { display: flex; gap: 26px; align-items: flex-start; padding: 22px; margin-bottom: 22px; background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); box-shadow: var(--mt-shadow-sm); }
.blog_post_2 .post_image { flex: 0 0 36%; border-radius: var(--mt-radius-sm); overflow: hidden; aspect-ratio: 4 / 3; }
.blog_post_2 .post_image img { width: 100%; height: 100%; object-fit: cover; }
.blog_post_2 .post_content { flex: 1; color: var(--mt-muted); }
.blog_post_2 .post_content h3 { font-size: 21px; margin: 0 0 10px; }
.blog_post_2 .post_content h3 a { color: var(--mt-ink); }
.blog_post_2 .post_content h3 a:hover { color: var(--mt-brown); }
.sidebar_block { background: var(--mt-surface); border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 22px; }
.sidebar_title h3, .sidebar_title h2 { font-family: var(--mt-font); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); }
.sidebar_menu li { border-color: var(--mt-line); padding: 0; }
.sidebar_menu li a { padding: 8px 0 8px 18px; font-size: 15px; color: var(--mt-ink); }
.sidebar_menu li a:hover { color: var(--mt-brown); }
.post_small { border-color: var(--mt-line); }
.post_small .post_image img { border-radius: 8px; }
.post_small .post_content h5 a { color: var(--mt-ink); font-weight: 500; }
.guide_box { margin-bottom: 60px; }
.guide_box .image img { border-radius: 50%; width: 170px; height: 170px; object-fit: cover; box-shadow: var(--mt-shadow-sm); }
.guide_box h5 { font-size: 18px; }
.guide_box h6 { color: var(--mt-gold-dark); font-weight: 600; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.imgcenter { border-radius: var(--mt-radius-sm); }

/* Calendar tables (shared markup with the tour page date list) */
.guarenteed_dates_table { border-radius: 12px; overflow: hidden; box-shadow: var(--mt-shadow-sm); }
.guarenteed_dates_table .tour_date_list_title { border-radius: 0; }
.table_tour_detail thead tr th { background: var(--mt-ink); }
.table_tour_detail tbody tr td { border-color: var(--mt-line); }

/* Pagination (Laravel bootstrap-4 view) */
.pagination { display: inline-flex; gap: 6px; border-radius: 0; }
.pagination .page-item .page-link { border: 1px solid var(--mt-line); border-radius: 999px; min-width: 40px; height: 40px; line-height: 38px; padding: 0 12px; text-align: center; color: var(--mt-ink); background: #fff; float: none; }
.pagination .page-item.active .page-link { background: var(--mt-ink); border-color: var(--mt-ink); color: #fff; }
.pagination .page-item .page-link:hover { background: var(--mt-gold-soft); color: var(--mt-brown); }
.pagination .page-item.disabled .page-link { color: #c6c0b3; }
.pagination li a, .pagination li span { float: none; }

/* --- Forms ----------------------------------------------------------------- */
label { font-weight: 600; font-size: 14px; color: var(--mt-ink); }
.form-control {
  border: 1.5px solid var(--mt-line); border-radius: 10px; padding: 12px 14px; font-size: 15.5px; box-shadow: none;
  transition: border-color .2s, box-shadow .2s; background: #fff;
}
.form-control:focus { border-color: var(--mt-gold-dark); box-shadow: 0 0 0 4px rgba(203, 189, 154, .3); }
textarea.form-control { min-height: 140px; }
.form-group { margin-bottom: 20px; }
.form_main { background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 30px; box-shadow: var(--mt-shadow-sm); }
.bookingsuccess { background: #eef7ee; color: #1b5e20; border: 1px solid #c8e6c9; border-radius: 12px; padding: 14px 18px; font-size: 16px; margin-bottom: 22px; }
.text-danger { color: #c62828; }
.contact_details ul { padding: 0; list-style: none; }
.contact_details li { padding: 8px 0; border-bottom: 1px solid var(--mt-line); font-size: 15px; }
.contact_details li .fa { width: 22px; color: var(--mt-gold-dark); }
.contact_details li:last-child { border-bottom: 0; }
.social-links ul { padding: 0; margin: 0; list-style: none; display: flex; gap: 8px; flex-wrap: wrap; }
.social-links ul li a { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: var(--mt-gold-soft); color: var(--mt-ink); transition: background .2s, color .2s; }
.social-links ul li a:hover { background: var(--mt-gold); color: var(--mt-ink); }
.contact_map iframe, .single_post_entry iframe { width: 100%; border-radius: var(--mt-radius); }

/* --- Footer ---------------------------------------------------------------- */
.footer_main { background: var(--mt-ink); color: rgba(255, 255, 255, .72); padding: 72px 0 36px; font-size: 15px; }
.footer_links h4 { font-family: var(--mt-font); font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--mt-gold); margin-bottom: 18px; }
.footer_links li { margin-bottom: 8px; }
.footer_links a { color: rgba(255, 255, 255, .78); font-size: 15px; }
.footer_links a:hover { color: var(--mt-gold); }
.footer_links_col i { width: 18px; color: var(--mt-gold); }
.footer_links_col span { margin-left: 4px; }
.footer_brand .footer_logo { height: 54px; width: auto; margin-bottom: 16px; }
.footer_tagline { color: rgba(255, 255, 255, .6); font-size: 14.5px; line-height: 1.65; margin-bottom: 18px; padding-right: 20px; }
.footer_contact li { display: flex; gap: 8px; align-items: flex-start; line-height: 1.5; }
.footer_contact li a { display: flex; gap: 8px; }
.footer_social { margin-top: 18px; }
.footer_social ul li a { background: rgba(255, 255, 255, .08); color: #fff; width: 38px; height: 38px; }
.footer_social ul li a:hover { background: var(--mt-gold); color: var(--mt-ink); }
.footer-copyright { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 24px; margin-top: 10px; color: rgba(255, 255, 255, .5); font-size: 13.5px; }
.totop a { background: var(--mt-gold); color: var(--mt-ink); border-radius: 50%; box-shadow: var(--mt-shadow); }
.totop a:hover { background: var(--mt-gold-dark); color: #fff; }

/* Lightbox */
.lb-data .lb-caption { font-family: var(--mt-font); }

/* --- Responsive ------------------------------------------------------------ */
@media (max-width: 1199px) {
  .home_logo a, .main_menu .menu_item > a { height: 72px; line-height: 72px; }
  .home_logo .logo { height: 44px; }
}
@media (max-width: 991px) {
  .gallery_list { grid-template-columns: repeat(3, 1fr); }
  .footer_links_col { margin-bottom: 30px; }
}
@media (max-width: 767px) {
  .gallery_list { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .blog_post_2 { flex-direction: column; gap: 16px; }
  .blog_post_2 .post_image { flex-basis: auto; width: 100%; }
  .tour_itenary_list { padding-left: 22px; }
  .tour_itenary_item:before { left: -20px; }
  .featured_tour { height: 260px; border-radius: 0; }
  .tour_category_title { padding: 32px 0 16px; }
  .home_info { padding: 48px 0 30px; }
  .featured_tours_area { padding: 56px 0 30px; }
  .call_to_area { padding: 70px 0; }
  .form_main { padding: 20px; }
  .tour_container .tour_name { padding: 18px 18px 4px; }
  .tour_container .tour_links { padding: 12px 18px; }
}

/* ==========================================================================
   Round 2 — refinements
   ========================================================================== */

/* Top bar: single icon per item (legacy classes removed from the markup) */
.top_links li.top_phone, .top_links li.top_email { margin-right: 22px; }
.top_links li.top_phone a, .top_links li.top_email a { color: rgba(255, 255, 255, .85); }

/* Breadcrumb: use the legacy separator only */
.bread_crumb ol li + li:before { content: none; margin: 0; }
.bread_crumb ol > li:not(:last-child):after { content: "\f105"; font-family: FontAwesome; margin: 0 12px 0 10px; color: #b9b3a6; }

.grey-background, .bg-img.overlay { background: var(--mt-surface) !important; }
.grey-background { position: relative; z-index: 3; }

/* USP strip */
.usp_strip { background: #fff; padding: 36px 0 8px; }
.usp_list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.usp_list li, .usp_list li a { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; color: var(--mt-text); }
.usp_list li { padding: 20px 22px; border-radius: 14px; background: var(--mt-surface); border: 1px solid var(--mt-line); }
.usp_list li a { padding: 0; width: 100%; }
.usp_list li a:hover strong { color: var(--mt-brown); }
.usp_list .fa { font-size: 22px; color: var(--mt-gold-dark); margin-bottom: 8px; }
.usp_list strong { font-size: 15.5px; color: var(--mt-ink); }
.usp_list span { font-size: 13.5px; color: var(--mt-muted); line-height: 1.5; }
@media (max-width: 991px) { .usp_list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .usp_list { grid-template-columns: 1fr; } }
.home_info { padding: 50px 0 60px; }

/* Tour cards: category + price */
.tour_container .tour_cat { display: inline-block; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-gold-dark); margin-bottom: 8px; }
.tour_container .tour_links { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tour_container .tour_from { font-size: 13px; color: var(--mt-muted); }
.tour_container .tour_from strong { font-family: var(--mt-display); font-weight: 700; font-size: 20px; color: var(--mt-ink); margin: 0 2px; }
.tour_container .tour_links a.view_tours:before { content: none; }
.tour_container .tour_links a.view_tours:after { content: "\f061"; font-family: FontAwesome; margin-left: 8px; font-size: 11px; transition: transform .2s; display: inline-block; }
.tour_container .tour_links a.view_tours:hover:after { transform: translateX(3px); }
.home_tours_more { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; padding: 10px 0 20px; }

/* CTA banner */
.call_to_area .cta_text p { font-family: var(--mt-display); font-size: clamp(26px, 3.6vw, 44px); line-height: 1.2; color: #fff; font-weight: 700; margin: 0 0 10px; text-shadow: 0 2px 20px rgba(0, 0, 0, .35); }
.call_to_area .button_orange { padding-left: 36px; padding-right: 36px; }

/* Tour quick facts */

/* Tour sticky nav on mobile: horizontal pills instead of a stacked list */

/* Category page: hero with the title, then the intro */
.featured_tour .title { color: #fff; font-family: var(--mt-display); font-weight: 700; font-size: clamp(30px, 4.2vw, 50px); margin: 0 0 6px; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.featured_tour .cat_count { color: rgba(255, 255, 255, .85); margin: 0; font-size: 15px; }
main > .featured_tour:first-child { height: 420px; }
.tour_category_title { padding: 44px 0 10px; }
.tour_category_title p { text-align: left; font-size: 16.5px; }
@media (max-width: 767px) {
  main > .featured_tour:first-child { height: 300px; }
}

/* Tour category tiles under the hero */
.grey-background { background: #fff !important; }
.cat_tiles { position: relative; z-index: 3; background: #fff; padding: 56px 0 10px; }
.cat_tiles_head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.cat_tiles_head h2 { margin: 0; font-size: clamp(24px, 3vw, 34px); }
.cat_tiles_link { font-weight: 600; font-size: 14px; color: var(--mt-brown); white-space: nowrap; }
.cat_tiles_link .fa { margin-left: 6px; transition: transform .2s; }
.cat_tiles_link:hover .fa { transform: translateX(4px); }
.cat_tiles_list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.cat_tile a { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 14px; overflow: hidden; background: var(--mt-ink-2); box-shadow: var(--mt-shadow-sm); transition: transform .3s var(--mt-ease), box-shadow .3s var(--mt-ease); }
.cat_tile a:hover { transform: translateY(-5px); box-shadow: var(--mt-shadow); }
.cat_tile_img, .cat_tile_img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.cat_tile_img img { object-fit: cover; transition: transform .7s var(--mt-ease); }
.cat_tile a:hover .cat_tile_img img { transform: scale(1.07); }
.cat_tile a:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(31, 27, 20, .05) 35%, rgba(31, 27, 20, .85) 100%); transition: background .3s; }
.cat_tile a:hover:after { background: linear-gradient(180deg, rgba(31, 27, 20, .1) 20%, rgba(96, 56, 19, .9) 100%); }
.cat_tile_icon { position: absolute; top: 12px; left: 12px; z-index: 2; width: 42px; height: 42px; border-radius: 50%; background: rgba(31, 27, 20, .45); border: 1px solid rgba(255, 255, 255, .5); backdrop-filter: blur(6px); display: flex; align-items: center; justify-content: center; }
.cat_tile_icon img { width: 24px; height: 24px; object-fit: contain; }
.cat_tile_body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px 14px 16px; color: #fff; }
.cat_tile_name { display: block; font-weight: 600; font-size: 15px; line-height: 1.3; text-shadow: 0 1px 10px rgba(0, 0, 0, .4); }
.cat_tile_count { display: block; margin-top: 4px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .75); }
@media (max-width: 991px) { .cat_tiles_list { grid-template-columns: repeat(3, 1fr); } .cat_tiles { padding-top: 44px; } }
@media (max-width: 600px) { .cat_tiles_list { grid-template-columns: repeat(2, 1fr); gap: 10px; } .cat_tile a { aspect-ratio: 4 / 5; } .cat_tiles { padding-top: 36px; } .cat_tiles_head { flex-direction: column; align-items: flex-start; gap: 6px; } }

/* USP strip at the bottom of the home page */
.usp_strip_bottom { padding: 56px 0 64px; background: #fff; }
.usp_strip_bottom .usp_list li { background: var(--mt-surface); }
.home_info { padding: 60px 0; }

/* --- 2026-11-09 polish ------------------------------------------------------ */
/* Sticky nav: the affix rule above stretches every menu link to the bar height; keep the CONTACT pill compact. */
.main_nav.affix .main_menu .menu_item_cta > a.nav_cta { height: auto; line-height: 1.2; }

/* Home tour grid: cards in a row share the same height, price bars line up. */
.home_tours_grid { display: flex; flex-wrap: wrap; }
.home_tours_grid:before, .home_tours_grid:after { display: none; }
.home_tours_grid .tour_col { display: flex; }
.home_tours_grid .tour_container { flex: 1 1 auto; width: 100%; }

/* Welcome text: the CMS saved it as justified, which leaves wide gaps on narrow columns. */
.info_text p, .info_text p[style] { text-align: left !important; }

/* --- Home: hero slider v2 --------------------------------------------------
   Editorial layout: copy sits bottom-left, prev / dots / next sit bottom-right of the same container.
   The legacy wrapper bled 50px past the viewport on both sides and the hero filled 100vh; now it keeps
   to the viewport and stops short so the category tiles peek in below. */
#page-content #flexslider-nav.fullpage-wrap { margin-left: 0; margin-right: 0; }
#page-content #flexslider-nav,
#page-content #flexslider-nav .slides,
#page-content #flexslider-nav .slides li { height: clamp(560px, 82vh, 820px) !important; }
#page-content #flexslider-nav ul li .gradient.dark {
  background: linear-gradient(180deg, rgba(20, 16, 10, .5) 0%, rgba(20, 16, 10, .08) 35%, rgba(20, 16, 10, .8) 100%);
}
#page-content #flexslider-nav ul li .text {
  position: absolute; left: 0; right: 0; bottom: 0; top: auto; transform: none;
  text-align: left; padding: 0 15px 112px; max-width: none; width: 100%;
}
@media (min-width: 768px) { #page-content #flexslider-nav ul li .text { width: 750px; } }
@media (min-width: 992px) { #page-content #flexslider-nav ul li .text { width: 970px; } }
@media (min-width: 1200px) { #page-content #flexslider-nav ul li .text { width: 100%; max-width: 1240px; } }
#page-content #flexslider-nav ul li .text .slide_eyebrow {
  display: inline-flex; align-items: center; gap: 12px; margin: 0 0 18px; padding: 0;
  background: none; border: 0; backdrop-filter: none;
  color: var(--mt-gold); font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
}
#page-content #flexslider-nav ul li .text .slide_eyebrow:before { content: ""; width: 30px; height: 1px; background: var(--mt-gold); }
#page-content #flexslider-nav ul li .text .slide_title {
  font-family: var(--mt-display); font-weight: 700; font-size: clamp(30px, 3.6vw, 50px); line-height: 1.1; letter-spacing: -.02em;
  color: #fff; margin: 0 0 14px; max-width: 16ch; text-shadow: 0 2px 20px rgba(0, 0, 0, .35);
}
#page-content #flexslider-nav ul li .text .slide_sub {
  font-size: clamp(15px, 1.25vw, 18px); font-weight: 400; line-height: 1.6; color: rgba(255, 255, 255, .88);
  max-width: 520px; margin: 0 0 26px; text-shadow: 0 1px 12px rgba(0, 0, 0, .4);
}
.slide_actions { display: flex; gap: 12px; justify-content: flex-start; flex-wrap: wrap; }
.button_ghost { background: rgba(255, 255, 255, .1); color: #fff !important; border-color: rgba(255, 255, 255, .55); backdrop-filter: blur(6px); }
.button_ghost:hover { background: #fff; color: var(--mt-ink) !important; border-color: #fff; }

/* Controls: the bar is as wide as the Bootstrap container so it lines up with the copy. */
#page-content #flexslider-nav .slider-navigation {
  top: auto; bottom: 44px; left: 0; right: 0; transform: none; margin: 0 auto; width: 100%; padding: 0 15px;
  display: flex; align-items: center; justify-content: flex-end; gap: 14px; z-index: 5; pointer-events: none;
}
@media (min-width: 768px) { #page-content #flexslider-nav .slider-navigation { width: 750px; } }
@media (min-width: 992px) { #page-content #flexslider-nav .slider-navigation { width: 970px; } }
@media (min-width: 1200px) { #page-content #flexslider-nav .slider-navigation { width: 100%; max-width: 1240px; } }
#page-content #flexslider-nav .slider-navigation .flex-prev,
#page-content #flexslider-nav .slider-navigation .flex-next,
#page-content #flexslider-nav .slider-navigation .flex-prev:hover,
#page-content #flexslider-nav .slider-navigation .flex-next:hover {
  position: static; pointer-events: auto; opacity: 1; left: auto; right: auto;
  width: 44px; height: 44px; line-height: 42px; border-radius: 50%; text-align: center;
  background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .35); backdrop-filter: blur(6px); color: #fff;
  transition: background .2s, border-color .2s, color .2s;
}
#page-content #flexslider-nav .slider-navigation .flex-prev:hover,
#page-content #flexslider-nav .slider-navigation .flex-next:hover { background: var(--mt-gold); border-color: var(--mt-gold); color: var(--mt-ink); }
#page-content #flexslider-nav .slider-navigation .flex-prev i,
#page-content #flexslider-nav .slider-navigation .flex-next i { font-size: 22px; line-height: inherit; color: inherit; }
.slider-controls-container { pointer-events: auto; }
.slider-controls-container .flex-control-nav { position: static; width: auto; display: flex; align-items: center; gap: 8px; margin: 0 4px; }
.slider-controls-container .flex-control-nav li { margin: 0; display: block; line-height: 0; }
.slider-controls-container .flex-control-paging li a {
  width: 8px; height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .45); box-shadow: none; text-indent: -9999px;
  transition: width .3s var(--mt-ease), background .3s;
}
.slider-controls-container .flex-control-paging li a:hover { background: #fff; }
.slider-controls-container .flex-control-paging li a.flex-active { width: 26px; background: var(--mt-gold); }

@media (max-width: 991px) {
  #page-content #flexslider-nav ul li .text { padding-bottom: 100px; }
  #page-content #flexslider-nav .slider-navigation { bottom: 36px; }
}
/* Phones: the solid 70px header sits above the hero, so size it to what is left of the first screen;
   copy and controls stack bottom-left. */
@media (max-width: 767px) {
  #page-content #flexslider-nav,
  #page-content #flexslider-nav .slides,
  #page-content #flexslider-nav .slides li { height: min(calc(100vh - 70px), 640px) !important; min-height: 480px; }
  #page-content #flexslider-nav ul li .text { padding: 0 20px 96px; }
  #page-content #flexslider-nav ul li .text .slide_eyebrow { font-size: 11px; letter-spacing: .12em; margin-bottom: 14px; }
  #page-content #flexslider-nav ul li .text .slide_eyebrow:before { width: 20px; }
  #page-content #flexslider-nav ul li .text .slide_title { font-size: 28px; max-width: none; margin-bottom: 10px; }
  #page-content #flexslider-nav ul li .text .slide_sub { font-size: 15px; margin-bottom: 20px; }
  .slide_actions .button { padding: 10px 18px; font-size: 13px; }
  #page-content #flexslider-nav .slider-navigation { bottom: 28px; padding: 0 20px; justify-content: flex-start; gap: 12px; }
  #page-content #flexslider-nav .slider-navigation .flex-prev,
  #page-content #flexslider-nav .slider-navigation .flex-next,
  #page-content #flexslider-nav .slider-navigation .flex-prev:hover,
  #page-content #flexslider-nav .slider-navigation .flex-next:hover { width: 40px; height: 40px; line-height: 38px; }
}

/* --- Category page v3: panoramic banner, stats strip, alternating feature rows ---- */
.cat_hero { padding: 36px 0 10px; }
.cat_hero_media { position: relative; border-radius: var(--mt-radius); overflow: hidden; aspect-ratio: 21 / 9; background: var(--mt-ink-2); box-shadow: var(--mt-shadow); }
.cat_hero_media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cat_hero_media:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(31, 27, 20, .05) 35%, rgba(31, 27, 20, .78) 100%); }
.cat_hero_text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 0 48px 70px; color: #fff; }
.cat_hero_eyebrow { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mt-gold); margin: 0 0 10px; }
.cat_hero_text h1 { font-family: var(--mt-display); font-weight: 700; font-size: clamp(32px, 4.6vw, 58px); line-height: 1.08; color: #fff; margin: 0; letter-spacing: 0; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); max-width: 14ch; }

.cat_stats {
  position: relative; z-index: 2; margin: -44px 40px 0; padding: 22px 32px;
  background: #fff; border-radius: var(--mt-radius-sm); box-shadow: var(--mt-shadow); border: 1px solid var(--mt-line);
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.cat_stats_list { display: flex; flex-wrap: wrap; gap: 0 44px; margin: 0; }
.cat_stats_list dt { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); margin: 0 0 4px; }
.cat_stats_list dd { font-family: var(--mt-display); font-size: 24px; font-weight: 700; color: var(--mt-ink); margin: 0; line-height: 1.15; white-space: nowrap; }
.cat_stats_cta { flex: 0 0 auto; }

.cat_desc { max-width: 820px; margin: 40px auto 0; font-size: 17px; line-height: 1.8; color: var(--mt-text); text-align: center; }
.cat_desc p { text-align: center !important; }
.cat_desc p:last-child { margin-bottom: 0; }

.cat_features { padding: 50px 0 80px; }
.tour_filter { margin-bottom: 10px; }
.tour_features { display: flex; flex-direction: column; gap: 72px; }
.tour_feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.tour_feature:nth-child(even) .tour_feature_media { order: 2; }
.tour_feature_media { position: relative; display: block; border-radius: var(--mt-radius); overflow: hidden; aspect-ratio: 4 / 3; background: var(--mt-surface); box-shadow: var(--mt-shadow); }
.tour_feature_media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s var(--mt-ease); }
.tour_feature:hover .tour_feature_media img { transform: scale(1.04); }
.tour_feature_index {
  position: absolute; top: 18px; left: 18px; z-index: 1;
  font-family: var(--mt-font); font-size: 13px; font-weight: 700; letter-spacing: .08em; font-variant-numeric: tabular-nums;
  color: var(--mt-ink); background: rgba(255, 255, 255, .92); padding: 6px 12px; border-radius: 999px;
}
.tour_feature_body { min-width: 0; }
.tour_feature_tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.tour_tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--mt-text); background: var(--mt-surface); border: 1px solid var(--mt-line); }
.tour_tag .fa { color: var(--mt-gold-dark); }
.tour_tag_price { background: var(--mt-gold-soft); border-color: #e9dfc4; color: var(--mt-brown); font-family: var(--mt-display); font-weight: 700; font-size: 13.5px; }
.tour_tag_price small { font-size: 11.5px; font-weight: 500; color: var(--mt-muted); }
.tour_feature_title { font-family: var(--mt-display); font-size: clamp(26px, 2.6vw, 34px); font-weight: 700; line-height: 1.2; letter-spacing: 0; margin: 0 0 16px; }
.tour_feature_title a { color: var(--mt-ink); }
.tour_feature_title a:hover { color: var(--mt-brown); }
.tour_feature_excerpt { font-size: 16px; line-height: 1.75; color: var(--mt-text); margin: 0 0 24px; }

.tour_feature_dates { padding: 18px 0 0; border-top: 1px solid var(--mt-line); margin-bottom: 24px; }
.tour_feature_dates_label { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-ink); margin: 0 0 12px; }
.tour_feature_dates_label span { color: var(--mt-muted); font-weight: 500; letter-spacing: .04em; text-transform: none; font-size: 13.5px; margin-left: 6px; }
.tour_feature_dates_note { font-size: 14.5px; color: var(--mt-muted); margin: 0; }
.date_chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.date_chip {
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 999px;
  font-size: 13.5px; font-weight: 500; color: var(--mt-ink); background: #fff; border: 1px solid var(--mt-line); white-space: nowrap;
  transition: border-color .2s, background .2s;
}
.date_chip:hover { border-color: var(--mt-gold-dark); background: var(--mt-gold-soft); color: var(--mt-ink); }
.date_chip_dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mt-gold-dark); flex: 0 0 auto; }
.date_chip_guaranteed .date_chip_dot { background: #2f7a3e; }
.date_chip_soldout, .date_chip_closed { color: var(--mt-muted); text-decoration: line-through; }
.date_chip_soldout .date_chip_dot, .date_chip_closed .date_chip_dot { background: #a33a2a; }
.date_chip_more { background: var(--mt-surface); color: var(--mt-brown); font-weight: 600; }

.tour_feature_actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.tour_feature_link { display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 600; color: var(--mt-brown); }
.tour_feature_link:hover { color: var(--mt-gold-dark); }

@media (max-width: 991px) {
  .cat_hero_media { aspect-ratio: 16 / 9; }
  .cat_hero_text { padding: 0 28px 60px; }
  .cat_stats { margin: -36px 20px 0; padding: 18px 22px; flex-wrap: wrap; }
  .cat_stats_list { gap: 0 28px; }
  .cat_stats_list dd { font-size: 20px; }
  .tour_feature { gap: 32px; }
  .tour_features { gap: 56px; }
}
@media (max-width: 767px) {
  .cat_hero { padding: 20px 0 0; }
  .cat_hero_media { aspect-ratio: 4 / 3; border-radius: var(--mt-radius-sm); }
  .cat_hero_text { padding: 0 20px 44px; }
  .cat_hero_text h1 { max-width: none; }
  .cat_stats { margin: -24px 10px 0; padding: 16px 18px; gap: 16px; }
  .cat_stats_list { gap: 10px 22px; }
  .cat_stats_list dd { font-size: 18px; }
  .cat_stats_cta { width: 100%; }
  .cat_desc { margin-top: 28px; font-size: 16px; text-align: left; }
  .cat_desc p { text-align: left !important; }
  .cat_features { padding: 36px 0 56px; }
  .tour_features { gap: 44px; }
  .tour_feature { grid-template-columns: 1fr; gap: 20px; }
  .tour_feature:nth-child(even) .tour_feature_media { order: 0; }
  .tour_feature_media { aspect-ratio: 16 / 10; border-radius: var(--mt-radius-sm); }
  .tour_feature_title { font-size: 24px; }
  .tour_feature_excerpt { font-size: 15.5px; margin-bottom: 18px; }
  .tour_feature_actions { gap: 14px; }
  .tour_feature_actions .button { width: 100%; }
}
/* Regions page still uses the old list wrapper. */
.category_list_wrap { padding: 50px 0 30px; background: var(--mt-surface); }

/* --- Tour detail v2 (modelled on mongoliabiking.com's tour page) ------------
   Hero with breadcrumb + price card, sticky section nav under the fixed header, overview with a
   "trip at a glance" card, photo mosaic, itinerary timeline with dates & prices beside it, included /
   not included / travel info cards, route map, reviews, related tours and a closing call to action. */
.td_page { --td-nav-h: 60px; }
/* Bootstrap's .container clearfix pseudo-elements would become grid/flex items. */
.td_page .container:before, .td_page .container:after { content: none; }
.td_section { padding: 56px 0; scroll-margin-top: var(--td-nav-offset, calc(68px + var(--td-nav-h))); }
.td_section_tight { padding-top: 0; }
.td_section_surface { background: var(--mt-surface); }
.td_section_after_surface { padding-top: 8px; }
.td_title { font-size: clamp(26px, 3vw, 36px); margin: 0 0 28px; }
.td_narrow { max-width: 800px; }
.td_content, .td_content p { font-size: 16.5px; line-height: 1.8; color: var(--mt-text); }
.td_content p { text-align: left !important; }
.td_content p:last-child { margin-bottom: 0; }
.td_content img { max-width: 100%; height: auto; border-radius: var(--mt-radius-sm); }
.td_muted { color: var(--mt-muted); font-size: 14.5px; margin: 0; }
.td_muted a { color: var(--mt-brown); font-weight: 600; text-decoration: underline; }
.td_block_btn { display: flex; width: 100%; margin-top: 10px; }
.td_card { background: var(--mt-surface); border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 24px; }
.td_card_white { background: #fff; box-shadow: var(--mt-shadow-sm); }
.td_card h3 { font-size: 19px; font-weight: 700; margin: 0 0 14px; letter-spacing: -.01em; }

/* Hero */
.td_hero { position: relative; isolation: isolate; background: var(--mt-ink-2); color: #fff; overflow: hidden; }
.td_hero_img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.td_hero_shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(31, 27, 20, .25) 0%, rgba(31, 27, 20, .35) 40%, rgba(31, 27, 20, .88) 100%); }
.td_hero_inner { padding-top: 56px; padding-bottom: 44px; min-height: 480px; display: flex; flex-direction: column; justify-content: flex-end; }
.td_crumbs { margin-bottom: 18px; font-size: 13.5px; }
.td_crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; }
.td_crumbs li { color: rgba(255, 255, 255, .7); }
.td_crumbs li + li:before { content: "/"; margin: 0 10px; color: rgba(255, 255, 255, .45); }
.td_crumbs a { color: rgba(255, 255, 255, .8); }
.td_crumbs a:hover { color: #fff; }
.td_crumbs span[aria-current] { color: #fff; }
.td_hero_grid { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.td_hero_text { max-width: 760px; min-width: 0; }
.td_eyebrow { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mt-gold); margin: 0 0 10px; }
.td_hero_text h1 { color: #fff; font-size: clamp(32px, 4.4vw, 56px); line-height: 1.08; margin: 0 0 18px; text-shadow: 0 2px 20px rgba(0, 0, 0, .35); }
.td_guaranteed {
  display: inline-flex; align-items: center; gap: 12px; margin: 0 0 18px; padding: 6px 14px 6px 6px; border-radius: 14px;
  background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28); backdrop-filter: blur(6px); color: #fff;
}
.td_guaranteed:hover { background: rgba(255, 255, 255, .2); color: #fff; }
.td_guaranteed_icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: linear-gradient(135deg, var(--mt-gold), var(--mt-gold-dark)); color: var(--mt-ink); font-size: 16px; }
.td_guaranteed_text { display: flex; flex-direction: column; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.td_guaranteed_text strong { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-gold); }
.td_hero_meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 16px; color: rgba(255, 255, 255, .92); }
.td_hero_meta li { display: inline-flex; align-items: center; gap: 9px; }
.td_hero_meta .fa { color: var(--mt-gold); font-size: 17px; }
.td_price_card {
  flex: 0 0 auto; display: flex; align-items: center; gap: 22px; padding: 18px 22px; border-radius: var(--mt-radius);
  background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); backdrop-filter: blur(10px);
}
.td_price { margin: 0; line-height: 1.1; color: rgba(255, 255, 255, .8); font-size: 14px; }
.td_price span { display: block; margin-bottom: 4px; }
.td_price strong { font-family: var(--mt-display); font-size: 34px; font-weight: 700; color: #fff; letter-spacing: -.02em; }
.td_price small { font-size: 14px; color: rgba(255, 255, 255, .7); }

/* Section nav: sticks under the fixed header */
.td_nav { position: relative; z-index: 40; background: rgba(255, 255, 255, .95); backdrop-filter: blur(10px); border-bottom: 1px solid var(--mt-line); }
.td_nav_inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.td_nav ul { list-style: none; margin: 0 -15px 0 0; padding: 0; display: flex; gap: 26px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.td_nav ul::-webkit-scrollbar { display: none; }
.td_nav ul a { display: block; padding: 19px 0 16px; border-bottom: 3px solid transparent; font-size: 14.5px; font-weight: 500; color: var(--mt-muted); }
.td_nav ul a:hover { color: var(--mt-ink); }
.td_nav ul a.active { color: var(--mt-ink); border-bottom-color: var(--mt-gold); }
.td_nav_book { padding: 8px 20px; font-size: 13px; }
.td_nav.is_fixed { position: fixed; left: 0; right: 0; box-shadow: 0 8px 24px -18px rgba(0, 0, 0, .35); transition: transform .25s var(--mt-ease), opacity .25s; }
.td_nav.is_hidden { transform: translateY(-120%); opacity: 0; pointer-events: none; }

/* Overview */
.td_overview { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.td_aside { display: flex; flex-direction: column; gap: 24px; }
.td_aside_img { display: block; border-radius: var(--mt-radius); overflow: hidden; border: 1px solid var(--mt-line); background: #fff; }
.td_aside_img img { width: 100%; height: auto; display: block; }
.td_glance { background: var(--mt-surface); border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 24px; }
.td_glance h2 { font-size: 19px; font-weight: 700; margin: 0 0 8px; letter-spacing: -.01em; }
.td_glance dl { margin: 0 0 18px; font-size: 14.5px; }
.td_glance dl div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--mt-line); }
.td_glance dl div:last-child { border-bottom: 0; }
.td_glance dt { color: var(--mt-muted); font-weight: 400; }
.td_glance dd { margin: 0; font-weight: 600; color: var(--mt-ink); text-align: right; }
.td_glance dd a { color: var(--mt-ink); }
.td_glance dd a:hover { color: var(--mt-brown); text-decoration: underline; }

/* Photo mosaic */
.td_mosaic { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; border-radius: var(--mt-radius); overflow: hidden; }
.td_mosaic_item { position: relative; display: block; overflow: hidden; background: var(--mt-surface); aspect-ratio: 1; }
.td_mosaic_item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--mt-ease); }
.td_mosaic_item:hover img { transform: scale(1.05); }
.td_mosaic_main { grid-column: span 2; aspect-ratio: 16 / 10; }
.td_mosaic_more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(31, 27, 20, .55); color: #fff; text-align: center; font-size: 13px; line-height: 1.2; }
.td_mosaic_more strong { display: block; font-family: var(--mt-display); font-size: 28px; font-weight: 700; }
.td_mosaic_more_desktop, .td_mosaic_desktop { display: none; }
@media (min-width: 768px) {
  .td_mosaic { height: 480px; grid-template-rows: repeat(2, 1fr); }
  .td_mosaic_item, .td_mosaic_main { aspect-ratio: auto; grid-column: auto; height: 100%; }
  .td_mosaic_desktop { display: block; }
  .td_mosaic_more_mobile { display: none; }
  .td_mosaic_more_desktop { display: grid; }
  .td_mosaic_1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
  .td_mosaic_2 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
  .td_mosaic_3 { grid-template-columns: 2fr 1fr; } .td_mosaic_3 .td_mosaic_main { grid-row: span 2; }
  .td_mosaic_4 { grid-template-columns: 2fr 1fr 1fr; } .td_mosaic_4 .td_mosaic_main { grid-row: span 2; } .td_mosaic_4 .td_mosaic_item:nth-child(2) { grid-column: span 2; }
  .td_mosaic_5 { grid-template-columns: 2fr 1fr 1fr; } .td_mosaic_5 .td_mosaic_main { grid-row: span 2; }
}

/* Itinerary */
.td_itin_grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 40px; align-items: start; }
.td_itin_grid_full { grid-template-columns: 1fr; }
.td_itin_aside { position: sticky; top: calc(var(--td-nav-offset, 128px) + 24px); }
.td_dates { display: flex; flex-direction: column; gap: 20px; }
.td_dates_head { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); padding-bottom: 8px; }
.td_dates_list { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.td_dates_list li { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--mt-line); }
.td_dates_list time { font-weight: 500; color: var(--mt-ink); }
.td_dates_label { display: none; }
.td_dates_status { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.td_dates_status a { font-size: 13px; font-weight: 700; color: var(--mt-brown); }
.td_dates_status a:hover { text-decoration: underline; }
.td_status { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--mt-surface); color: var(--mt-text); }
.td_status_guaranteed { background: #e3f2e5; color: #2f7a3e; }
.td_status_soldout, .td_status_closed { background: #f6e3df; color: #a33a2a; }
.td_prices { width: 100%; font-size: 14px; border-collapse: collapse; }
.td_prices th { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); font-weight: 500; padding: 0 0 8px; text-align: left; }
.td_prices th:last-child, .td_prices td:last-child { text-align: right; }
.td_prices td { padding: 10px 0; border-top: 1px solid var(--mt-line); }
.td_prices td:last-child { font-weight: 700; color: var(--mt-ink); }
.td_days { list-style: none; margin: 0; padding: 0 0 0 40px; position: relative; display: flex; flex-direction: column; gap: 22px; }
.td_days:before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 11px; width: 2px; background: var(--mt-gold); opacity: .6; }
.td_day { position: relative; }
.td_day_dot { position: absolute; top: 20px; left: -40px; width: 24px; height: 24px; border-radius: 50%; background: var(--mt-gold-dark); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; box-shadow: 0 0 0 4px var(--mt-surface); }
.td_day_card { background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 24px 26px; box-shadow: var(--mt-shadow-sm); }
.td_day_card h3 { font-size: 19px; font-weight: 700; margin: 0 0 12px; line-height: 1.35; letter-spacing: -.01em; }
.td_day_card h3 span { color: var(--mt-gold-dark); }
.td_day_text, .td_day_text p { font-size: 15.5px; color: var(--mt-text); }
.td_facts { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.td_facts li { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; background: var(--mt-surface); border: 1px solid var(--mt-line); font-size: 12.5px; font-weight: 500; color: var(--mt-text); }
.td_facts .fa { color: var(--mt-gold-dark); font-size: 13px; }

/* Included / map / reviews */
.td_incl_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.td_list { list-style: none; margin: 0; padding: 0; font-size: 14.5px; }
.td_list li { display: flex; gap: 12px; padding: 7px 0; line-height: 1.55; color: var(--mt-text); }
.td_list .fa { flex: 0 0 auto; margin-top: 4px; font-size: 14px; }
.td_ok { color: #2f7a3e; }
.td_no { color: #a33a2a; }
.td_list_dots li:before { content: ""; flex: 0 0 auto; width: 6px; height: 6px; margin-top: 9px; border-radius: 50%; background: var(--mt-gold-dark); }
.td_list a { color: var(--mt-ink); }
.td_list a:hover { color: var(--mt-brown); text-decoration: underline; }
.td_map { border-radius: var(--mt-radius); overflow: hidden; border: 1px solid var(--mt-line); background: #fff; line-height: 0; }
.td_map iframe { width: 100%; height: 520px; border: 0; display: block; }
.td_reviews { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; align-items: start; }
.td_review { margin: 0; background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 26px; }
.td_review blockquote { margin: 0; padding: 0; border: 0; font-size: 15.5px; }
.td_review blockquote p { font-size: 15.5px; }
.td_review figcaption { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.td_review_avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.td_review figcaption strong { display: block; font-size: 15px; color: var(--mt-ink); }
.td_review figcaption a { font-size: 13.5px; color: var(--mt-gold-dark); }

/* Related tours + CTA */
.td_related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.td_related_card { margin: 0; position: relative; }
.td_related_card .tour_days { position: absolute; }
.td_related_foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.td_related_foot .tour_from { font-size: 13px; color: var(--mt-muted); }
.td_related_foot .tour_from strong { font-family: var(--mt-display); font-size: 18px; font-weight: 700; color: var(--mt-ink); }
.td_cta { background: var(--mt-ink); color: #fff; padding: 56px 0; }
.td_cta_inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.td_cta h2 { color: #fff; font-size: clamp(24px, 2.8vw, 32px); margin: 0 0 8px; }
.td_cta p { margin: 0; color: rgba(255, 255, 255, .75); font-size: 16px; }
.td_cta_actions { display: flex; gap: 12px; flex-wrap: wrap; }

@media (max-width: 1199px) {
  .td_itin_grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px; }
}
@media (max-width: 991px) {
  .td_section { padding: 44px 0; }
  .td_overview { grid-template-columns: 1fr; gap: 32px; }
  .td_itin_grid { grid-template-columns: 1fr; }
  .td_itin_aside { position: static; }
  .td_incl_grid { grid-template-columns: 1fr; gap: 16px; }
  .td_reviews, .td_related { grid-template-columns: 1fr 1fr; }
  .td_map iframe { height: 420px; }
}
@media (max-width: 767px) {
  .td_page { --td-nav-h: 52px; }
  .td_section { padding: 36px 0; }
  .td_hero_inner { padding-top: 28px; padding-bottom: 28px; min-height: 420px; }
  .td_hero_grid { flex-direction: column; align-items: stretch; gap: 20px; }
  .td_hero_text h1 { font-size: 30px; margin-bottom: 14px; }
  .td_hero_meta { gap: 8px 18px; font-size: 14.5px; }
  .td_price_card { justify-content: space-between; padding: 14px 16px; }
  .td_price strong { font-size: 28px; }
  .td_nav ul { gap: 18px; }
  .td_nav ul a { padding: 15px 0 12px; font-size: 14px; }
  .td_nav_book { display: none; }
  .td_card, .td_glance, .td_day_card, .td_review { padding: 18px; }
  .td_dates_head { display: none; }
  .td_dates_list li { grid-template-columns: 1fr 1fr; }
  .td_dates_label { display: block; font-size: 11px; color: var(--mt-muted); text-transform: uppercase; letter-spacing: .08em; }
  .td_dates_status { grid-column: span 2; justify-content: space-between; }
  .td_days { padding-left: 0; gap: 16px; }
  .td_days:before, .td_day_dot { display: none; }
  .td_reviews, .td_related { grid-template-columns: 1fr; }
  .td_map iframe { height: 320px; }
  .td_cta { padding: 40px 0; }
  .td_cta_actions { width: 100%; }
  .td_cta_actions .button { flex: 1 1 auto; }
}

/* --- Inner pages v2: shared header band, content grid, sidebar, lists, forms, date tables --------
   Matches the home / category / tour redesign (Manrope headings, rounded cards, gold accents). */
.pg .container:before, .pg .container:after { content: none; }
.pg_section { padding: 56px 0; }
.pg_grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.pg_article .td_content { font-size: 17px; }
.pg_article .td_content h2, .pg_article .td_content h3 { margin: 32px 0 12px; }
.pg_article .td_content h2 { font-size: 26px; } .pg_article .td_content h3 { font-size: 21px; }
.pg_article .td_content ul, .pg_article .td_content ol { padding-left: 22px; }
.pg_article .td_content li { margin-bottom: 6px; }
.pg_article .td_content iframe { width: 100%; border-radius: var(--mt-radius); }
.pg_gallery { margin-top: 36px; }
.pg_aside { display: flex; flex-direction: column; gap: 24px; }
.pg_aside .td_card h3 { font-size: 17px; }
.side_links { list-style: none; margin: 0 0 18px; padding: 0; }
.side_links li { border-top: 1px solid var(--mt-line); }
.side_links li:first-child { border-top: 0; }
.side_links a { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; font-size: 15px; font-weight: 500; color: var(--mt-ink); }
.side_links a:after { content: "\f105"; font-family: FontAwesome; color: #b9b3a6; }
.side_links a:hover, .side_links a.active { color: var(--mt-brown); }
.side_tours { list-style: none; margin: 0; padding: 0; }
.side_tours li { border-top: 1px solid var(--mt-line); }
.side_tours li:first-child { border-top: 0; }
.side_tours a { display: flex; gap: 14px; align-items: center; padding: 12px 0; color: var(--mt-ink); }
.side_tours img { width: 72px; height: 56px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
.side_tours strong { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.35; }
.side_tours small { display: block; font-size: 12.5px; color: var(--mt-muted); margin-top: 2px; }
.side_tours a:hover strong { color: var(--mt-brown); }
.pg_empty { text-align: center; padding: 56px 24px; background: var(--mt-surface); border: 1px dashed var(--mt-line); border-radius: var(--mt-radius); }
.pg_empty p { font-size: 17px; color: var(--mt-muted); margin: 0 0 18px; }
.pg_alert { padding: 14px 18px; border-radius: 12px; font-size: 15px; margin: 0 0 20px; }
.pg_alert_ok { background: #e3f2e5; color: #2f7a3e; }

/* Header band: dark by default, photo when the page has one */
.ph { position: relative; isolation: isolate; background: var(--mt-ink-2); color: #fff; overflow: hidden; }
.ph:before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 85% 0%, rgba(203, 189, 154, .28), transparent 55%), linear-gradient(180deg, #332c1c, var(--mt-ink)); }
.ph_img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.ph_shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(31, 27, 20, .25) 0%, rgba(31, 27, 20, .35) 45%, rgba(31, 27, 20, .86) 100%); }
.ph:not(.ph_image) .ph_shade { display: none; }
.ph_inner { padding-top: 40px; padding-bottom: 44px; }
.ph_image .ph_inner { padding-top: 64px; padding-bottom: 48px; min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end; }
.ph .td_crumbs { margin-bottom: 18px; }
.ph h1 { color: #fff; font-size: clamp(30px, 4vw, 50px); line-height: 1.1; margin: 0; max-width: 20ch; text-shadow: 0 2px 20px rgba(0, 0, 0, .3); }
.ph_intro { max-width: 720px; margin-top: 14px; font-size: 16.5px; line-height: 1.7; color: rgba(255, 255, 255, .82); }
.ph_intro p { margin: 0 0 8px; color: inherit; text-align: left !important; }
.ph_intro p:last-child { margin-bottom: 0; }
.ph_actions { margin-top: 22px; display: flex; gap: 12px; flex-wrap: wrap; }

/* List rows (About Mongolia, Services, Destinations) */
.pg_list { display: flex; flex-direction: column; gap: 24px; }
.post_row { display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 1fr); gap: 26px; align-items: center; background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 18px; transition: box-shadow .25s var(--mt-ease), transform .25s var(--mt-ease); }
.post_row:hover { box-shadow: var(--mt-shadow); transform: translateY(-2px); }
.post_row_img { display: block; border-radius: var(--mt-radius-sm); overflow: hidden; aspect-ratio: 4 / 3; background: var(--mt-surface); }
.post_row_img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--mt-ease); }
.post_row:hover .post_row_img img { transform: scale(1.04); }
.post_row_body h2 { font-size: 22px; line-height: 1.3; margin: 0 0 10px; }
.post_row_body h2 a { color: var(--mt-ink); }
.post_row_body h2 a:hover { color: var(--mt-brown); }
.post_row_body p { font-size: 15.5px; line-height: 1.7; color: var(--mt-text); margin: 0 0 14px; }
.pg_list .pagination { margin-top: 10px; }

/* Team & memberships (About us) */
.team_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.team_card { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 22px; align-items: start; background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 24px; text-align: left; }
.team_photo { width: 104px; height: 104px; border-radius: 50%; overflow: hidden; background: var(--mt-surface); box-shadow: 0 0 0 5px var(--mt-gold-soft); }
.team_photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.team_body { min-width: 0; }
.team_card h3 { font-size: 19px; margin: 2px 0 8px; }
.team_role { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.team_role span { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mt-gold-dark); background: var(--mt-gold-soft); border-radius: 999px; padding: 4px 10px; line-height: 1.3; }
.team_text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.team_text, .team_text p { font-size: 14.5px; color: var(--mt-text); line-height: 1.65; }
.team_text p { text-align: left !important; margin: 0 0 6px; }
.team_card.is_open .team_text { display: block; -webkit-line-clamp: none; }
.team_more { margin-top: 10px; padding: 0; border: 0; background: none; font-family: var(--mt-font); font-size: 13px; font-weight: 600; color: var(--mt-brown); cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.team_more i { transition: transform .25s var(--mt-ease); }
.team_more:hover { color: var(--mt-ink); }
.team_card.is_open .team_more i { transform: rotate(180deg); }
.team_more[hidden] { display: none; }
.member_grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.member_card { display: flex; flex-direction: column; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); padding: 26px; color: var(--mt-ink); font-weight: 600; text-align: center; }
.member_card img { max-height: 110px; width: auto; max-width: 100%; object-fit: contain; }
.member_card:hover { box-shadow: var(--mt-shadow); color: var(--mt-brown); }

/* Forms */
.form_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; }
.ff { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ff_full { grid-column: 1 / -1; }
.ff label { font-size: 13.5px; font-weight: 600; color: var(--mt-ink); margin: 0; }
.ff_req { color: #a33a2a; }
.ff .form-control { height: 48px; border-radius: 12px; border: 1px solid var(--mt-line); background: var(--mt-surface); font-size: 15px; padding: 0 16px; box-shadow: none; color: var(--mt-ink); }
.ff textarea.form-control { height: auto; padding: 12px 16px; min-height: 120px; }
.ff .form-control:focus { background: #fff; border-color: var(--mt-gold-dark); box-shadow: 0 0 0 4px rgba(203, 189, 154, .3); }
.ff_error { font-size: 12.5px; color: #a33a2a; }
.form_submit_row { margin-top: 6px; }
.form_submit_row .button { min-width: 220px; }
.ct_form h2, .bk_form h2 { font-size: 24px; margin: 0 0 6px; }
.bk_form h2 { margin: 8px 0 18px; padding-top: 8px; }
.bk_form h2 + .form_grid + h2 { margin-top: 28px; border-top: 1px solid var(--mt-line); padding-top: 24px; }
.ct_form .td_muted { margin-bottom: 20px; }

/* Contact */
.ct_grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 32px; align-items: start; }
.ct_list { list-style: none; margin: 0 0 18px; padding: 0; }
.ct_list li { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--mt-line); font-size: 15px; line-height: 1.5; color: var(--mt-text); }
.ct_list li:first-child { border-top: 0; }
.ct_list .fa { flex: 0 0 22px; margin-top: 3px; color: var(--mt-gold-dark); font-size: 17px; text-align: center; }
.ct_list a { color: var(--mt-ink); }
.ct_list a:hover { color: var(--mt-brown); }
.ct_social { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.ct_social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid var(--mt-line); color: var(--mt-ink); }
.ct_social a:hover { background: var(--mt-gold); border-color: var(--mt-gold); }
.ct_map { margin-top: 32px; border-radius: var(--mt-radius); overflow: hidden; border: 1px solid var(--mt-line); line-height: 0; background: var(--mt-surface); }
.ct_map iframe { width: 100%; height: 440px; border: 0; display: block; }

/* Booking */
.bk_grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.bk_tour_img { display: block; border-radius: var(--mt-radius-sm); overflow: hidden; aspect-ratio: 16 / 10; margin-bottom: 16px; }
.bk_tour_img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk_tour h3 { font-size: 19px; margin: 0 0 10px; }
.bk_tour h3 a { color: var(--mt-ink); }
.td_glance_list { margin: 0 0 16px; font-size: 14.5px; }
.td_glance_list div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-top: 1px solid var(--mt-line); }
.td_glance_list dt { color: var(--mt-muted); font-weight: 400; }
.td_glance_list dd { margin: 0; font-weight: 600; color: var(--mt-ink); text-align: right; }

/* Date tables (calendar, guaranteed departures) */
.cal_count { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); margin: 0 0 24px; }
.cal_month { display: flex; align-items: baseline; gap: 12px; font-size: 24px; margin: 40px 0 14px; }
.cal_month:first-of-type { margin-top: 0; }
.cal_month span { font-family: var(--mt-font); font-size: 14px; font-weight: 500; color: var(--mt-muted); letter-spacing: 0; }
.cal_month a { color: var(--mt-ink); }
.cal_month a:hover { color: var(--mt-brown); }
.cal_table { background: #fff; border: 1px solid var(--mt-line); border-radius: var(--mt-radius); overflow: hidden; box-shadow: var(--mt-shadow-sm); }
.cal_head, .cal_main { display: grid; grid-template-columns: minmax(0, 2.2fr) 1fr 1fr 1fr 1fr minmax(230px, 1.4fr); gap: 16px; align-items: center; padding: 14px 22px; }
.cal_head { background: var(--mt-surface); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); padding-top: 12px; padding-bottom: 12px; }
.cal_row { border-top: 1px solid var(--mt-line); }
.cal_row_closed .cal_tour, .cal_row_closed time { color: var(--mt-muted); }
.cal_main { padding-top: 16px; padding-bottom: 16px; font-size: 14.5px; }
.cal_tour { color: var(--mt-ink); }
.cal_tour strong { display: block; font-weight: 600; line-height: 1.35; }
.cal_tour small { display: block; font-size: 12.5px; color: var(--mt-muted); margin-top: 2px; }
.cal_tour:hover strong { color: var(--mt-brown); }
.cal_label { display: none; }
.cal_price { font-family: var(--mt-display); font-size: 16px; font-weight: 700; color: var(--mt-ink); }
.cal_actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.cal_book { padding: 8px 18px; font-size: 12.5px; }
.cal_toggle { height: 36px; padding: 0 8px 0 14px; border-radius: 999px; border: 1px solid var(--mt-line); background: #fff; color: var(--mt-ink); display: inline-flex; align-items: center; gap: 6px; font-family: var(--mt-font); font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background .2s, border-color .2s; }
.cal_toggle i { font-size: 16px; transition: transform .25s var(--mt-ease); }
.cal_toggle:hover { background: var(--mt-gold-soft); }
.cal_row.is_open .cal_toggle { background: var(--mt-gold); border-color: var(--mt-gold); }
.cal_row.is_open .cal_toggle i { transform: rotate(180deg); }
.cal_more { margin: 0 22px 20px; padding: 22px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 32px; background: var(--mt-surface); border-radius: 12px; }
.cal_more[hidden] { display: none; }
.cal_more h4 { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-muted); margin: 0 0 10px; }
.cal_extras { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.cal_extras li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--mt-line); }
.cal_extras li:first-child { border-top: 0; }
.cal_extras strong { font-family: var(--mt-display); font-weight: 700; color: var(--mt-ink); white-space: nowrap; }
.cal_extras .cal_extra span { color: var(--mt-muted); }
.cal_facts { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 13.5px; color: var(--mt-ink); }
.cal_facts li { display: inline-flex; align-items: center; gap: 8px; }
.cal_facts i { color: var(--mt-brown); font-size: 14px; }
.cal_note { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--mt-line); }
.cal_note, .cal_note p { font-size: 14px; }
.cal_howto { align-self: start; background: #fff; border: 1px solid var(--mt-line); border-radius: 12px; padding: 20px 22px; }
.cal_steps { margin: 0; padding: 0; list-style: none; counter-reset: step; font-size: 13.5px; line-height: 1.5; }
.cal_steps li { counter-increment: step; position: relative; padding: 0 0 10px 34px; }
.cal_steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--mt-gold-soft); color: var(--mt-brown); font-family: var(--mt-display); font-size: 12px; font-weight: 700; display: grid; place-items: center; }
.cal_cta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.cal_cta .button { padding: 9px 18px; font-size: 13px; }
.cal_terms { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--mt-brown); }
.cal_terms:hover { color: var(--mt-ink); }

@media (max-width: 991px) {
  .pg_section { padding: 44px 0; }
  .pg_grid, .ct_grid, .bk_grid { grid-template-columns: 1fr; gap: 28px; }
  .team_grid { grid-template-columns: 1fr; }
  .cal_head { display: none; }
  .cal_main { grid-template-columns: 1fr 1fr; gap: 12px 16px; }
  .cal_main > .cal_tour, .cal_main > .cal_actions { grid-column: 1 / -1; }
  .cal_actions { justify-content: flex-start; }
  .cal_label { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--mt-muted); margin-bottom: 2px; }
  .cal_more { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 767px) {
  .pg_section { padding: 36px 0; }
  .ph_inner { padding-top: 28px; padding-bottom: 32px; }
  .ph_image .ph_inner { min-height: 340px; padding-top: 40px; padding-bottom: 32px; }
  .ph h1 { font-size: 28px; max-width: none; }
  .ph_intro { font-size: 15.5px; }
  .post_row { grid-template-columns: 1fr; gap: 16px; padding: 14px; }
  .post_row_body h2 { font-size: 20px; }
  .team_card { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; padding: 18px; }
  .team_photo { width: 76px; height: 76px; box-shadow: 0 0 0 4px var(--mt-gold-soft); }
  .form_grid { grid-template-columns: 1fr; gap: 16px; }
  .form_submit_row .button { width: 100%; }
  .td_card.ct_form, .td_card.bk_form { padding: 20px; }
  .ct_map iframe { height: 320px; }
  .cal_head, .cal_main { padding-left: 16px; padding-right: 16px; }
  .cal_more { margin: 0 12px 14px; padding: 16px; }
  .cal_howto { padding: 16px; }
  .cal_month { font-size: 21px; flex-wrap: wrap; gap: 6px 10px; }
}
