/* TripCafe client layout. All presentation belongs to the child theme. */
@font-face { font-family: Poppins; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/Poppins-Regular.woff2") format("woff2"), url("../fonts/Poppins-Regular.ttf") format("truetype"); }
@font-face { font-family: Poppins; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/Poppins-Medium.woff2") format("woff2"), url("../fonts/Poppins-Medium.ttf") format("truetype"); }
@font-face { font-family: Poppins; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/Poppins-SemiBold.woff2") format("woff2"), url("../fonts/Poppins-SemiBold.ttf") format("truetype"); }
@font-face { font-family: Poppins; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/Poppins-Bold.woff2") format("woff2"), url("../fonts/Poppins-Bold.ttf") format("truetype"); }
:root {
  --tc-orange: #ec601d;
  --tc-orange-dark: #d94905;
  --tc-ink: #202124;
  --tc-muted: #6c6c6c;
  --tc-border: #e8e8e8;
  --tc-soft: #fafafa;
  --tc-radius: 17px;
  --tc-shadow: 0 12px 38px rgb(0 0 0 / 10%);
  --tc-header-height: 70px;
}
.tc-site { margin: 0; color: var(--tc-ink); background: #fff; font-family: Poppins, Arial, sans-serif; font-size: 15px; line-height: 1.6; overflow-x: clip; }
html.tc-scroll-locked { overflow: hidden; overscroll-behavior: none; }
.tc-site.tc-modal-open { overflow: hidden; }
.tc-site *, .tc-site *::before, .tc-site *::after { box-sizing: border-box; }
.tc-site h1, .tc-site h2, .tc-site h3, .tc-site h4, .tc-site p { margin-top: 0; }
.tc-site h1, .tc-site h2, .tc-site h3, .tc-site h4 { color: inherit; font-family: inherit; font-weight: 600; line-height: 1.25; }
.tc-site h2 { margin-bottom: 9px; font-size: clamp(22px, 1.9vw, 36px); }
.tc-site h2 > strong { font-weight: 600; }
.tc-site h2:has(> strong) { font-weight: 400; }
.tc-site h3 { font-size: 19px; }
.tc-site a { color: inherit; text-decoration: none; }
.tc-site button, .tc-site input, .tc-site select, .tc-site textarea { font: inherit; }
.tc-site button { cursor: pointer; }
.tc-site button:disabled { cursor: not-allowed; opacity: .5; }
.tc-site button, .tc-site input, .tc-site select, .tc-site textarea { max-width: 100%; }
.tc-site img { max-width: 100%; height: auto; vertical-align: middle; }
.tc-site ul { margin-top: 0; }
.tc-site :focus-visible { outline: 3px solid #176da6; outline-offset: 4px; }
.tc-site [hidden] { display: none !important; }
.tc-site .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tc-site .screen-reader-text:focus { z-index: 999999; top: 10px; left: 10px; width: auto; height: auto; padding: 12px 20px; clip: auto; background: #fff; color: #111; }
.tc-container { width: min(1440px, calc(100% - 48px)); margin-inline: auto; }
.tc-section { padding-block: 55px; }
.tc-section--dark { background: #050505; color: #fff; }
.tc-section--soft { background: var(--tc-soft); }
/* Elementor's flex widgets must reserve their complete rendered section height. */
.tc-site .elementor-widget.elementor-widget-tripcafe-section { flex: 0 0 auto !important; align-self: stretch; width: 100%; max-width: 100%; height: auto !important; min-height: min-content; margin-block: 0 !important; }
.tc-site .elementor-widget-tripcafe-section > .elementor-widget-container { display: flow-root; height: auto !important; min-height: 0; }
.tc-site .e-con:has(> .elementor-widget-tripcafe-section) { flex-shrink: 0; height: auto; min-height: 0; --container-widget-flex-shrink: 0; }
.tc-section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.tc-section-heading { min-width: 0; }
.tc-section-heading p, .tc-section-intro { margin-bottom: 0; color: var(--tc-muted); font-size: 14px; }
.tc-section--dark .tc-section-heading p { color: #d0d0d0; }
.tc-section-actions { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.tc-view-all { color: #3189e9 !important; font-size: 14px; text-decoration: underline !important; text-underline-offset: 3px; white-space: nowrap; }
.tc-button, .tc-site button.tc-button, .tc-site a.tc-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--tc-orange); border-radius: 999px; padding: 11px 26px; background: var(--tc-orange); color: #fff; font-weight: 500; line-height: 1.25; text-align: center; text-decoration: none; transition: background .18s ease, border-color .18s ease; }
.tc-button:hover, .tc-site button.tc-button:hover, .tc-site a.tc-button:hover { background: var(--tc-orange-dark); border-color: var(--tc-orange-dark); color: #fff; }
.tc-button--small, .tc-site :is(a, button, summary).tc-button--small { min-height: 38px; padding: 8px 22px; font-size: 14px; }
.tc-button--outline, .tc-site .tc-button--outline { color: var(--tc-orange); background: transparent; }
.tc-center { text-align: center; }
:is(.tc-section-more, .tc-section-cta) { margin-top: 26px; text-align: center; }

/* Shared desktop header and compact mobile drawer. */
.tc-header { position: relative; z-index: 50; width: 100%; background: #fff; box-shadow: 0 1px 0 rgb(0 0 0 / 4%); }
.tc-header-inner { display: flex; align-items: center; gap: 30px; min-height: var(--tc-header-height); }
.tc-logo { display: inline-flex; align-items: center; flex-shrink: 0; margin-right: auto; }
.tc-logo img { display: block; width: 183px; max-height: 57px; object-fit: contain; }
.tc-nav { display: flex; align-items: center; gap: 30px; }
.tc-nav ul { display: flex; align-items: center; gap: 28px; padding: 0; margin: 0; list-style: none; }
.tc-nav li { position: relative; }
.tc-nav .sub-menu { position: absolute; top: 100%; left: 0; z-index: 5; display: none; min-width: 205px; padding: 9px 16px; border: 1px solid var(--tc-border); border-radius: 9px; background: #fff; box-shadow: var(--tc-shadow); }
.tc-nav li:hover > .sub-menu, .tc-nav li:focus-within > .sub-menu { display: block; }
.tc-nav .sub-menu a { padding-block: 9px; }
.tc-nav a { display: block; padding-block: 15px; font-size: 18px; }
.tc-nav a:hover, .tc-nav .current-menu-item > a { color: var(--tc-orange); }
.tc-header-call { white-space: nowrap; font-size: 17px; }
.tc-header-call-short, .tc-call-mobile { display: none; }
.tc-menu-toggle { display: none; width: 40px; height: 40px; padding: 8px; border: 0; background: transparent; color: #555; }
.tc-menu-toggle span { display: block; height: 2px; width: 22px; margin: 5px auto; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.tc-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tc-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tc-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Hero has a real image beneath text, with controlled cropping per viewport. */
.tc-hero { position: relative; isolation: isolate; min-height: 574px; display: grid; place-items: center; overflow: hidden; background: #343940; color: #fff; }
.tc-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(0 0 0 / 22%), rgb(0 0 0 / 12%)); pointer-events: none; }
.tc-hero-slide { position: absolute; inset: 0; z-index: -2; opacity: 0; transition: opacity .7s ease; }
.tc-hero-slide:first-child, .tc-hero-slide.is-active { opacity: 1; }
.tc-hero-slide[aria-hidden="true"] { opacity: 0; }
.tc-hero-picture { display: block; width: 100%; height: 100%; }
.tc-hero-slide img, .tc-hero > img, .tc-hero-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tc-hero > img, .tc-hero-image { position: absolute; inset: 0; z-index: -2; }
.tc-hero-content { position: relative; width: min(100% - 36px, 940px); margin: 55px auto 70px; text-align: center; }
.tc-hero h1 { margin-bottom: 12px; font-size: clamp(36px, 3.5vw, 66px); font-weight: 600; }
.tc-hero p { max-width: 760px; margin: 0 auto 28px; font-size: 22px; line-height: 1.45; }
.tc-hero .tc-button { min-height: 48px; font-size: 17px; }
.tc-search { display: flex; align-items: center; gap: 10px; width: min(920px, 100%); padding: 3px; margin: 56px auto 0; border: 1px solid #e5e5e5; border-radius: 999px; background: #fff; color: var(--tc-ink); text-align: left; }
.tc-search input, .tc-search select { flex: 1; min-width: 0; height: 56px; border: 0; border-radius: 999px; padding: 10px 25px; background: #fff; color: #424242; box-shadow: none; font-size: 20px; }
.tc-search .tc-button { flex-shrink: 0; min-width: 230px; min-height: 56px; font-size: 20px; }
.tc-search-label-mobile { display: none; }
.tc-hero-dots { position: absolute; bottom: 24px; left: 50%; display: flex; gap: 9px; transform: translateX(-50%); }
.tc-hero-dots button { width: 10px; height: 10px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; }
.tc-hero-dots button.is-active, .tc-hero-dots button[aria-current="true"] { background: #fff; }
.tc-hero-pause { position: absolute; bottom: 17px; right: 20px; border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; background: rgb(0 0 0 / 30%); color: #fff; width: 32px; height: 32px; }
.tc-trust-strip { background: #fafafa; }
.tc-trust-strip .tc-container, .tc-trust-items { display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 100px; padding-block: 18px; }
.tc-trust-item { display: flex; align-items: center; gap: 16px; max-width: 230px; font-size: 18px; line-height: 1.35; }
.tc-trust-item img { width: 46px; height: 46px; object-fit: contain; flex-shrink: 0; }
.tc-trust-icon { flex-shrink: 0; font-size: 34px; line-height: 1; }
.tc-trust-item strong { display: block; font-weight: 500; }

/* Shared tabs, filtered grids, and touch-native carousels. */
.tc-tabs { display: flex; gap: 9px; max-width: 100%; margin: 16px 0 24px; overflow-x: auto; scrollbar-width: none; }
.tc-tabs::-webkit-scrollbar { display: none; }
.tc-tabs button, .tc-tabs a { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 7px 28px; border: 1px solid #dfdfdf; border-radius: 999px; background: #fff; color: #7b7b7b; font-size: 16px; line-height: 1.4; white-space: nowrap; }
.tc-tabs button.is-active, .tc-tabs button[aria-selected="true"], .tc-tabs button[aria-pressed="true"], .tc-tabs a.is-active { border-color: var(--tc-orange); background: var(--tc-orange); color: #fff; }
.tc-grid { display: grid; gap: 30px; }
.tc-grid--destinations { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tc-grid--packages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tc-grid--blogs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tc-carousel { position: relative; min-width: 0; }
.tc-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 90px) / 4); gap: 30px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-block: 2px 8px; }
.tc-carousel:where(:not(.tc-carousel--packages):not(.tc-carousel--blogs):not(.tc-carousel--two-rows):not(.tc-carousel--testimonials)) .tc-carousel-track { grid-auto-columns: calc((100% - 120px) / 4.4); }
.tc-carousel-track::-webkit-scrollbar { display: none; }
.tc-carousel-track > * { min-width: 0; scroll-snap-align: start; }
.tc-carousel--packages .tc-carousel-track { grid-auto-columns: calc((100% - 52px) / 3); }
.tc-carousel--destinations .tc-carousel-track { grid-auto-columns: calc((100% - 78px) / 4.3); }
:is(.tc-carousel--testimonials, .tc-testimonials) .tc-carousel-track { grid-auto-columns: calc((100% - 64px) / 3); gap: 32px; }
.tc-carousel-controls { display: inline-flex; align-items: center; gap: 8px; }
.tc-carousel-controls button, button[data-tc-prev], button[data-tc-next] { display: inline-grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid #bcc1c5; border-radius: 50%; background: #fff; color: #30363b; font-size: 21px; line-height: 1; }
.tc-carousel-controls button:hover { border-color: var(--tc-orange); color: var(--tc-orange); }
.tc-carousel-controls button:disabled { opacity: .4; }
.tc-destination-card { display: block; position: relative; min-width: 0; overflow: hidden; border-radius: 20px; aspect-ratio: 1; isolation: isolate; background: #4c686f; color: #fff !important; }
.tc-grid--destinations .tc-destination-card { aspect-ratio: 1.125; }
.tc-destination-card::after { content: ""; position: absolute; inset: 30% 0 0; z-index: -1; background: linear-gradient(transparent, rgb(0 0 0 / 78%)); pointer-events: none; }
.tc-destination-card > img, .tc-destination-image { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; z-index: -2; transition: transform .35s ease; }
.tc-destination-card:hover > img { transform: scale(1.035); }
.tc-destination-content, .tc-destination-card-content { position: absolute; inset: auto 10px 15px; text-align: center; }
:is(.tc-destination-kicker, .tc-destination-card-eyebrow) { display: block; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; }
:is(.tc-destination-title, .tc-destination-card-title), .tc-destination-card h3 { margin: 1px 0 0; font-size: 30px; color: #fff; }
:is(.tc-destination-card--explore, .tc-destination-card--label) { aspect-ratio: 200 / 276; border-radius: 20px; }
:is(.tc-destination-card--explore, .tc-destination-card--label) .tc-destination-content { inset: auto 0 0; padding: 8px 4px; background: #fff; color: #202124; }
:is(.tc-destination-card--explore, .tc-destination-card--label) h3 { color: #202124; font-size: 16px; }
.tc-explore-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 25px; }
.tc-package-card { min-width: 0; overflow: hidden; border: 1px solid var(--tc-border); border-radius: var(--tc-radius); background: #fff; color: var(--tc-ink); box-shadow: 0 2px 5px rgb(0 0 0 / 2%); }
.tc-package-image, .tc-package-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.9; }
.tc-package-image img, .tc-package-card-media img { width: 100%; height: 100%; object-fit: cover; }
.tc-badge { position: absolute; top: 12px; right: 0; padding: 5px 12px; border-radius: 999px 0 0 999px; background: var(--tc-orange); color: #fff; font-size: 10px; font-weight: 500; }
.tc-duration { position: absolute; bottom: 10px; left: 10px; padding: 4px 9px; border-radius: 999px; background: #fff; color: #444; font-size: 10px; line-height: 1.25; }
.tc-package-body, .tc-package-card-body { padding: 14px 14px 8px; }
.tc-package-title, .tc-package-card-title, .tc-package-card h3 { margin: 0 0 13px; font-size: 22px; line-height: 1.3; }
.tc-package-title a:hover { color: var(--tc-orange); }
:is(.tc-package-tags, .tc-package-card-meta) { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 19px; }
:is(.tc-package-tags, .tc-package-card-meta) span { padding: 3px 10px; border-radius: 999px; background: #f4f4f4; color: #777; font-size: 10px; }
:is(.tc-package-features, .tc-package-card-features) { display: grid; gap: 11px; margin: 0 0 15px; padding: 0; list-style: none; color: #666; font-size: 12px; }
:is(.tc-package-features, .tc-package-card-features) li { display: flex; align-items: center; gap: 10px; }
:is(.tc-package-features, .tc-package-card-features) img { flex: 0 0 24px; width: 24px; height: 24px; object-fit: contain; }
:is(.tc-package-features, .tc-package-card-features) .tc-icon { min-width: 25px; font-size: 22px; text-align: center; }
.tc-package-card--domestic :is(.tc-package-features, .tc-package-card-features) { display: flex; justify-content: space-between; gap: 6px; margin-block: 14px; }
.tc-package-card--domestic :is(.tc-package-features, .tc-package-card-features) li { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 9px; }
.tc-package-card--domestic :is(.tc-package-features, .tc-package-card-features) img { width: 30px; height: 30px; }
.tc-package-footer, .tc-package-card-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 13px 16px; background: #fafafa; }
.tc-price, .tc-package-price { flex-shrink: 0; line-height: 1.15; }
.tc-price strong, .tc-package-price strong { display: block; font-size: 25px; font-weight: 700; }
.tc-site :is(.tc-price, .tc-package-price) :is(.amount, bdi, .woocommerce-Price-currencySymbol) { font-size: inherit !important; font-weight: inherit !important; line-height: inherit; color: inherit; }
.tc-price small, .tc-package-price small { display: block; margin-top: 4px; font-size: 9px; color: #7b7b7b; }
.tc-old-price { color: #aaa; font-size: 14px; text-decoration: line-through; }
:is(.tc-package-details-link, .tc-details-link) { margin-left: auto; color: #555 !important; font-size: 11px; text-decoration: underline !important; }
.tc-package-footer .tc-button, .tc-package-card-footer .tc-button { min-height: 36px; padding: 9px 15px; font-size: 11px; }
.tc-empty-state { padding: 32px 18px; text-align: center; color: var(--tc-muted); border: 1px solid var(--tc-border); border-radius: var(--tc-radius); }

/* Homepage proof, budgets, partners, and shared closing sections. */
:is(.tc-why-grid, .tc-split) { display: grid; grid-template-columns: 1.25fr 1fr; gap: 70px; align-items: center; }
:is(.tc-why-copy, .tc-why-content) p { color: var(--tc-muted); font-size: 16px; line-height: 1.8; }
.tc-why-image { width: 100%; aspect-ratio: 1.33; object-fit: cover; border-radius: var(--tc-radius); }
.tc-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: column; grid-template-rows: repeat(2, auto); gap: 40px 70px; padding: 45px 35px; margin-top: 30px; border: 1px solid #ddd; border-radius: 22px; background: #fafafa; }
.tc-benefit { display: flex; align-items: flex-start; gap: 22px; }
.tc-benefit > img { width: 58px; height: 58px; object-fit: contain; flex-shrink: 0; }
.tc-benefit > .tc-icon { font-size: 44px; line-height: 1.2; }
.tc-benefit h3 { margin-bottom: 8px; font-size: 20px; font-weight: 500; }
.tc-benefit p { margin-bottom: 0; color: #777; font-size: 16px; }
.tc-success { background: #050505; color: #fff; padding-block: 60px; min-height: 319px; display: grid; align-items: center; }
.tc-success .tc-container { display: grid; grid-template-columns: 1.2fr 2fr; gap: 60px; align-items: center; }
.tc-success-copy p { font-size: 14px; }
:is(.tc-stats, .tc-stat-grid) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tc-stat { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 160px; padding: 24px 12px; border: 1px solid #ddd; border-radius: 20px; background: #fff; color: #202124; text-align: center; }
.tc-stat strong { display: block; color: var(--tc-orange); font-size: clamp(28px, 2.4vw, 43px); font-weight: 500; line-height: 1.2; }
.tc-stat span { display: block; margin-top: 7px; font-size: 12px; }
.tc-budgets { padding: 40px 34px 55px; margin-top: 45px; border-radius: 22px; background: #fcf3e8; text-align: center; }
.tc-budgets h2 { font-size: 36px; margin-bottom: 40px; }
.tc-budget-list { display: flex; justify-content: center; flex-wrap: wrap; gap: 36px; }
.tc-budget { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 190px; aspect-ratio: 1; border: 1px solid #a8d7ed; border-radius: 50%; background: #ddf2fc; color: #23445b; }
.tc-budget:nth-child(5n+2) { background: #e6ffe7; border-color: #a4d8a6; color: #3f7943; }
.tc-budget:nth-child(5n+3) { background: #fff1cb; border-color: #ead092; color: #8a6a28; }
.tc-budget:nth-child(5n+4) { background: #ffede4; border-color: #eabb9f; color: #994b31; }
.tc-budget:nth-child(5n+5) { background: #ffe6f2; border-color: #ecbbd1; color: #984568; }
.tc-budget small { padding: 3px 10px; border-radius: 3px; background: rgb(255 255 255 / 60%); font-size: 10px; text-transform: uppercase; }
.tc-budget strong { display: block; margin-top: 6px; font-size: 26px; }
.tc-budget .tc-icon { margin-top: 6px; font-size: 20px; }
.tc-partners { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 45px; min-height: 184px; padding: 40px 60px; margin-top: 45px; border: 1px solid #d3d3d3; border-radius: 22px; background: #fafafa; }
.tc-partners h2 { margin: 0; font-size: 34px; }
.tc-partners img { width: 200px; max-height: 74px; object-fit: contain; }
.tc-newsletter { padding-block: 30px; background: #050505; color: #fff; text-align: center; }
.tc-newsletter h2 { margin-bottom: 24px; font-size: clamp(21px, 1.85vw, 34px); }
.tc-newsletter form { max-width: 1050px; margin-inline: auto; }
.tc-newsletter-fields, .tc-newsletter-row { display: flex; align-items: center; padding: 4px; border: 1px solid #ddd; border-radius: 999px; background: #fff; }
.tc-newsletter input[type="email"] { min-width: 0; flex: 1; height: 51px; padding: 12px 24px; border: 0; border-radius: 999px; background: #fff; color: #333; box-shadow: none; }
:is(.tc-newsletter .tc-button, .tc-newsletter button[type="submit"]) { min-width: 230px; min-height: 51px; flex-shrink: 0; font-size: 17px; }
.tc-newsletter-consent { display: flex; justify-content: center; align-items: flex-start; gap: 8px; margin-top: 14px; font-size: 12px; line-height: 1.45; }
.tc-newsletter-consent input { margin-top: 2px; accent-color: var(--tc-orange); }
.tc-newsletter-consent a { text-decoration: underline; }
.tc-newsletter [role="status"], .tc-newsletter [role="alert"] { margin-top: 12px; font-size: 13px; }
.tc-newsletter .cf-turnstile { margin: 10px auto 0; }
.tc-newsletter button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--tc-orange); border-radius: 999px; background: var(--tc-orange); color: #fff; font-weight: 500; line-height: 1.25; }
.tc-newsletter button[type="submit"]:hover { background: var(--tc-orange-dark); border-color: var(--tc-orange-dark); }
.tc-testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 45px; }
.tc-testimonial { padding: 38px 28px 30px; border: 1px solid var(--tc-border); border-radius: var(--tc-radius); background: #fcfcfc; text-align: center; }
:is(.tc-testimonial-quote, .tc-quote-mark) { display: block; margin-bottom: 14px; color: #f05446; font-size: 64px; font-weight: 700; line-height: .8; }
.tc-testimonial h3 { margin: 0; font-size: 17px; }
:is(.tc-stars, .tc-rating) { color: #21234d; font-size: 18px; letter-spacing: 1px; line-height: 1.4; }
.tc-testimonial p { margin: 16px 0 0; color: #888; font-size: 13px; line-height: 1.5; }
.tc-blog-card { overflow: hidden; border: 1px solid var(--tc-border); border-radius: 13px; background: #fff; }
:is(.tc-blog-image, .tc-blog-card-media) { display: block; aspect-ratio: 1.4; overflow: hidden; }
:is(.tc-blog-image, .tc-blog-card-media) img, .tc-blog-card > a > img { width: 100%; height: 100%; object-fit: cover; }
:is(.tc-blog-body, .tc-blog-card-body) { padding: 13px 13px 17px; }
:is(.tc-blog-meta, .tc-blog-card-meta) { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px; margin-bottom: 9px; color: #666; font-size: 10px; }
.tc-blog-card h3 { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.5; }
.tc-blog-card h3 a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tc-blog-card h3 a:hover { color: var(--tc-orange); }
.tc-copy-section { padding-block: 45px 20px; }
.tc-copy-section p, .tc-richtext { color: #777; font-size: 14px; line-height: 1.8; }
.tc-copy-section .tc-copy-more[hidden] { display: none; }
.tc-faq-list { display: grid; gap: 12px; margin-top: 26px; }
.tc-faq-item { padding: 18px 23px; border: 1px solid var(--tc-border); border-radius: 15px; }
.tc-faq-item summary { position: relative; padding-right: 35px; font-size: 16px; font-weight: 600; line-height: 1.5; list-style: none; cursor: pointer; }
.tc-faq-item summary::-webkit-details-marker { display: none; }
.tc-faq-item summary::after { content: "+"; position: absolute; top: -3px; right: 0; color: #666; font-size: 25px; font-weight: 400; }
.tc-faq-item[open] summary::after { content: "−"; }
.tc-faq-answer, .tc-faq-item > p { margin: 8px 35px 0 0; color: #888; font-size: 14px; }

/* Package detail: media, left-hand content, enquiry sidebar. */
:is(.tc-detail-hero, .tc-tour-gallery) { background: #050505; padding-block: 25px; color: #fff; }
:is(.tc-detail-mobile-title, .tc-tour-title-mobile) { display: none; }
:is(.tc-gallery, .tc-gallery-grid) { display: grid; grid-template-columns: 1.1fr 1fr; gap: 12px; }
.tc-gallery-main { position: relative; display: block; overflow: hidden; min-height: 0; border-radius: 2px; background: #333; }
.tc-gallery-main img, .tc-gallery-main video { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.tc-gallery-thumbs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tc-gallery-thumbs a, .tc-gallery-thumbs button { display: block; position: relative; min-width: 0; padding: 0; overflow: hidden; border: 0; border-radius: 2px; background: #333; }
.tc-gallery-thumbs img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:is(.tc-gallery-more, .tc-gallery-label) { position: absolute; bottom: 16px; right: 15px; color: #fff; font-size: 12px; text-decoration: underline; text-shadow: 0 1px 6px #000; }
.tc-video-play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 56px; height: 56px; transform: translate(-50%, -50%); border: 0; border-radius: 50%; background: #fa4545; color: #fff; font-size: 22px; }
:is(.tc-detail-layout, .tc-tour-layout) { display: grid; grid-template-columns: minmax(0, 2.8fr) minmax(270px, 1fr); align-items: start; gap: 27px; padding-block: 38px; }
:is(.tc-detail-content, .tc-tour-content) { min-width: 0; }
:is(.tc-detail-summary, .tc-tour-title-desktop) { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid #ffa478; border-radius: var(--tc-radius); background: #fcfcfc; }
:is(.tc-detail-summary, .tc-tour-title-desktop) h1 { margin: 0; font-size: 25px; }
:is(.tc-detail-summary, .tc-tour-title-desktop) .tc-price { text-align: right; color: var(--tc-orange); }
:is(.tc-detail-summary, .tc-tour-title-desktop) .tc-price strong { font-size: 37px; }
:is(.tc-detail-summary, .tc-tour-title-desktop) .tc-price small { color: #555; }
:is(.tc-detail-panel, .tc-panel) { padding: 24px; margin-top: 25px; border: 1px solid var(--tc-border); border-radius: var(--tc-radius); }
:is(.tc-detail-panel, .tc-panel) h2 { margin-bottom: 23px; font-size: 26px; }
.tc-overview-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 35px; padding: 0; margin: 0; list-style: none; font-size: 15px; color: #626262; }
.tc-overview-list li { display: flex; align-items: center; gap: 12px; }
.tc-overview-list img { width: 30px; height: 30px; object-fit: contain; flex-shrink: 0; }
.tc-overview-list .tc-icon { font-size: 28px; }
:is(.tc-itinerary-list, .tc-itinerary) { display: grid; gap: 14px; }
.tc-itinerary-day { position: relative; padding-left: 91px; }
.tc-itinerary-day summary { display: flex; align-items: center; min-height: 65px; padding: 13px 43px 13px 17px; border: 1px solid var(--tc-border); border-radius: 14px; list-style: none; font-size: 15px; cursor: pointer; }
.tc-itinerary-day summary::-webkit-details-marker { display: none; }
.tc-day-number { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 78px; height: 65px; border-radius: 15px; background: var(--tc-orange); color: #fff; font-size: 14px; }
.tc-itinerary-day summary::after { content: "+"; position: absolute; top: 15px; right: 17px; color: #555; font-size: 23px; }
.tc-itinerary-day[open] summary { border-bottom: 0; border-radius: 14px 14px 0 0; }
.tc-itinerary-day[open] summary::after { content: "−"; }
:is(.tc-itinerary-body, .tc-itinerary-day > .tc-prose) { padding: 12px 17px 18px; border: 1px solid var(--tc-border); border-top: 0; border-radius: 0 0 14px 14px; color: #666; font-size: 14px; }
:is(.tc-itinerary-body, .tc-itinerary-day > .tc-prose) p:last-child, :is(.tc-itinerary-body, .tc-itinerary-day > .tc-prose) ul:last-child { margin-bottom: 0; }
:is(.tc-itinerary-body, .tc-itinerary-day > .tc-prose) ul { padding-left: 18px; }
:is(.tc-itinerary-body, .tc-itinerary-day > .tc-prose) li::marker { color: var(--tc-orange); }
:is(.tc-inclusions, .tc-included > ul), :is(.tc-exclusions, .tc-excluded > ul) { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; color: #666; font-size: 14px; }
:is(.tc-inclusions, .tc-included > ul) li, :is(.tc-exclusions, .tc-excluded > ul) li { position: relative; padding-left: 27px; }
:is(.tc-inclusions, .tc-included > ul) li::before, :is(.tc-exclusions, .tc-excluded > ul) li::before { content: "✓"; position: absolute; top: 2px; left: 0; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #65b45d; color: #fff; font-size: 12px; font-weight: 600; line-height: 1; }
:is(.tc-exclusions, .tc-excluded > ul) li::before { content: "×"; background: #fa4b54; }
.tc-enquiry-sidebar { position: sticky; top: 20px; padding: 24px 17px; border: 1px solid var(--tc-border); border-radius: var(--tc-radius); background: #fff; }
.tc-enquiry-sidebar h2 { margin-bottom: 24px; text-align: center; font-size: 25px; }
.tc-enquiry-sidebar h2::after, .tc-modal-content > h2::after { content: ""; display: block; width: 80px; height: 2px; margin: 14px auto 0; background: #111; }
.tc-mobile-enquiry { display: none; }

/* One native WPForms instance is moved into the accessible enquiry dialog. */
[data-tc-enquiry-form] { min-width: 0; }
.tc-site [data-tc-enquiry-form] .wpforms-container { margin: 0 !important; }
.tc-site [data-tc-enquiry-form] .wpforms-field-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.tc-site [data-tc-enquiry-form] .wpforms-field { grid-column: 1 / -1; width: auto !important; padding: 0 0 16px !important; margin: 0 !important; min-width: 0; clear: none !important; float: none !important; }
.tc-site [data-tc-enquiry-form] .wpforms-field.tc-field-half, .tc-site [data-tc-enquiry-form][data-service="holiday"] .wpforms-field[data-field-id="2"], .tc-site [data-tc-enquiry-form][data-service="holiday"] .wpforms-field[data-field-id="3"] { grid-column: auto; }
.tc-site [data-tc-enquiry-form][data-service="holiday"] .wpforms-field.wpforms-one-half { grid-column: auto; }
.tc-site [data-tc-enquiry-form] .wpforms-field-label { margin: 0 0 7px !important; font-size: 14px !important; line-height: 1.45 !important; font-weight: 400 !important; color: #262626 !important; }
.tc-site [data-tc-enquiry-form] input:not(.wpforms-recaptcha-hidden):not([name="g-recaptcha-hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), .tc-site [data-tc-enquiry-form] select, .tc-site [data-tc-enquiry-form] textarea { width: 100% !important; max-width: 100% !important; height: 46px !important; padding: 10px 12px !important; border: 1px solid #ddd !important; border-radius: 6px !important; background: #fff !important; color: #111 !important; font: inherit !important; font-size: 14px !important; box-shadow: none !important; }
.tc-site [data-tc-enquiry-form] textarea { min-height: 105px !important; resize: vertical; }
.tc-site [data-tc-enquiry-form] .iti { width: 100%; }
.tc-site [data-tc-enquiry-form] input[type="tel"] { padding-left: 88px !important; }
.tc-site [data-tc-enquiry-form] .iti__country-container, .tc-site [data-tc-enquiry-form] .iti__flag-container { left: 0 !important; right: auto !important; width: auto; }
.tc-site [data-tc-enquiry-form] .iti__selected-country, .tc-site [data-tc-enquiry-form] .iti__selected-flag { padding-inline: 10px !important; border-right: 1px solid #e5e5e5; }
.tc-phone-dial-code { margin-left: 6px; color: #222; font: inherit; font-size: 13px; line-height: 1; white-space: nowrap; }
.tc-site [data-tc-enquiry-form] .wpforms-submit-container { padding: 0 !important; margin: 2px 0 0 !important; }
.tc-site [data-tc-enquiry-form] button[type="submit"] { display: block !important; width: 100% !important; height: auto !important; min-height: 49px; padding: 12px 20px !important; border: 1px solid var(--tc-orange) !important; border-radius: 999px !important; background: var(--tc-orange) !important; color: #fff !important; font-size: 18px !important; font-weight: 600 !important; }
.tc-site [data-tc-enquiry-form] .wpforms-container-full { --wpforms-button-background-color: var(--tc-orange) !important; --wpforms-button-background-color-alt: var(--tc-orange) !important; --wpforms-button-text-color: #fff !important; }
.tc-site [data-tc-enquiry-form] div.wpforms-container-full button[type="submit"] { background: var(--tc-orange) !important; border-color: var(--tc-orange) !important; color: #fff !important; }
.tc-site [data-tc-enquiry-form] div.wpforms-container-full button[type="submit"]:is(:hover, :focus, :active) { background: var(--tc-orange-dark) !important; border-color: var(--tc-orange-dark) !important; color: #fff !important; }
.tc-site [data-tc-enquiry-form] div.wpforms-container-full button[type="submit"]:focus::after { border-color: var(--tc-orange-dark) !important; }
.tc-site [data-tc-enquiry-form] div.wpforms-container-full button[type="submit"]:focus-visible { outline: 3px solid #7c2c08 !important; outline-offset: 4px; box-shadow: none !important; }
.tc-site [data-tc-enquiry-form] .wpforms-error { color: #b82828 !important; font-size: 12px !important; }
.tc-site [data-tc-enquiry-form] .wpforms-confirmation-container-full { border: 1px solid #bddbc3; border-radius: 10px; padding: 20px; background: #f0faf2; color: #205c2a; }
.tc-site [data-tc-enquiry-form] .wpforms-field-hp, .tc-site [data-tc-enquiry-form] .wpforms-field-hidden, .tc-site [data-tc-enquiry-form] .tc-honeypot, .tc-honeypot { display: none !important; }
.tc-site [data-tc-enquiry-form] input.wpforms-recaptcha-hidden, .tc-site [data-tc-enquiry-form] input[name="g-recaptcha-hidden"] { position: absolute !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; width: 1px !important; height: 1px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none; }
.tc-enquiry-modal { position: fixed; inset: 0; z-index: 100100; display: flex; align-items: center; justify-content: center; padding: 35px 20px; overscroll-behavior: contain; }
.tc-modal-backdrop { position: absolute; inset: 0; border: 0; background: rgb(0 0 0 / 40%); }
.tc-modal-dialog { position: relative; display: grid; grid-template-columns: 390fr 550fr; width: min(940px, 100%); max-height: calc(100dvh - 70px); min-width: 0; overflow-y: auto; overscroll-behavior: contain; border-radius: 22px; background: #fff; box-shadow: 0 20px 70px rgb(0 0 0 / 25%); }
.tc-modal-close { position: absolute; top: 10px; right: 10px; z-index: 2; display: grid; place-items: center; width: 31px; height: 31px; padding: 0; border: 0; border-radius: 50%; background: #050505; color: #fff; font-size: 25px; line-height: 1; }
.tc-modal-art { position: relative; min-height: 100%; overflow: hidden; background: #48bdd0; }
.tc-modal-art > img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.tc-modal-art-content { position: absolute; inset: 25px 25px auto; color: #fff; text-align: center; }
.tc-modal-art-content p { font-size: 16px; line-height: 1.4; }
.tc-modal-content { min-width: 0; padding: 30px 32px; }
.tc-modal-content > h2 { margin-bottom: 28px; font-size: 32px; text-align: center; }
.tc-modal-context { margin: -10px 0 20px; color: #6b6b6b; font-size: 12px; text-align: center; }
.tc-lightbox { position: fixed; inset: 0; z-index: 100110; display: grid; place-items: center; padding: 60px 24px; background: rgb(0 0 0 / 90%); }
.tc-lightbox img { display: block; max-width: 100%; max-height: calc(100dvh - 120px); object-fit: contain; }
.tc-lightbox .tc-modal-close { top: 18px; right: 20px; width: 40px; height: 40px; background: #fff; color: #111; }
.tc-lightbox-caption { margin: 10px 0 0; color: #fff; text-align: center; }
.tc-lightbox-counter { margin-top: 12px; color: #eee; text-align: center; font-size: 14px; }
.tc-lightbox-arrow { position: absolute; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgb(255 255 255 / 70%); border-radius: 50%; background: rgb(0 0 0 / 50%); color: #fff; font-size: 22px; transform: translateY(-50%); }
.tc-lightbox-arrow--previous { left: 15px; }
.tc-lightbox-arrow--next { right: 15px; }
.tc-lightbox img { touch-action: pan-y pinch-zoom; }
.tc-enquiry-modal > .flatpickr-calendar, .tc-enquiry-modal > .iti--container { z-index: 5 !important; }

/* Footer and editorial pages retain the existing data and URLs. */
.tc-footer { padding-top: 100px; background: #050505; color: #aaa; font-size: 14px; }
:is(.tc-footer-top, .tc-footer-grid) { display: grid; grid-template-columns: 1.35fr 1.3fr 1fr 1fr; gap: 65px; }
.tc-footer h2, .tc-footer h3 { margin: 0 0 20px; color: #fff; font-size: 18px; }
.tc-footer-column > h3 { display: table; padding-bottom: 8px; border-bottom: 2px solid #484848; }
.tc-footer-brand > .tc-logo img { width: 167px; }
.tc-footer-logo { display: inline-block; margin-bottom: 21px; }
.tc-footer-logo img { width: 165px; max-height: 60px; object-fit: contain; background: #fff; }
.tc-footer ul { padding: 0; margin: 0; list-style: none; }
.tc-footer li { margin-bottom: 8px; }
.tc-footer a:hover { color: #fff; }
.tc-footer-contact p { display: flex; gap: 10px; margin-bottom: 10px; }
.tc-social-links { display: flex; gap: 8px; margin-top: 20px; }
.tc-social-links a { display: inline-flex; align-items: center; justify-content: center; width: 29px; height: 29px; border-radius: 50%; background: #aaa; color: #050505; font-size: 12px; }
:is(.tc-footer-accreditation, .tc-accreditation) { max-width: 160px; margin-top: 20px; }
:is(.tc-footer-links, .tc-footer-destinations) { padding-top: 28px; margin-top: 27px; border-top: 1px dashed #292929; }
:is(.tc-footer-links, .tc-footer-destinations) h3 { margin-bottom: 14px; }
:is(.tc-footer-links, .tc-footer-destinations) p { color: #888; font-size: 12px; line-height: 2.2; }
:is(.tc-footer-links, .tc-footer-destinations) a + a::before { content: " | "; padding-inline: 4px; color: #555; }
:is(.tc-payment-logos, .tc-footer-badges) { margin-block: 30px 45px; padding: 20px; background: #101010; text-align: center; }
:is(.tc-payment-logos, .tc-footer-badges) img { display: inline-block; max-width: 510px; max-height: 64px; padding: 5px 10px; border-radius: 5px; background: #fff; object-fit: contain; }
.tc-footer-bottom { padding: 29px 20px; background: #303030; color: #ddd; text-align: center; font-size: 18px; }
.tc-footer-bottom a + a::before { content: " | "; padding-inline: 5px; }
.tc-copyright { padding: 28px 20px; background: #fafafa; color: #777; text-align: center; font-size: 16px; }
.tc-copyright p { margin: 0; }
.tc-article { max-width: 1000px; margin-inline: auto; padding-block: 55px; }
.tc-article h1 { font-size: clamp(30px, 3vw, 48px); }
.tc-article-content { font-size: 16px; line-height: 1.85; }
.tc-article-content a { color: var(--tc-orange); text-decoration: underline; }
.tc-article-content > img, .tc-article-featured { width: 100%; max-height: 620px; margin-block: 20px 35px; border-radius: var(--tc-radius); object-fit: cover; }
.tc-article-content h2, .tc-article-content h3 { margin-top: 30px; }
.tc-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 35px; }
.tc-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; border: 1px solid var(--tc-border); border-radius: 8px; padding-inline: 10px; }
.tc-pagination .current { background: var(--tc-orange); border-color: var(--tc-orange); color: #fff; }
.tc-service-placeholder { min-height: 50vh; display: grid; align-content: center; justify-items: center; gap: 18px; padding-block: 80px; text-align: center; }
.tc-service-placeholder h1 { margin-bottom: 0; font-size: clamp(32px, 4vw, 58px); }
.tc-service-placeholder p { max-width: 600px; color: #777; }

/* Markup adapters for the reusable PHP and Elementor section renderers. */
.tc-section-description { margin: 0; color: var(--tc-muted); font-size: 16px; }
.tc-section--dark .tc-section-description { color: #ccc; }
.tc-section-header > div:first-child { flex: 1; min-width: 0; }
.tc-trust-item small { display: block; font-size: inherit; }
.tc-destination-card-title { display: block; font-weight: 600; line-height: 1.25; }
.tc-destination-card--label .tc-destination-card-content { inset: auto 0 0; padding: 8px 4px; background: #fff; color: #202124; }
.tc-destination-card--label .tc-destination-card-title { color: #202124; font-size: 20px; }
.tc-carousel--two-rows .tc-carousel-track { grid-template-rows: repeat(2, auto); grid-auto-columns: calc((100% - 150px) / 6.45); gap: 30px 25px; }
.tc-package-card-body > .tc-package-card-footer { margin: 18px 0 8px; padding: 12px; border-radius: 18px; }
.tc-site .tc-package-card-footer .tc-button { min-height: 46px; padding: 11px 20px; font-size: 13px; }
.tc-package-card-footer .tc-price strong { font-size: 30px; }
.tc-package-card-footer .tc-price small { font-size: 10px; }
.tc-package-card--domestic .tc-package-card-features { padding-top: 12px; border-top: 1px solid #eee; }
.tc-package-card--international .tc-package-card-features { padding-top: 18px; border-top: 1px solid #eee; gap: 16px; font-size: 14px; }
.tc-badge--duration { top: auto; bottom: 10px; right: auto; left: 10px; border-radius: 999px; background: #fff; color: #444; font-size: 10px; }
.tc-feature-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 26px; min-width: 26px; font-size: 23px; line-height: 1.2; }
.tc-why-image { overflow: hidden; }
.tc-why-image:empty { display: none; }
.tc-split:has(> .tc-why-image:empty), .tc-split:has(> .tc-why-image[hidden]) { grid-template-columns: minmax(0, 1fr); }
.tc-why-image img { width: 100%; height: 100%; object-fit: cover; }
.tc-benefit-icon { min-width: 52px; flex: 0 0 52px; font-size: 40px; line-height: 1.25; text-align: center; }
.tc-budget > span:first-child { padding: 3px 10px; border-radius: 3px; background: rgb(255 255 255 / 60%); font-size: 10px; text-transform: uppercase; }
.tc-budget > span:last-child { margin-top: 6px; font-size: 20px; }
.tc-budget-section, .tc-partners-section { padding-top: 0; }
.tc-budget-section .tc-budgets, .tc-partners-section .tc-partners { margin-top: 0; }
.tc-partner-list { display: flex; align-items: center; justify-content: space-around; flex: 1; gap: 30px; min-width: 0; }
.tc-partner { display: flex; align-items: center; justify-content: center; min-width: 0; }
.tc-partner img { width: 100%; max-width: 220px; }
.tc-testimonials .tc-carousel-track { grid-auto-columns: calc((100% - 64px) / 3); gap: 32px; }
.tc-testimonial { margin: 0; }
.tc-testimonial figcaption { color: #202124; font-size: 17px; font-weight: 600; line-height: 1.35; }
.tc-testimonial blockquote { margin: 16px 0 0; padding: 0; border: 0; color: #656565; font-size: 13px; font-style: normal; line-height: 1.5; }
.tc-testimonial-archive { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 32px; }
.tc-footer-brand > .tc-logo { margin-bottom: 21px; background: #fff; }
.tc-footer-contact li { overflow-wrap: anywhere; }
.tc-footer-destination-links { color: #999; font-size: 14px; line-height: 1.9; }
.tc-footer-destination-links a + a::before { content: " | "; padding-inline: 4px; color: #555; }
.tc-footer-destinations:last-child { margin-bottom: 35px; }
.tc-social-links a { overflow: hidden; width: auto; min-width: 29px; height: auto; min-height: 29px; padding: 5px 8px; border-radius: 999px; }
.tc-modal-art { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 35px 0 0; text-align: center; }
.tc-modal-art h2 { position: relative; z-index: 1; max-width: 250px; margin: 0 22px 15px; color: #fff; font-size: 27px; }
.tc-modal-art p { position: relative; z-index: 1; margin: 0 22px 15px; color: #fff; font-size: 13px; }
.tc-modal-art .tc-modal-art-image { width: 100%; height: auto; flex: 1; min-height: 0; object-fit: cover; object-position: center; }
.tc-modal-content [data-tc-enquiry-form] > h2 { margin: 0 10px 26px; color: #111; font-size: 32px; text-align: center; }
.tc-modal-content [data-tc-enquiry-form] > h2::after { content: ""; display: block; width: 80px; height: 2px; margin: 14px auto 0; background: #111; }
.tc-admin-note { padding: 12px 18px; margin-block: 20px; border-left: 3px solid var(--tc-orange); background: #fff5ec; color: #6a4c31; font-size: 13px; }
.tc-filter-empty { padding: 25px; color: var(--tc-muted); font-size: 13px; text-align: center; }
.tc-prose { color: #777; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.tc-prose p { margin-bottom: 17px; }
.tc-prose p:last-child { margin-bottom: 0; }
.tc-prose h2, .tc-prose h3, .tc-prose h4 { color: #252525; }
.tc-prose a { color: var(--tc-orange-dark); text-decoration: underline; }
.tc-prose img { max-width: 100%; height: auto; }
.tc-prose table { width: 100%; border-collapse: collapse; }
.tc-prose th, .tc-prose td { padding: 10px; border: 1px solid var(--tc-border); text-align: left; }
.tc-read-more { margin-bottom: 25px; }
.tc-read-more summary { cursor: pointer; color: #555; font-size: 14px; }
.tc-read-more .tc-prose { padding-top: 12px; }
.tc-why-more { margin-top: 25px; text-align: center; }
.tc-why-more > summary { display: inline-flex; list-style: none; }
.tc-why-more > summary::-webkit-details-marker { display: none; }
.tc-why-more > .tc-prose { padding-top: 20px; text-align: left; }
.tc-listing-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 18px; padding: 18px 20px; margin-bottom: 25px; border: 1px solid var(--tc-border); border-radius: var(--tc-radius); background: #fafafa; }
.tc-listing-filters > label { display: flex; flex: 1; flex-direction: column; gap: 6px; min-width: 170px; font-size: 12px; }
.tc-listing-filters select { width: 100%; min-height: 40px; border: 1px solid #ddd; border-radius: 8px; padding: 7px 12px; background: #fff; color: #333; }
.tc-listing-filters > a { padding: 9px 4px; font-size: 12px; text-decoration: underline; }
.tc-results-count, .tc-pricing-note { margin-bottom: 24px; color: #777; font-size: 13px; }
.tc-tour-body { padding-block: 0; }
.tc-tour-title-desktop.tc-panel { margin-top: 0; padding: 20px; }
.tc-tour-title-desktop del { color: #aaa; font-size: 15px; }
.tc-gallery-grid--single { grid-template-columns: 1fr; }
.tc-gallery-main > a { position: absolute; inset: 0; display: block; }
.tc-car-card .tc-package-card-media { background: #f9f9f9; }
.tc-car-card .tc-package-card-media img { object-fit: contain; padding: 18px; }
.tc-car-specs { display: grid; gap: 12px; margin: 20px 0; }
.tc-car-specs > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #eee; font-size: 13px; }
.tc-car-specs dt { font-weight: 400; color: #777; }
.tc-car-specs dd { margin: 0; font-weight: 500; text-align: right; }
.tc-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 1.1fr); align-items: start; gap: 65px; }
.tc-contact-layout .tc-enquiry-sidebar { position: static; width: 100%; margin: 0; }
.tc-contact h1 { margin-bottom: 30px; font-size: 43px; }
.tc-contact-details h2 { font-size: 31px; }
.tc-contact-details p { color: #777; }
.tc-contact-details dt { margin-top: 20px; font-weight: 600; }
.tc-contact-details dd { margin: 5px 0 0; color: #777; }
.tc-contact-details a { overflow-wrap: anywhere; }
.tc-site [data-tc-enquiry-form] .wpforms-layout-column { min-width: 0; }
.tc-site [data-tc-enquiry-form] .wpforms-layout-row { gap: 16px; }
.tc-site [data-tc-enquiry-form] .wpforms-layout-row > * { min-width: 0; }
.tc-site [data-tc-enquiry-form] [data-tc-enquiry-status] { padding: 15px; border: 1px solid #bddbc3; border-radius: 9px; background: #f0faf2; color: #205c2a; font-size: 13px; }
.tc-blog-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 25px 0 30px; }
.tc-blog-categories a { padding: 7px 17px; border: 1px solid var(--tc-border); border-radius: 999px; color: #666; font-size: 12px; }
.tc-blog-categories a:hover { border-color: var(--tc-orange); color: var(--tc-orange); }
.tc-back-link { display: inline-block; margin-bottom: 20px; color: var(--tc-orange-dark) !important; font-size: 13px; }
.tc-article-image { width: 100%; max-height: 620px; margin-block: 15px 35px; border-radius: var(--tc-radius); object-fit: cover; }
.tc-article-meta { color: #777; font-size: 12px; }
.tc-article .tc-prose { color: #555; font-size: 16px; line-height: 1.85; }
.tc-content-page .tc-container { max-width: 1100px; }

/* Geometry measured from the supplied 1920px desktop and 375px mobile layouts. */
.tc-section--dark, .tc-success, .tc-newsletter, .tc-footer, .tc-tour-gallery { background-color: #000; }
#trending > .tc-carousel, #destinations > .tc-carousel, #explore > .tc-carousel { position: relative; }
#trending .tc-section-header, #destinations .tc-section-header, #explore .tc-section-header { margin-bottom: 0; }
#trending .tc-section-actions, #destinations .tc-section-actions, #explore .tc-section-actions { position: absolute; top: 90px; right: 0; }
#trending .tc-tabs, #destinations .tc-tabs, #explore .tc-tabs { padding-right: 240px; }
.tc-view-all { font-size: 18px; }
.tc-carousel-controls button, button[data-tc-prev], button[data-tc-next] { width: 50px; height: 50px; }
.tc-why { padding-top: 24px; padding-bottom: 50px; }
.tc-benefits { min-height: 366px; }
.tc-benefit-icon img, .tc-trust-icon img, .tc-feature-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tc-benefit-icon { flex-basis: 76px; min-width: 76px; width: 76px; height: 76px; }
.tc-trust-icon { display: inline-flex; width: 58px; height: 58px; align-items: center; justify-content: center; }
.tc-benefit:nth-child(n+3) { position: relative; }
.tc-benefit:nth-child(n+3)::before { content: ""; position: absolute; left: -35px; top: 0; bottom: 0; border-left: 1px solid #ddd; }
.tc-budget strong { color: #111; font-size: 30px; }
.tc-budget > span:first-child { min-width: 110px; padding: 5px 12px; border-radius: 999px; background: linear-gradient(#fff8, #64a8d0); color: #111; font-size: 12px; }
.tc-budget:nth-child(5n+2) > span:first-child { background: linear-gradient(#fff8, #4eb642); }
.tc-budget:nth-child(5n+3) > span:first-child { background: linear-gradient(#fff8, #d99c23); }
.tc-budget:nth-child(5n+4) > span:first-child { background: linear-gradient(#fff8, #f56521); }
.tc-budget:nth-child(5n+5) > span:first-child { background: linear-gradient(#fff8, #ed74a4); }
.tc-budget > span:last-child { font-size: 32px; line-height: 1.1; }
.tc-testimonial { min-height: 280px; display: flex; flex-direction: column; justify-content: center; }
.tc-testimonial-empty { min-height: 0; }
.tc-gallery-grid { height: 524px; grid-template-columns: 1.2fr 1fr; gap: 16px; }
.tc-gallery-grid--single { grid-template-columns: 1fr; }
.tc-gallery-thumbs:has(> :only-child) { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.tc-gallery-thumbs:has(> :nth-child(2):last-child) { grid-template-rows: 1fr; }
.tc-gallery-thumbs:has(> :nth-child(3):last-child) > :last-child { grid-column: 1 / -1; }
.tc-gallery-label--mobile { display: none; }
.tc-section.tc-tour-body { padding-block: 0; }
.tc-tour-layout { padding-block: 50px; }
.tc-tour-title-desktop h1 { font-size: 30px; }
.tc-tour-title-desktop .tc-price strong { font-size: 44px; }
.tc-tour-title-desktop .tc-price small { font-size: 16px; }
.tc-tour-title-desktop .tc-price del { font-size: 22px; }
.tc-panel h2 { font-size: 34px; }
.tc-overview-list { font-size: 18px; row-gap: 20px; }
.tc-overview-list .tc-feature-icon { width: 32px; height: 32px; flex-basis: 32px; }
.tc-enquiry-sidebar h2 { font-size: 28px; font-weight: 500; }
.tc-enquiry-sidebar [data-tc-enquiry-form] .wpforms-field-label { font-size: 12px !important; }
.tc-enquiry-sidebar [data-tc-enquiry-form] input:not(.wpforms-recaptcha-hidden):not([name="g-recaptcha-hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), .tc-enquiry-sidebar [data-tc-enquiry-form] select { height: 40px !important; }
.tc-modal-art { padding: 0; justify-content: flex-start; background: #4ec7da; }
.tc-modal-benefits { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 25px; width: 100%; padding: 40px 30px 10px; }
.tc-modal-benefit { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.tc-modal-benefit-icon { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; }
.tc-modal-benefit-icon img, .tc-modal-benefit-icon svg { width: 100%; height: 100%; object-fit: contain; }
.tc-modal-art .tc-modal-benefit p { max-width: 280px; margin: 0; color: #fff; font-size: 20px; font-weight: 500; line-height: 1.4; }
.tc-modal-art .tc-modal-art-image { position: absolute; inset: 0; width: 100%; min-height: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center bottom; }
.tc-modal-content { padding: 30px; }
.tc-modal-content [data-tc-enquiry-form] > h2 { margin: 0 0 28px; font-size: 40px; font-weight: 600; text-align: left; }
.tc-modal-content [data-tc-enquiry-form] > h2::after { display: none; }
.tc-modal-content [data-tc-enquiry-form] .wpforms-field-label { font-size: 13px !important; }
.tc-modal-content [data-tc-enquiry-form] input:not(.wpforms-recaptcha-hidden):not([name="g-recaptcha-hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), .tc-modal-content [data-tc-enquiry-form] select, .tc-modal-content [data-tc-enquiry-form] textarea { height: 64px !important; border-radius: 10px !important; padding: 16px !important; font-size: 18px !important; }
.tc-modal-content [data-tc-enquiry-form] textarea { min-height: 134px !important; }
.tc-modal-content [data-tc-enquiry-form] button[type="submit"] { min-height: 70px; font-size: 24px !important; }
.tc-listing-intro { margin: 0 0 12px; color: #777; font-size: 16px; line-height: 1.7; }
.tc-footer-contact li { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 11px; }
.tc-footer-contact .tc-contact-icon { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 3px; object-fit: contain; }

@media (min-width: 1500px) {
  .tc-container { width: 75%; max-width: 1440px; }
}
@media (max-width: 1200px) {
  .tc-header-inner { gap: 20px; }
  .tc-logo img { width: 150px; }
  .tc-nav, .tc-nav ul { gap: 20px; }
  .tc-nav a { font-size: 12px; }
  .tc-header-call { padding-inline: 17px !important; }
  .tc-hero { min-height: 460px; }
  .tc-gallery-grid { height: 430px; }
  .tc-section { padding-block: 42px; }
  .tc-grid { gap: 20px; }
  .tc-package-title, .tc-package-card-title, .tc-package-card h3 { font-size: 17px; }
  .tc-package-footer, .tc-package-card-footer { padding-inline: 11px; gap: 7px; }
  .tc-price strong, .tc-package-price strong { font-size: 22px; }
  .tc-package-footer .tc-button, .tc-package-card-footer .tc-button { padding-inline: 10px; }
  :is(.tc-why-grid, .tc-split) { gap: 35px; }
  .tc-success .tc-container { gap: 30px; }
  .tc-stat { padding-inline: 8px; }
  .tc-stat span { font-size: 10px; }
  .tc-budget { width: 130px; }
  .tc-partners { padding: 25px; gap: 20px; }
  .tc-partners img { width: 130px; }
  :is(.tc-detail-layout, .tc-tour-layout) { grid-template-columns: minmax(0, 2.1fr) minmax(260px, 1fr); }
  :is(.tc-detail-summary, .tc-tour-title-desktop) h1 { font-size: 22px; }
  :is(.tc-detail-summary, .tc-tour-title-desktop) .tc-price strong { font-size: 30px; }
  .tc-gallery-main { min-height: 350px; }
  :is(.tc-footer-top, .tc-footer-grid) { gap: 35px; }
}
@media (max-width: 1023px) {
  :root { --tc-header-height: 65px; }
  .tc-header-inner { gap: 12px; }
  .tc-logo img { width: 145px; }
  .tc-menu-toggle { display: block; }
  .tc-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; max-height: calc(100dvh - var(--tc-header-height)); padding: 20px 24px 30px; overflow-y: auto; border-top: 1px solid var(--tc-border); background: #fff; box-shadow: var(--tc-shadow); }
  .tc-menu-open .tc-nav { display: block; }
  .tc-nav ul { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .tc-nav .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 5px 18px; border: 0; box-shadow: none; }
  .tc-nav .sub-menu a { font-size: 14px; }
  .tc-nav a { padding: 14px 4px; font-size: 16px; }
  .tc-nav li + li { border-top: 1px solid #f0f0f0; }
  .tc-header-call-full, .tc-call-desktop { display: none; }
  .tc-header-call-short, .tc-call-mobile { display: inline; }
  .tc-header-call { min-height: 36px !important; min-width: 82px; padding: 8px 20px !important; }
  .tc-grid--packages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tc-grid--blogs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tc-carousel-track { grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; }
  .tc-carousel--packages .tc-carousel-track { grid-auto-columns: calc((100% - 20px) / 2); }
  :is(.tc-carousel--testimonials, .tc-testimonials) .tc-carousel-track { grid-auto-columns: calc((100% - 20px) / 2); gap: 20px; }
  .tc-carousel--destinations .tc-carousel-track { grid-auto-columns: calc((100% - 40px) / 3.2); }
  .tc-explore-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  .tc-trust-strip .tc-container, .tc-trust-items { gap: 12px; min-height: 85px; }
  .tc-trust-item { gap: 8px; font-size: 11px; }
  .tc-trust-item img { width: 32px; height: 32px; }
  .tc-trust-icon { font-size: 28px; }
  :is(.tc-why-grid, .tc-split) { gap: 25px; }
  .tc-benefits { padding: 25px; gap: 25px; }
  .tc-benefit { gap: 15px; }
  .tc-benefit > img { width: 42px; height: 42px; }
  .tc-benefit h3 { font-size: 16px; }
  .tc-success .tc-container { grid-template-columns: 1fr; }
  :is(.tc-stats, .tc-stat-grid) { gap: 18px; }
  .tc-stat span { font-size: 12px; }
  .tc-testimonial-grid { gap: 20px; }
  .tc-testimonial { padding: 30px 20px; }
  .tc-testimonial p { font-size: 12px; }
  :is(.tc-newsletter .tc-button, .tc-newsletter button[type="submit"]) { min-width: 180px; }
  .tc-partners { justify-content: center; }
  .tc-partners h2 { flex-basis: 100%; text-align: center; }
  :is(.tc-detail-layout, .tc-tour-layout) { display: block; }
  .tc-enquiry-sidebar { position: static; max-width: 640px; margin: 28px auto 0; }
  :is(.tc-detail-summary, .tc-tour-title-desktop) h1 { font-size: 24px; }
  .tc-gallery-main { min-height: 300px; }
  .tc-gallery-grid { height: 360px; }
  :is(.tc-footer-top, .tc-footer-grid) { gap: 30px; grid-template-columns: 1.2fr 1fr 1fr; }
  :is(.tc-footer-top, .tc-footer-grid) > :last-child { grid-column: 1 / -1; }
  .tc-modal-dialog { width: min(800px, 100%); }
  .tc-modal-content { padding: 28px 23px; }
  .tc-carousel--two-rows .tc-carousel-track { grid-auto-columns: calc((100% - 54px) / 4); gap: 18px; }
  .tc-testimonials .tc-carousel-track { grid-auto-columns: calc((100% - 20px) / 2); gap: 20px; }
  .tc-partner-list { flex-basis: 100%; }
  .tc-contact-layout { gap: 35px; }
}
@media (max-width: 767px) {
  :root { --tc-header-height: 50px; --tc-radius: 15px; }
  html { scrollbar-width: none; }
  html::-webkit-scrollbar { display: none; }
  .tc-site { font-size: 13px; line-height: 1.6; }
  .tc-container { width: calc(100% - 30px); }
  .tc-section { padding-block: 27px; }
  .tc-site h2 { font-size: 18px; line-height: 1.35; }
  .tc-section-header { gap: 12px; margin-bottom: 16px; align-items: center; }
  .tc-section-heading { flex: 1; }
  .tc-section-heading p, .tc-section-intro { font-size: 10px; line-height: 1.5; }
  .tc-section-actions { gap: 8px; }
  .tc-view-all { font-size: 14px; }
  :is(.tc-section-more, .tc-section-cta) { margin-top: 22px; }
  .tc-button, .tc-site button.tc-button, .tc-site a.tc-button { min-height: 39px; padding: 10px 24px; font-size: 13px; }
  .tc-button--small, .tc-site :is(a, button, summary).tc-button--small { min-height: 30px; padding: 7px 22px; font-size: 11px; }
  .tc-header-inner { width: calc(100% - 30px); min-height: var(--tc-header-height); gap: 7px; }
  .tc-logo img { width: 118px; max-height: 35px; }
  /* The supplied logo bitmap has 12px left and 22px right blank margins. */
  .tc-header .tc-logo { width: 120px; }
  .tc-header .tc-logo img { width: 129.5px; max-width: none; max-height: none; margin-left: -3.36px; }
  .tc-header-call { min-height: 30px !important; min-width: 74px; padding: 6px 18px !important; font-size: 13px !important; }
  .tc-menu-toggle { width: 31px; height: 36px; padding: 5px; }
  .tc-menu-toggle span { width: 18px; }
  .tc-hero { min-height: 591px; }
  .tc-hero-content { width: calc(100% - 46px); margin-block: 45px 130px; }
  .tc-hero h1 { max-width: 340px; margin: 0 auto 7px; font-size: 44px; line-height: 1.06; }
  .tc-hero p { max-width: 330px; margin-bottom: 25px; font-size: 17px; line-height: 1.3; }
  .tc-hero .tc-button { min-height: 40px; font-size: 14px; }
  .tc-hero-slide img, .tc-hero-image { object-position: 26% center; }
  .tc-hero-dots { bottom: 19px; gap: 8px; }
  .tc-hero-dots button { width: 8px; height: 8px; }
  .tc-search { padding: 1px; margin-top: 26px; gap: 3px; }
  .tc-search input, .tc-search select { height: 42px; padding: 9px 13px; font-size: 13px; }
  .tc-search .tc-button { min-height: 42px; min-width: 90px; padding: 9px 15px; font-size: 14px; }
  .tc-search-label-desktop { display: none; }
  .tc-search-label-mobile { display: inline; }
  .tc-trust-strip .tc-container, .tc-trust-items { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; width: 100%; gap: 6px; min-height: 50px; padding: 7px 15px; }
  .tc-trust-strip .tc-container::-webkit-scrollbar { display: none; }
  .tc-trust-item { flex-direction: row; align-items: center; gap: 4px; min-width: 0; max-width: none; font-size: 7.5px; line-height: 1.2; text-align: left; overflow-wrap: normal; }
  .tc-trust-item img { width: 20px; height: 20px; }
  .tc-trust-icon { width: 20px; height: 20px; font-size: 20px; }
  .tc-tabs { gap: 6px; margin: 12px 0 17px; }
  .tc-tabs button, .tc-tabs a { min-height: 26px; padding: 5px 12px; font-size: 9px; }
  .tc-grid { gap: 15px; }
  .tc-grid--destinations { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .tc-grid--packages { grid-template-columns: 1fr; gap: 15px; }
  .tc-grid--blogs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tc-carousel-track { grid-auto-columns: 66%; gap: 14px; overflow: auto; }
  .tc-carousel--destinations .tc-carousel-track { grid-auto-columns: 39.13%; gap: 10px; }
  .tc-carousel--packages .tc-carousel-track { grid-auto-columns: 82%; gap: 13px; }
  :is(.tc-carousel--testimonials, .tc-testimonials) .tc-carousel-track { grid-auto-columns: 82%; gap: 13px; }
  .tc-carousel-controls { display: none; }
  .tc-destination-card { border-radius: 20px; aspect-ratio: 135 / 218; }
  .tc-grid--destinations .tc-destination-card { aspect-ratio: 1.125; }
  .tc-destination-content, .tc-destination-card-content { bottom: 13px; inset-inline: 7px; }
  :is(.tc-destination-kicker, .tc-destination-card-eyebrow) { font-size: 8px; }
  :is(.tc-destination-title, .tc-destination-card-title), .tc-destination-card h3 { font-size: 21px; }
  :is(.tc-destination-card--explore, .tc-destination-card--label) { aspect-ratio: 116 / 160; border-radius: 20px; }
  :is(.tc-destination-card--explore, .tc-destination-card--label) h3 { font-size: 12px; }
  :is(.tc-destination-card--explore, .tc-destination-card--label) .tc-destination-content { padding-block: 5px; }
  .tc-explore-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
  .tc-package-image, .tc-package-card-media { aspect-ratio: 1.9; }
  .tc-package-body, .tc-package-card-body { padding: 15px 14px 7px; }
  .tc-package-title, .tc-package-card-title, .tc-package-card h3 { margin-bottom: 13px; font-size: 17px; }
  :is(.tc-package-tags, .tc-package-card-meta) { gap: 6px; margin-bottom: 16px; }
  :is(.tc-package-tags, .tc-package-card-meta) span { font-size: 9px; padding-inline: 9px; }
  :is(.tc-package-features, .tc-package-card-features) { font-size: 11px; gap: 12px; }
  :is(.tc-package-features, .tc-package-card-features) img { width: 23px; height: 23px; }
  .tc-package-card--domestic :is(.tc-package-features, .tc-package-card-features) { margin-block: 16px; }
  .tc-package-footer, .tc-package-card-footer { padding: 12px 14px; gap: 9px; }
  .tc-price strong, .tc-package-price strong { font-size: 24px; }
  .tc-price small, .tc-package-price small { font-size: 8px; }
  :is(.tc-package-details-link, .tc-details-link) { font-size: 10px; }
  .tc-package-footer .tc-button, .tc-package-card-footer .tc-button { min-height: 34px; padding: 9px 13px; font-size: 10px; }
  .tc-badge { top: 10px; font-size: 8px; }
  .tc-duration { font-size: 8px; padding: 5px 8px; bottom: 10px; }
  :is(.tc-why-grid, .tc-split) { display: flex; flex-direction: column; align-items: stretch; gap: 18px; }
  :is(.tc-why-copy, .tc-why-content) p { margin-bottom: 15px; font-size: 11px; line-height: 1.65; }
  .tc-why-image { aspect-ratio: 4 / 3; }
  .tc-benefits { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; gap: 24px; min-height: 450px; padding: 25px 16px; margin-top: 20px; border-radius: 24px; }
  .tc-benefit { gap: 18px; }
  .tc-benefit > img { width: 45px; height: 45px; }
  .tc-benefit > .tc-icon { font-size: 37px; }
  .tc-benefit h3 { margin-bottom: 5px; font-size: 14px; }
  .tc-benefit p { font-size: 10.5px; line-height: 1.55; }
  .tc-benefit:nth-child(n+3)::before { display: none; }
  .tc-success { padding-block: 25px; min-height: 426px; }
  .tc-success .tc-container { gap: 27px; }
  .tc-success-copy { max-width: 310px; }
  .tc-success-copy p { margin-bottom: 17px; font-size: 11px; }
  :is(.tc-stats, .tc-stat-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 15px; max-width: 290px; }
  .tc-stat { min-height: 111px; padding: 20px 7px; border-radius: 20px; }
  .tc-stat strong { font-size: 32px; }
  .tc-stat span { font-size: 10px; margin-top: 5px; }
  .tc-budgets { padding: 30px 12px 28px; margin-top: 20px; border-radius: 28px; }
  .tc-budgets h2 { margin-bottom: 25px; font-size: 18px; }
  .tc-budget-list { gap: 0 7px; }
  .tc-budget { width: calc((100% - 14px) / 3); max-width: 102px; }
  .tc-budget small { font-size: 6px; padding: 2px 7px; }
  .tc-budget strong { font-size: 15px; margin-top: 5px; white-space: nowrap; }
  .tc-budget .tc-icon { font-size: 12px; margin-top: 3px; }
  .tc-partners { gap: 26px 20px; min-height: 217px; padding: 23px 26px 30px; margin-top: 20px; border-radius: 22px; }
  .tc-partners h2 { font-size: 18px; }
  .tc-partners img { width: calc(50% - 20px); max-width: 145px; max-height: 53px; }
  .tc-newsletter { padding-block: 28px; }
  .tc-newsletter h2 { max-width: 290px; margin: 0 auto 20px; font-size: 18px; line-height: 1.35; }
  .tc-newsletter-fields, .tc-newsletter-row { padding: 3px; }
  .tc-newsletter input[type="email"] { height: 43px; padding: 9px 11px; font-size: 10px; }
  :is(.tc-newsletter .tc-button, .tc-newsletter button[type="submit"]) { min-width: 105px; min-height: 43px; padding: 10px 15px; font-size: 12px; }
  .tc-newsletter-consent { text-align: left; font-size: 10px; }
  .tc-testimonial-grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 82%; overflow-x: auto; gap: 13px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .tc-testimonial { min-height: 210px; padding: 29px 14px 25px; scroll-snap-align: start; }
  .tc-testimonial h3 { font-size: 15px; }
  :is(.tc-testimonial-quote, .tc-quote-mark) { font-size: 58px; }
  .tc-testimonial p { max-width: 230px; margin-inline: auto; font-size: 12px; }
  :is(.tc-stars, .tc-rating) { font-size: 16px; }
  :is(.tc-blog-body, .tc-blog-card-body) { padding: 10px 9px 13px; }
  :is(.tc-blog-meta, .tc-blog-card-meta) { font-size: 8px; gap: 3px; }
  .tc-blog-card h3 { font-size: 11px; line-height: 1.5; }
  .tc-copy-section { padding-block: 30px 10px; }
  .tc-copy-section h2 { font-size: 19px; }
  .tc-copy-section p, .tc-richtext { font-size: 11px; }
  .tc-faq-list { gap: 10px; margin-top: 18px; }
  .tc-faq-item { padding: 14px 14px; border-radius: 14px; }
  .tc-faq-item summary { padding-right: 23px; font-size: 12px; }
  .tc-faq-item summary::after { font-size: 21px; }
  .tc-faq-answer, .tc-faq-item > p { margin-right: 16px; font-size: 10px; }
  :is(.tc-detail-hero, .tc-tour-gallery) { padding-block: 10px 25px; }
  :is(.tc-detail-mobile-title, .tc-tour-title-mobile) { display: block; margin: 0 auto 14px; font-size: 18px; line-height: 1.4; text-align: center; }
  :is(.tc-gallery, .tc-gallery-grid) { display: block; height: auto; }
  .tc-gallery-main { min-height: 0; aspect-ratio: 1.25; border-radius: 6px; }
  .tc-gallery-thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 5px; margin-top: 5px; }
  .tc-gallery-thumbs > :nth-child(n+3) { display: none; }
  .tc-gallery-thumbs a, .tc-gallery-thumbs button { aspect-ratio: 1.7; border-radius: 4px; }
  :is(.tc-gallery-more, .tc-gallery-label) { right: 8px; bottom: 8px; font-size: 9px; }
  .tc-video-play { width: 36px; height: 36px; font-size: 15px; }
  :is(.tc-detail-layout, .tc-tour-layout) { padding-block: 18px; }
  :is(.tc-detail-summary, .tc-tour-title-desktop) { display: none; }
  :is(.tc-detail-panel, .tc-panel) { padding: 20px 15px; margin-top: 18px; }
  :is(.tc-detail-panel, .tc-panel):first-child, :is(.tc-detail-summary, .tc-tour-title-desktop) + :is(.tc-detail-panel, .tc-panel) { margin-top: 0; }
  :is(.tc-detail-panel, .tc-panel) h2 { margin-bottom: 22px; font-size: 18px; }
  .tc-overview-list { grid-template-columns: 1fr; gap: 18px; font-size: 13px; }
  .tc-overview-list img { width: 29px; height: 29px; }
  :is(.tc-itinerary-list, .tc-itinerary) { gap: 13px; }
  .tc-itinerary.tc-panel { padding: 0; border: 0; border-radius: 0; }
  .tc-itinerary.tc-panel h2 { margin-bottom: 0; }
  .tc-itinerary-day { padding: 10px 14px; border: 1px solid var(--tc-border); border-radius: 20px; }
  .tc-itinerary-day summary { min-height: 36px; padding: 5px 30px 5px 80px; font-size: 13px; border: 0; border-radius: 0; }
  .tc-day-number { top: 10px; left: 14px; width: 60px; height: 36px; border-radius: 11px; font-size: 12px; }
  .tc-itinerary-day summary::after { top: 6px; right: 13px; }
  :is(.tc-itinerary-body, .tc-itinerary-day > .tc-prose) { padding: 12px 0 5px; margin-top: 9px; border: 0; border-top: 1px solid #eee; border-radius: 0; font-size: 12px; line-height: 1.6; }
  :is(.tc-inclusions, .tc-included > ul), :is(.tc-exclusions, .tc-excluded > ul) { gap: 12px; font-size: 11px; line-height: 1.5; }
  :is(.tc-inclusions, .tc-included > ul) li, :is(.tc-exclusions, .tc-excluded > ul) li { padding-left: 21px; }
  :is(.tc-inclusions, .tc-included > ul) li::before, :is(.tc-exclusions, .tc-excluded > ul) li::before { width: 14px; height: 14px; font-size: 10px; }
  :is(.tc-detail-layout, .tc-tour-layout) > .tc-enquiry-sidebar { display: none; }
  .tc-mobile-enquiry { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 12px 15px calc(12px + env(safe-area-inset-bottom)); background: #050505; color: #fff; box-shadow: 0 -2px 15px rgb(0 0 0 / 10%); }
  .tc-mobile-enquiry .tc-price small, .tc-mobile-enquiry .tc-package-price small { color: #fff; font-size: 11px; line-height: 1.4; }
  .tc-mobile-enquiry .tc-price strong, .tc-mobile-enquiry .tc-package-price strong { display: inline; font-size: 28px; }
  .tc-mobile-enquiry .tc-price { flex-shrink: 1; min-width: 0; }
  .tc-mobile-enquiry .tc-price > small:last-child { display: inline; margin-left: 4px; font-size: 10px; white-space: nowrap; }
  .tc-mobile-enquiry .tc-price strong:not(:has(.amount)) { font-size: 18px; }
  .tc-mobile-enquiry .tc-button { min-width: 140px; min-height: 46px; font-size: 17px; font-weight: 600; }
  .tc-has-mobile-enquiry { padding-bottom: var(--tc-mobile-enquiry-height, calc(89px + env(safe-area-inset-bottom))); }
  .tc-enquiry-modal { align-items: flex-start; padding: max(70px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom)); }
  .tc-modal-dialog { display: block; width: 100%; max-width: 470px; max-height: calc(100dvh - 90px - env(safe-area-inset-bottom)); border-radius: 22px; scrollbar-width: none; }
  .tc-modal-dialog::-webkit-scrollbar { display: none; }
  .tc-modal-art { display: none; }
  .tc-modal-close { top: 7px; right: 6px; width: 29px; height: 29px; }
  .tc-modal-content { padding: 16px 17px 17px; }
  .tc-modal-content > h2 { margin: 0 10px 23px; font-size: 28px; }
  .tc-modal-content > h2::after { width: 63px; margin-top: 12px; }
  .tc-modal-context { margin-top: -10px; font-size: 10px; }
  .tc-site [data-tc-enquiry-form] .wpforms-field { padding-bottom: 13px !important; }
  .tc-site [data-tc-enquiry-form] .wpforms-field-label { margin-bottom: 6px !important; font-size: 12px !important; }
  .tc-site [data-tc-enquiry-form] input:not(.wpforms-recaptcha-hidden):not([name="g-recaptcha-hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), .tc-site [data-tc-enquiry-form] select, .tc-site [data-tc-enquiry-form] textarea { height: 41px !important; font-size: 14px !important; padding: 9px 10px !important; }
  .tc-site [data-tc-enquiry-form] input[type="tel"] { padding-left: 83px !important; }
  .tc-site [data-tc-enquiry-form] textarea { min-height: 77px !important; }
  .tc-site [data-tc-enquiry-form] button[type="submit"] { min-height: 51px; font-size: 19px !important; }
  .tc-modal-open .tc-mobile-enquiry { pointer-events: none; }
  .tc-footer { padding-top: 24px; font-size: 12px; }
  :is(.tc-footer-top, .tc-footer-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  :is(.tc-footer-top, .tc-footer-grid) > :first-child { grid-column: 1 / -1; }
  :is(.tc-footer-top, .tc-footer-grid) > :last-child { grid-column: 1 / -1; padding-block: 22px 0; border-top: 1px dashed #333; position: relative; }
  .tc-footer h2, .tc-footer h3 { font-size: 13px; margin-bottom: 19px; }
  .tc-footer-logo { margin-bottom: 16px; }
  .tc-footer-logo img { width: 170px; }
  .tc-footer-contact { max-width: 315px; font-size: 13px; }
  .tc-footer-contact p { margin-bottom: 10px; }
  .tc-social-links { margin-top: 16px; gap: 9px; }
  .tc-social-links a { width: 28px; height: 28px; }
  :is(.tc-footer-accreditation, .tc-accreditation) { max-width: 135px; margin-top: 19px; }
  :is(.tc-footer-links, .tc-footer-destinations) { padding-top: 22px; margin-top: 23px; }
  :is(.tc-footer-links, .tc-footer-destinations) h3 { margin-bottom: 14px; }
  :is(.tc-footer-links, .tc-footer-destinations) p { font-size: 10px; line-height: 2.4; }
  :is(.tc-payment-logos, .tc-footer-badges) { margin-block: 23px 25px; padding: 0; background: transparent; }
  :is(.tc-payment-logos, .tc-footer-badges) img { width: 100%; max-height: 85px; padding: 10px; border-radius: 0; }
  .tc-footer-bottom { padding: 14px 15px; font-size: 12px; line-height: 1.9; }
  .tc-copyright { padding: 23px 15px; font-size: 12px; }
  .tc-article { padding-block: 30px; }
  .tc-article-content { font-size: 14px; }
  .tc-article-featured { margin-block: 16px 25px; }
  .tc-service-placeholder { padding-block: 60px; }
  .tc-section-description { font-size: 10px; line-height: 1.5; }
  .tc-section-actions > .tc-carousel-arrow { display: none; }
  .tc-carousel:not(.tc-carousel--packages):not(.tc-carousel--blogs):not(.tc-carousel--two-rows) .tc-carousel-track { grid-auto-columns: 39.13%; gap: 10px; }
  .tc-carousel--two-rows .tc-carousel-track { grid-auto-columns: 33.62%; gap: 14px 10px; }
  .tc-destination-card--label .tc-destination-card-title { font-size: 12px; }
  .tc-destination-card--label .tc-destination-card-content { padding-block: 5px; }
  .tc-package-card-body > .tc-package-card-footer { margin: 15px 0 6px; padding: 7px; border-radius: 15px; }
  .tc-site .tc-package-card-footer .tc-button { min-height: 38px; padding: 9px 12px; font-size: 10px; }
  .tc-package-card-footer .tc-price strong { font-size: 22px; }
  .tc-package-card-footer .tc-price small { font-size: 8px; }
  .tc-package-card--international .tc-package-card-features { gap: 12px; padding-top: 13px; font-size: 11px; }
  .tc-badge--duration { top: auto; bottom: 10px; font-size: 8px; }
  .tc-benefit-icon { flex-basis: 43px; min-width: 43px; width: 43px; height: 46px; font-size: 36px; }
  .tc-budget > span:first-child { min-width: 60px; padding: 2px 7px; font-size: 8px; }
  .tc-budget > span:last-child { margin-top: 4px; font-size: 20px; }
  .tc-partner-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 20px; }
  .tc-partner img { width: 100%; max-width: 130px; }
  .tc-testimonials .tc-carousel:not(.tc-carousel--packages):not(.tc-carousel--blogs):not(.tc-carousel--two-rows) .tc-carousel-track { grid-auto-columns: 82%; }
  .tc-testimonial figcaption { font-size: 15px; }
  .tc-testimonial blockquote { font-size: 12px; }
  .tc-footer-brand { padding: 0 14px 24px; border-bottom: 1px dashed #333; }
  .tc-footer-brand > .tc-logo { margin-bottom: 20px; }
  .tc-footer-brand > .tc-logo img { width: 156px; max-height: none; }
  .tc-footer-destination-links { font-size: 12px; line-height: 2.2; }
  .tc-footer-column:last-child .tc-accreditation { position: absolute; top: 22px; right: 28px; max-width: 120px; margin: 0; }
  .tc-modal-art { display: none; }
  .tc-modal-content [data-tc-enquiry-form] > h2 { margin: 0 10px 23px; font-size: 28px; font-weight: 500; text-align: center; }
  .tc-modal-content [data-tc-enquiry-form] > h2::after { display: block; width: 75px; margin-top: 12px; }
  .tc-modal-content [data-tc-enquiry-form] input:not(.wpforms-recaptcha-hidden):not([name="g-recaptcha-hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), .tc-modal-content [data-tc-enquiry-form] select, .tc-modal-content [data-tc-enquiry-form] textarea { height: 40px !important; border-radius: 6px !important; padding: 9px 10px !important; font-size: 14px !important; }
  .tc-modal-content [data-tc-enquiry-form] textarea { min-height: 77px !important; }
  .tc-modal-content [data-tc-enquiry-form] button[type="submit"] { min-height: 51px; font-size: 19px !important; }
  .tc-modal-content [data-tc-enquiry-form] .wpforms-field-label { font-size: 12px !important; }
  .tc-gallery-label--mobile { display: block; }
  .tc-gallery-label--desktop { display: none; }
  #trending .tc-section-actions, #destinations .tc-section-actions, #explore .tc-section-actions { position: static; }
  #trending .tc-tabs, #destinations .tc-tabs, #explore .tc-tabs { padding-right: 0; }
  #trending .tc-section-description, #destinations .tc-section-description, #explore .tc-section-description { display: none; }
  #explore { padding-block: 22px; }
  #explore .tc-tabs { margin-block: 10px 12px; }
  .tc-why { padding-top: 24px; padding-bottom: 20px; }
  .tc-site .tc-why-more > summary.tc-button--small { min-height: 26px; padding-block: 5px; min-width: 136px; }
  .tc-listing-intro { font-size: 10px; line-height: 1.6; }
  .tc-prose { font-size: 11px; }
  .tc-listing-filters { gap: 12px; padding: 15px; margin-bottom: 22px; }
  .tc-listing-filters > label { flex-basis: calc(50% - 6px); min-width: 0; font-size: 10px; }
  .tc-listing-filters select { min-height: 37px; font-size: 11px; padding-inline: 7px; }
  .tc-listing-filters > a { font-size: 11px; }
  .tc-results-count, .tc-pricing-note { font-size: 11px; }
  .tc-contact-layout { grid-template-columns: 1fr; gap: 25px; }
  .tc-contact-layout .tc-enquiry-sidebar { display: block; max-width: none; }
  .tc-contact h1 { font-size: 31px; }
  .tc-contact-details h2 { font-size: 24px; }
  .tc-car-specs > div { font-size: 12px; }
  .tc-blog-categories { gap: 7px; margin-block: 20px; }
  .tc-blog-categories a { padding: 5px 12px; font-size: 10px; }
  .tc-article .tc-prose { font-size: 14px; }
  .tc-article-image { margin-block: 12px 25px; }
}
@media (max-width: 374px) {
  .tc-container { width: calc(100% - 28px); }
  .tc-hero h1 { font-size: 41px; }
  .tc-trust-item { font-size: 7.5px; gap: 3px; }
  .tc-trust-item img { width: 20px; height: 20px; }
  .tc-budget { width: calc((100% - 14px) / 3); }
  .tc-package-footer, .tc-package-card-footer { padding-inline: 10px; gap: 7px; }
  .tc-mobile-enquiry .tc-button { min-width: 130px; padding-inline: 18px; }
  .tc-modal-content { padding-inline: 15px; }
  .tc-enquiry-modal { padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .tc-site *, .tc-site *::before, .tc-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
