/* Tour Booking Manager - frontend. Everything is scoped under .tbm so theme styles are not overridden. */
.tbm {
	--tbm-brand: #0b3d2e;
	--tbm-brand-2: #2f7a5a;
	--tbm-accent: #d4a017;
	--tbm-accent-2: #c49214;
	--tbm-ink: #1f2a24;
	--tbm-muted: #66705f;
	--tbm-line: #e1e5dd;
	--tbm-soft: #f5f7f2;
	--tbm-card: #ffffff;
	--tbm-ok: #2e7d4f;
	--tbm-warn: #b7791f;
	--tbm-bad: #b3261e;
	--tbm-radius: 12px;
	--tbm-gap: 1.25rem;
	color: var(--tbm-ink);
	line-height: 1.55;
	box-sizing: border-box;
}
.tbm *, .tbm *::before, .tbm *::after { box-sizing: inherit; }
.tbm [hidden] { display: none !important; }

/* Buttons */
.tbm .tbm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	padding: .65em 1.2em; border-radius: 6px; border: 1px solid transparent;
	font: inherit; font-weight: 600; text-decoration: none; cursor: pointer;
	background: var(--tbm-soft); color: var(--tbm-ink); transition: background .15s, transform .05s;
}
.add_new_vehicle{ background: #f7f7f7; padding: 30px; border-radius: 12px; }
.tbm .tbm-btn:hover { background: #e9ede5; }
.tbm .tbm-btn:active { transform: translateY(1px); }
.view_uploaded {font-size:14px; color:#d4a017 !important; font-weight:400;}
.tbm .tbm-btn:focus-visible { outline: 3px solid var(--tbm-accent); outline-offset: 2px; }
.tbm-btn--update { border-color: #0B3D2E !important; }
.tbm .tbm-btn--primary { background: var(--tbm-accent); color: black; width: 100%; text-align: center; max-height:45px; font-size:14px; }
.tbm .tbm-btn--danger { background: #c30600; color: #f7f7f7; width: 100%; text-align: center; }
.tbm .tbm-btn--primary:hover { background: var(--tbm-accent-2); }
.tbm .tbm-btn--danger:hover { background: #a90d08; border-color: #a90d08; color: #f7f7f7;}
.hoverable:hover {
    background: #d4a017 !important;
    color: black !important;
}
.tbm .tbm-btn--lg { padding: .85em 1.6em; font-size: 1.05em; }
.tbm .tbm-btn--block { display: flex; width: 100%; margin: 1rem 0 .4rem; }
.tbm .tbm-btn[disabled], .tbm .tbm-btn.is-loading { opacity: .65; cursor: progress; }

/* Notices / badges */
.tbm .tbm-notice, .tbm.tbm-notice { padding: .9rem 1.1rem; border-radius: var(--tbm-radius); background: #e1e1e1; border-left: 4px solid var(--tbm-brand-2); margin: 0 0 1rem; }
.tbm .tbm-notice--success, .tbm.tbm-notice--success { border-color: var(--tbm-ok); background: #edf7f0; }
.tbm .tbm-notice--error, .tbm.tbm-notice--error { border-color: var(--tbm-bad); background: #fcefee; }
.tbm .tbm-notice--info { border-color: var(--tbm-warn); background: #fdf6e9; }
.tbm .tbm-badge { display: inline-block; padding: .2em 1em; border-radius: 999px; font-size: .8em; font-weight: 600; background: #eceee9; color: var(--tbm-ink); white-space: nowrap; }
.tbm .tbm-badge--confirmed, .tbm .tbm-badge--completed, .tbm .tbm-badge--adv-paid { background: #dcefe3; color: #1d5e39; }
.tbm .tbm-badge--quote_sent, .tbm .tbm-badge--awaiting_advance, .tbm .tbm-badge--adv-unpaid { background: #fbedd2; color: #7a4e0c; }
.tbm .tbm-badge--cancelled, .tbm .tbm-badge--rejected, .tbm .tbm-badge--expired, .tbm .tbm-badge--adv-refunded { background: #f6dedc; color: #8a1f18; }
.tbm .tbm-badge--in_progress { background: #dbe8f7; color: #1c4a80; }
.tbm .tbm-muted { color: var(--tbm-muted); }
.tbm .tbm-small { font-size: .875em; }
.tbm .tbm-empty { color: var(--tbm-muted); padding: 2rem; text-align: center; background: var(--tbm-soft); border-radius: var(--tbm-radius); }
.tbm .tbm-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; color: var(--tbm-muted); margin: 0; }

/* Tour list */
.decoration-none{text-decoration: none !important;}
.tbm .tbm-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; align-items: end; padding: 1rem; background: var(--tbm-soft); border-radius: var(--tbm-radius); margin-bottom: var(--tbm-gap); }
.tbm-tours .tbm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--tbm-gap); }
.tbm-tours .tbm-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(31, 42, 36, .08); border-radius: 8px; background: #fff; box-shadow: 0 4px 14px rgba(31, 42, 36, .12); transition: box-shadow .2s, transform .2s; }
.tbm-tours .tbm-card:hover { box-shadow: 0 10px 28px rgba(31, 77, 58, .16); transform: translateY(-2px); }
.tbm-tours .tbm-card__media { position: relative; display: block; height: 250px; flex: 0 0 250px; background: var(--tbm-soft); }
.tbm-tours .tbm-card__image-link { display: block; width: 100%; height: 100%; }
.tbm-tours .tbm-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tbm-tours .tbm-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #cfe0d3, #f0e2c4); }
.tbm-tours .tbm-card__destination { position: absolute; bottom: -10px; left: 10px; max-width: calc(100% - 20px); overflow: hidden; padding: .25rem .8rem; border-radius: 999px; background: var(--tbm-accent); color: #161616; font-size: .75rem; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.tbm-tours .tbm-card__body { padding: 1.75rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .75rem; flex: 1; }
.tbm-tours .tbm-card__title { margin: 0; color: #D4A017; font-family: "Playfair Display",Sans-serif; font-size: 1.5rem; line-height: 28px; font-weight: 700; }
.tbm-tours .tbm-card__title a { color: inherit; text-decoration: none; }
.tbm-tours .tbm-card__title a:hover { color: var(--tbm-brand); }
.tbm-tours .tbm-card__meta {     font-weight: 500; margin: 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; color: var(--tbm-ink); font-size: 15px; }
.tbm-tours .tbm-card__duration, .tbm-tours .tbm-card__price { display: inline-flex; align-items: center; gap: .45rem; }
.tbm-tours .tbm-card__duration { color: var(--tbm-ink); }
.tbm-tours .tbm-card__duration svg, .tbm-tours .tbm-card__price svg { width: 20px; height: 20px; flex: 0 0 1.2rem; fill: none; stroke: black; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; margin-top: -1px; }
.tbm-tours .tbm-card__excerpt { color: #1A1A1A; font-size: 15px; font-weight: 500; line-height: 1.5; flex: 1; }
.tbm-tours .tbm-card__footer { display: flex; align-items: center; gap: .5rem; margin-top: .25rem; }
.tbm-tours .tbm-card__footer .tbm-btn { width: 100%; justify-content: center; border-radius: 6px; background: var(--tbm-brand); color: #fff; }
.tbm-tours .tbm-card__footer .tbm-btn:hover { background: #082f24; }
.tbm-tours .tbm-card__price { color: var(--tbm-ink); white-space: nowrap; }
.tbm .tbm-pagination { margin-top: var(--tbm-gap); display: flex; gap: .4rem; flex-wrap: wrap; }
.tbm .tbm-pagination .page-numbers { padding: .35rem .75rem; border: 1px solid var(--tbm-line); border-radius: 8px; text-decoration: none; }
.tbm .tbm-pagination .current { background: var(--tbm-brand); color: #fff; border-color: var(--tbm-brand); }

/* Single tour */
.tbm .tbm-tour-gallery { position: relative; margin: 0 0 1.5rem; }
.tbm .tbm-tour-gallery__grid { position:relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(130px, 1fr)); gap: .65rem; height: clamp(290px, 42vw, 500px); overflow: hidden; border-radius: 18px; }
.tbm .tbm-tour-gallery__item {min-width: 0; min-height: 0; padding: 0 !important; overflow: hidden; border: 0; border-radius: 12px; background: var(--tbm-soft); cursor: zoom-in; }
.tbm .tbm-tour-gallery__item:first-child { grid-row: 1 / 3; }
.tbm .tbm-tour-gallery__item:nth-child(2) { grid-column: 2 / 4; }
.tbm .tbm-tour-gallery__item:nth-child(3) { grid-column: 2; grid-row: 2; }
.tbm .tbm-tour-gallery__item:nth-child(4) { grid-column: 3; grid-row: 2; }
.tbm .tbm-tour-gallery--1-photos .tbm-tour-gallery__grid { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.tbm .tbm-tour-gallery--1-photos .tbm-tour-gallery__item:first-child { grid-area: auto; }
.tbm .tbm-tour-gallery--2-photos .tbm-tour-gallery__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
.tbm .tbm-tour-gallery--2-photos .tbm-tour-gallery__item:first-child,
.tbm .tbm-tour-gallery--2-photos .tbm-tour-gallery__item:nth-child(2) { grid-area: auto; }
.tbm .tbm-tour-gallery--3-photos .tbm-tour-gallery__grid { grid-template-columns: 1.15fr 1fr; grid-template-rows: 1fr 1fr; }
.tbm .tbm-tour-gallery--3-photos .tbm-tour-gallery__item:first-child { grid-row: 1 / 3; }
.tbm .tbm-tour-gallery--3-photos .tbm-tour-gallery__item:nth-child(2) { grid-column: 2; grid-row: 1; }
.tbm .tbm-tour-gallery--3-photos .tbm-tour-gallery__item:nth-child(3) { grid-column: 2; grid-row: 2; }
.tbm .tbm-tour-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.tbm .tbm-tour-gallery__item:hover img { transform: scale(1.035); }
.tbm .tbm-tour-gallery__item:focus-visible { outline: 3px solid var(--tbm-accent); outline-offset: -4px; z-index: 1; }
.tbm .tbm-tour-gallery__more { cursor: pointer; position: absolute; color: black; background: white; font-weight: 500; font-size: 14px; bottom: 10px; right: 10px; padding: 5px 15px 4px 15px; border-radius: 50px; line-height: 1; }
.tbm .tbm-tour-gallery__lightbox { position: fixed; z-index: 999999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 4rem 5.5rem; background: rgba(9, 13, 11, .96); color: #fff; }
.tbm .tbm-tour-gallery__lightbox[hidden] { display: none; }
.tbm .tbm-tour-gallery__figure { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; }
.tbm .tbm-tour-gallery__figure img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.tbm .tbm-tour-gallery__figure figcaption { padding-top: .8rem; color: #fff; font-size: .95rem; }
.tbm .tbm-tour-gallery__close, .tbm .tbm-tour-gallery__nav { background: transparent; position: absolute; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50% !important; background: rgba(0, 0, 0, .28); color: #fff; cursor: pointer; line-height: 1; font-weight:300; }
.tbm .tbm-tour-gallery__close:focus{ background: transparent; position: absolute; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50% !important; background: rgba(0, 0, 0, .28); color: #fff; cursor: pointer; line-height: 1; font-weight:300; }
.tbm .tbm-tour-gallery__close { top: 1.25rem; right: 1.5rem; width: 46px; height: 46px; font-size: 2rem; }
.tbm .tbm-tour-gallery__nav { top: 50%; width: 48px; height: 48px; font-size: 2.7rem; transform: translateY(-50%); }
.tbm .tbm-tour-gallery__nav:focus { background-color: white; border:none;}
.tbm .tbm-tour-gallery__nav div { font-size: 40px; width: 48px; height: 40px; line-height: 1; font-weight: 200; margin-bottom: 8px; }


.tbm .tbm-tour-gallery__nav--prev { left: 1.25rem; }
.tbm .tbm-tour-gallery__nav--next { right: 1.25rem; }
.tbm .tbm-tour-gallery__close:hover, .tbm .tbm-tour-gallery__nav:hover { background: white; color: black; border: none; }
.tbm .tbm-tour-gallery__close:focus-visible, .tbm .tbm-tour-gallery__nav:focus-visible { outline: 3px solid var(--tbm-accent); outline-offset: 3px; }
.tbm .tbm-tour__overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 340px); gap: 1.25rem; align-items: start; margin-bottom: 2rem; }
.tbm .tbm-tour__heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.tbm .tbm-tour__heading-row .tbm-tour__title { min-width: 0; margin: 0; color: #1f4d3a; font-family: "Playfair Display", Sans-serif; }
.tbm .tbm-tour-duration { flex: 0 0 70px; overflow: hidden; border: 1px solid #0b3d2e; border-radius: 4px; background: #fff; text-align: center; }
.tbm .tbm-tour-duration__number { display: block; padding: .2rem .35rem; background: #0b3d2e; color: #fff; font-size: 2rem; font-weight: 700; line-height: 1.35; }
.tbm .tbm-tour-duration__unit { display: block; padding: .25rem .3rem; color: #52605b; font-size: .9rem; line-height: 1.3; }
.tbm .tbm-tour__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: .7rem; align-content: start; }
.tbm .tbm-tour__fact { display: flex; align-items: center; gap: .75rem; min-width: 0; padding: .85rem .95rem; border: 1px solid var(--tbm-line); border-radius: 12px; background: var(--tbm-card); }
.tbm .tbm-tour__fact-icon { display: flex; flex: 0 0 38px; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #edf4ee; color: var(--tbm-brand); font-size: 1.25rem; }
.tbm .tbm-tour__fact > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.tbm .tbm-fact { background: var(--tbm-soft); border-radius: var(--tbm-radius); padding: .65rem 1rem; display: flex; flex-direction: column; min-width: 120px; }
.tbm .tbm-fact__label { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tbm-muted); }
.tbm .tbm-fact__value { font-weight: 600; }
.tbm .tbm-tour-price { padding: 1.2rem; border: 1px solid #0b3d2e; border-radius: 10px; background: #0b3d2e; box-shadow: 0 8px 24px rgba(31, 77, 58, .08); }
.tbm .tbm-tour-price__eyebrow { margin: 0 0 .85rem; color: white; font-size: 16px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.tbm .tbm-tour-price__rows { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.tbm .tbm-tour-price__row { display: flex; flex-direction: column; gap: .2rem; padding: .75rem; border-radius: 10px; background: #edf4ee; border: 1px solid var(--tbm-line); }
.tbm .tbm-tour-price__row > span { color: var(--tbm-muted); font-size: .875rem; font-weight: 500; }
.tbm .tbm-tour-price__row strong { color: var(--tbm-brand); font-size: 1.7rem; line-height: 1.35; white-space: nowrap; font-weight: 600; }
.tbm .tbm-tour-price__row strong small, .tbm .tbm-tour-price__starting small { color: var(--tbm-muted); font-size: .75rem; font-weight: 500; }
.tbm .tbm-tour-price__starting { margin: 0; color: var(--tbm-brand); font-size: 1.65rem; font-weight: 750; }
.tbm .tbm-tour-price__note { margin: .7rem 0 0; color: white; font-size: 14px; }
.tbm .tbm-tour-price__button { display: flex; width: 100%; margin-top: 1rem; padding: 11px 18px 11px 18px; border-radius: 6px; font-family: "Montserrat", Sans-serif; font-size: 14px;}
/* .tbm .tbm-section { margin: 2rem 0; } */
.tbm .tbm-itinerary { list-style: none; padding: 0; margin: 0; }
.tbm .tbm-itinerary li { position: relative; margin: 0; padding: 0 0 0 3.5rem; }
.tbm .tbm-itinerary li::before { content: ""; position: absolute; z-index: 1; top: 1.9rem; left: .42rem; width: .65rem; height: .65rem; border: 1.5px solid var(--tbm-brand); border-radius: 50%; background: #fff; }
.tbm .tbm-itinerary li::after { content: ""; position: absolute; top: 0; bottom: 0; left: .72rem; border-left: 1px dashed #d8e4e1; }
.tbm .tbm-itinerary li:first-child::after { top: 2.1rem; }
.tbm .tbm-itinerary li:last-child::after { bottom: calc(100% - 2.25rem); }
.tbm .tbm-itinerary li.tbm-itinerary__stop--first::before,
.tbm .tbm-itinerary li.tbm-itinerary__stop--last::before { top: 12px; left: -12px; width: 3rem; height: 3rem; border: 0; border-radius: 50%; background: var(--tbm-brand) url("../img/loaction.svg") center / 1.3rem 1.3rem no-repeat; box-shadow: 0 0 0 3px #daede8; }
.tbm .tbm-itinerary__details { position: relative; border-bottom: 1px solid var(--tbm-line); }
li.tbm-itinerary__stop.tbm-itinerary__stop--last details.tbm-itinerary__details { border: 0; }
.tbm .tbm-itinerary__details summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.5rem 0; color: #000000; cursor: pointer; font-weight: 600; line-height: 1.55; list-style: none; }
.tbm .tbm-itinerary__details summary::-webkit-details-marker { display: none; }
.tbm .tbm-itinerary__chevron { position: relative; flex: 0 0 .65rem; width: .65rem; height: .65rem; margin: .25rem .15rem 0 0; border-right: 1.5px solid #84918c; border-bottom: 1.5px solid #84918c; transform: rotate(45deg); transition: transform .18s ease, border-color .18s ease; }
.tbm .tbm-itinerary__details[open] .tbm-itinerary__chevron { margin-top: .55rem; border-color: var(--tbm-brand); transform: rotate(225deg); }
.tbm .tbm-itinerary__details summary:focus-visible { outline: 2px solid var(--tbm-brand); outline-offset: 3px; border-radius: 3px; }
.tbm .tbm-itinerary__description { padding: 0 0 1.15rem; color: #1A1A1A; font-size: 15px;}
.tbm .tbm-itinerary__description p { margin: 0; }
.tbm .tbm-itinerary__description p strong { color: #1f2a24; }
.tbm .tbm-itinerary__description p + p { margin-top: .75rem; }
.tbm .tbm-inex { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tbm-gap); }
.tbm .tbm-inex__card:only-child { grid-column: 1 / -1; }
.tbm .tbm-list { list-style: none; padding: 0; margin: 0; }
.tbm .tbm-list li { padding: .25rem 0 .25rem 1.6rem; position: relative; }
.tbm .tbm-list--yes li::before { content: ""; position: absolute; top: 3px; left: 0; width: 1.1rem; height: 1.1rem; background: url("../img/check.svg") center / contain no-repeat; }
.tbm .tbm-list--no li::before { content: ""; position: absolute; top: 3px; left: 0; width: 1.1rem; height: 1.1rem; background: url("../img/uncheck.svg") center / contain no-repeat; }
.tbm .tbm-callout { background: #fdf6e9; border-radius: var(--tbm-radius); padding: 1rem 1.2rem; }
.tbm .tbm-faq { border: 1px solid #e1e5e9; border-radius: 9px; background: #fff; padding: 12px 1.4rem; }
.tbm .tbm-faq summary { cursor: pointer; font-weight: 600; }

/* Refined tour detail page */
.tbm.tbm-tour { width: min(100%, 1500px); margin: 0 auto; --tbm-line: #e5e9e2; --tbm-soft: #f5f7f3; }
.tbm .tbm-tour__intro { display: none; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding: 1rem 1.2rem; border: 1px solid var(--tbm-line); border-left: 4px solid var(--tbm-brand-2); border-radius: 12px; background: linear-gradient(110deg, #f5f8f3, #fff); }
.tbm .tbm-tour__intro .tbm-eyebrow { margin-bottom: .45rem; color: var(--tbm-brand); font-weight: 700; }
.tbm .tbm-tour__tags { display: flex; flex-wrap: wrap; gap: .45rem; }
.tbm .tbm-tour__tag { display: inline-flex; align-items: center; padding: .28rem .7rem; border: 1px solid #d7e4d8; border-radius: 999px; background: #edf5ee; color: var(--tbm-brand); font-size: .82rem; font-weight: 600; }
.tbm .tbm-tour__tag--category { border-color: #f0e2c4; background: #fbf5e9; color: #755522; }
.tbm .tbm-tour-gallery { margin-bottom: 1.75rem; }
.tbm .tbm-tour-gallery__grid { gap: 8px; height: clamp(320px, 45vw, 540px); border-radius: 20px; }
.tbm .tbm-tour-gallery__item { border-radius: 10px; }
.tbm .tbm-tour-gallery__item:hover { border-radius: 10px; border:0px; }
.tbm .tbm-tour__overview { gap: 1.5rem; margin-bottom: 1.5rem; }
.tbm .tbm-tour__facts { gap: .8rem; }
.tbm .tbm-tour__fact { padding: 1rem; border-radius: 14px; box-shadow: 0 3px 14px rgba(31, 42, 36, .035); }
.tbm .tbm-tour__fact-icon { background: #edf4ee; }
.tbm .tbm-tour-price { padding: 1.4rem; border-color: #dce7dd; border-radius: 18px; box-shadow: 0 12px 30px rgba(31, 77, 58, .1); position: sticky; top: 8rem; align-self: start; overflow: visible;}
/* .tbm .tbm-tour__content { margin-top:30px; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--tbm-line); border-radius: 16px; background: #fff; box-shadow: 0 5px 20px rgba(31, 42, 36, .035); } */
.tbm .tbm-tour__content > :first-child { margin-top: 0; }
.tbm .tbm-tour__content > :last-child { margin-bottom: 0; }
.tbm .tbm-tour__content h2 { margin: 0 0 .8rem; color: var(--tbm-ink); font-size: clamp(1.35rem, 2vw, 1.75rem); }
.tbm .tbm-tour__content p { color: #1A1A1A; font-size: 15px; }
/* .tbm .tbm-section { margin: 1.5rem 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--tbm-line); border-radius: 16px; background: #fff; box-shadow: 0 5px 20px rgba(31, 42, 36, .035); } */
.tbm .tbm-section > h2 { margin: 0 0 1.15rem; color: var(--tbm-ink); font-size: clamp(1.35rem, 2vw, 1.75rem); }
.tbm .tbm-section > h3 { margin: 0 0 1.15rem; color: var(--tbm-ink); font-size: clamp(1.35rem, 1.7vw, 1.75rem); }
.tbm .tbm-section > .tbm-faqs__header > h2 { margin: 0 0 1.15rem; color: var(--tbm-ink); font-size: clamp(1.35rem, 2vw, 1.75rem); }
.tbm .tbm-itinerary { margin-left: 10px; }
.tbm .tbm-inex { gap: 1rem; }
.tbm .tbm-inex__card { min-width: 0; padding: 1.2rem; border: 1px solid #dce9df; border-radius: 13px; background: #f7fbf7; }
.tbm .tbm-inex__card--excluded { border-color: #eee2dd; background: #fdf9f7; }
.tbm .tbm-inex__card h3 { margin: 0 0 .65rem; color: var(--tbm-brand); font-size: 1.1rem; }
.tbm .tbm-inex__card--excluded h3 { color: #82463c; }
.tbm .tbm-list li { padding-top: 0; padding-bottom: .35rem; line-height: 1.55; }
.tbm .tbm-callout { border-color: #f0e1c0; background: #fdf8ed; box-shadow: none; }
.tbm .tbm-callout p { font-size: 15px; margin:0;}
.tbm .tbm-callout h3 { margin-top: 0; color: #755522; }
.tbm .tbm-section--faqs .tbm-faqs__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.35rem; }
.tbm .tbm-section--faqs .tbm-faqs__header h2 { margin: 0; }
.tbm .tbm-section--faqs .tbm-faqs__toggle { display: inline-flex; align-items: center; gap: .65rem; padding: .35rem 0 .35rem .5rem; border: 0; background: transparent; color: #64748b; font: inherit; cursor: pointer; }
.tbm .tbm-section--faqs .tbm-faqs__switch { position: relative; width: 2.6rem; height: 1.4rem; border-radius: 999px; background: #e7eaee; transition: background .18s ease; }
.tbm .tbm-section--faqs .tbm-faqs__switch::after { content: ""; position: absolute; top: .15rem; left: .15rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.18); transition: transform .18s ease; }
.tbm .tbm-section--faqs .tbm-faqs__toggle[aria-pressed="true"] .tbm-faqs__switch { background: var(--tbm-brand-2); }
.tbm .tbm-section--faqs .tbm-faqs__toggle[aria-pressed="true"] .tbm-faqs__switch::after { transform: translateX(1.2rem); }
.tbm .tbm-section--faqs .tbm-faq { margin: 0 0 1rem; padding: 0 1.5rem; }
.tbm .tbm-section--faqs .tbm-faq summary { position: relative; padding: 1.25rem 2rem 1.25rem 0; color: var(--tbm-ink); list-style: none; }
.tbm .tbm-section--faqs .tbm-faq summary::-webkit-details-marker { display: none; }
.tbm .tbm-section--faqs .tbm-faq summary::after { content: ""; position: absolute; top: 50%; right: .2rem; width: .55rem; height: .55rem; border-right: 1.5px solid #84918c; border-bottom: 1.5px solid #84918c; transform: translateY(-70%) rotate(45deg); transition: transform .18s ease, border-color .18s ease; }
.tbm .tbm-section--faqs .tbm-faq[open] summary { color: var(--tbm-brand-2); }
.tbm .tbm-section--faqs .tbm-faq[open] summary::after { border-color: var(--tbm-brand-2); transform: translateY(-25%) rotate(225deg); }
.tbm .tbm-section--faqs .tbm-faq p { margin: 0; padding: 0 0 1.35rem; color: var(--tbm-muted); line-height: 1.75; }
.tbm .tbm-section--faqs .tbm-faq summary:focus-visible,
.tbm .tbm-section--faqs .tbm-faqs__toggle:focus-visible { outline: 2px solid var(--tbm-brand-2); outline-offset: 3px; border-radius: 4px; }
@media (max-width: 600px) {
	.tbm .tbm-section--faqs .tbm-faqs__header { align-items: flex-start; }
	.tbm .tbm-section--faqs .tbm-faq { padding: 0 1rem; }
	.tbm .tbm-section--faqs .tbm-faq summary { padding-top: 1rem; padding-bottom: 1rem; }
}
.tbm .tbm-section--booking { padding: 25px; border-color: #dce7dd; background: #f7f7f7; border-radius: 16px; }
.tbm .tbm-section--booking > h2 { margin-bottom: 1.25rem; }

/* Forms */
.tbm .tbm-booking__layout { display: grid; gap: var(--tbm-gap); align-items: start; }
.tbm .tbm-booking__fields { min-width: 0; }
.tbm .tbm-booking__summary { position: sticky; top: 8rem; align-self: start; min-width: 0; max-height: none; overflow: visible; padding: 1.1rem; border: 1px solid #dce7dd; border-radius: 16px; background: #f7f9f6; box-shadow: 0 8px 24px rgba(31, 77, 58, .07); }
.tbm .tbm-booking__summary > h3 { color: white; font-size: 1.35rem; line-height: 1.3; }
.tbm .tbm-booking__summary .tbm-btn { width: 100%; }
.tbm .tbm-summary-card { min-width: 0; margin: 0 0 .85rem; padding: .9rem; border: 1px solid #e4e9e2; border-radius: 11px; background: #edf4ee; }
.tbm .tbm-summary-card .h4 { margin: 0 0 .55rem; color: var(--tbm-ink); font-size: 16px; font-weight: 600; }
.tbm .tbm-summary-list { display: grid; gap: 0; min-width: 0; margin: 0; }
.tbm .tbm-summary-list__row { display: grid; grid-template-columns: minmax(92px, .8fr) minmax(0, 1.2fr); gap: .5rem; align-items: start; min-width: 0; padding: .48rem 0; border-bottom: 1px solid #0b3d2e14; }
.tbm .tbm-summary-list__row:first-child { padding-top: .2rem; }
.tbm .tbm-summary-list__row:last-child { border-bottom: 0; padding-bottom: .2rem; }
.tbm .tbm-summary-list__row dt { min-width: 0; color: #000000; font-size: 14px; font-weight: 500;overflow-wrap: anywhere; }
.tbm .tbm-summary-list__row dd { min-width: 0; margin: 0; color: var(--tbm-ink); font-size: .88rem; line-height: 1.45; text-align: right; overflow-wrap: anywhere; }
.tbm .tbm-summary-list__row--addons { grid-template-columns: 1fr; gap: .25rem; }
.tbm .tbm-summary-list__row--addons dd { text-align: left; color: var(--tbm-muted); white-space: pre-line; }
.tbm .tbm-summary-list__row--total { margin: .3rem -.4rem; padding: .65rem .7rem; border: 0; border-radius: 7px; background: var(--tbm-brand); }
.tbm .tbm-summary-list__row--total dt,
.tbm .tbm-summary-list__row--total dd { color: white; font-weight: 700; }
.tbm .tbm-booking__summary > .tbm-muted,
.tbm .tbm-booking__summary > .tbm-form__hint { display: block; margin: .8rem 0; line-height: 1.55; }
.tbm .tbm-booking__summary > .tbm-muted { font-size: .78rem; color:white;}
.tbm .tbm-booking__summary > .tbm-form__hint { padding: .7rem; border-radius: 8px; background: #edf4ee; color: var(--tbm-brand); font-size: .82rem; }
.tbm .tbm-policy summary { cursor: pointer; font-weight: 600; }
.tbm .tbm-form__grid.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr));}
.tbm .tbm-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.tbm .tbm-field { display: flex; flex-direction: column; gap: .3rem; }
.tbm .tbm-field--full { grid-column: 1 / -1; }
.tbm .tbm-field label { font-weight: 600; font-size: .925rem; }
.tbm .tbm-field input[type="file"]{padding: .33rem .8rem;}
.tbm .tbm-field input[type="file"]::file-selector-button {font-size: 12px;}

.remaining_collection_form input, 
.remaining_collection_form select, 
.vehicle_update_form input, 
.vehicle_update_form select
{ width:auto !important;}
.tbm .tbm-field input, .tbm .tbm-field select, .tbm .tbm-field textarea, .tbm .tbm-filters input, .tbm .tbm-filters select {
	width: 100%; padding: .45rem .8rem; border: 1px solid #cdd3c8; border-radius: 8px; font: inherit; background: #fff; color: var(--tbm-ink); font-size:14px;
}
.italic { font-style: italic;}
.history { position: sticky; top: 8rem; align-self: start; }
.history .tbm-panel {min-height: 50vh; background-color: var(--tbm-brand) !important;}
.history .tbm-panel h3{ color: white; }
.grid-span-2 { grid-column: span 2; }
.tbm .tbm-field input:focus, .tbm .tbm-field select:focus, .tbm .tbm-field textarea:focus { outline: none; border-color: var(--tbm-brand-2); box-shadow: 0 0 0 3px rgba(47, 122, 90, .2); }
.tbm .tbm-field [aria-invalid="true"] { border-color: var(--tbm-bad); }
.tbm .tbm-field--check label, .tbm .tbm-field--check { font-weight: 400; flex-direction: row; gap: .5rem; align-items: flex-start;}
.single-tbm_tour .tbm .tbm-field--check{  display:block !important;}
.single-tbm_tour .tbm .tbm-field--check p {  padding-left: 25px;}
.tbm .tbm-field--check input { width: auto; margin-top: .3em; }
.tbm .tbm-travelers { display: flex; flex-wrap: wrap; gap: .5rem; border: 0; margin: 0; padding: 0; }
.tbm .tbm-travelers legend { font-weight: 600; margin-bottom: .3rem; }
.tbm .tbm-travelers label { display: inline-flex; align-items: center; cursor: pointer; }
.tbm .tbm-travelers input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tbm .tbm-travelers label span { display: inline-flex; min-width: 2.5rem; min-height: 2.5rem; align-items: center; justify-content: center; border: 1px solid #cdd3c8; border-radius: 8px; padding: .4rem; background: #fff; }
.tbm .tbm-travelers input:checked + span { border-color: var(--tbm-brand); background: var(--tbm-brand); color: #fff; }
.tbm .tbm-travelers input:focus-visible + span { outline: 2px solid var(--tbm-brand-2); outline-offset: 2px; }
.tbm .tbm-traveler-count-exact { margin-top: .5rem; }

.tbm .grid-checkbox label{ display: grid; grid-template-columns: 15px 1fr; gap: 10px; align-items: flex-start; }
.tbm .grid-checkbox label input { width: auto; margin-top: 3px;}
.tbm .grid-checkbox label span { line-height: normal; }

.tbm .tbm-addon-option { display: grid; grid-template-columns: 15px 1fr; gap: 10px; align-items: flex-start; margin-bottom: 8px; }
.tbm .tbm-addon-option input { width: auto; margin-top: 3px;}
.tbm .tbm-addon-option span { line-height: normal; }

.tbm .tbm-estimate { padding: 1rem; border: 1px solid var(--tbm-line); border-radius: var(--tbm-radius); background: var(--tbm-brand); }
.tbm .tbm-estimate h3 { margin-top: 0; }
.tbm .tbm-card__price > span { display: inline-block;}
.tbm .tbm-req { color: var(--tbm-bad); }
.tbm .tbm-error { color: var(--tbm-bad); font-size: .85rem; margin: 0; }
.tbm .tbm-form__hint { color: var(--tbm-muted); font-size: .9rem; }
.tbm .tbm-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }

/* Portal */
.tbm .tbm-portal__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: var(--tbm-gap); }
.tbm .tbm-portal__head h2 { margin: .1rem 0 0; }
.tbm .tbm-portal__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--tbm-gap); }
.tbm .tbm-panel { background: var(--tbm-card); border: 1px solid var(--tbm-line); border-radius: var(--tbm-radius); padding: 1.2rem 1.3rem; margin-bottom: var(--tbm-gap); }
.tbm .tbm-panel h3 { margin-top: 0; }
.tbm .tbm-driver-vehicle-list { list-style: none; padding: 0;  }
.tbm .tbm-driver-vehicle-list li { padding: .85rem 0; border-bottom: 1px solid var(--tbm-line); }
.tbm .tbm-driver-vehicle-list li:last-child { border-bottom: 0; }
.tbm .tbm-driver-vehicle-list .tbm-badge { margin-top: .4rem; }
.tbm .tbm-driver-vehicle-list p { margin: .3rem 0 0; color: var(--tbm-muted); }
.tbm .tbm-dl { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1rem; margin: 0; }
.tbm .tbm-dl dt { color: var(--tbm-muted); }
.customer_portal .tbm-dl{ gap: .45rem 0 !important; }
.customer_portal .tbm-dl { display: grid; grid-template-columns: 300px 1fr; gap: .45rem 1rem; margin: 0; }
.customer_portal .tbm-dl dt { color: black; font-weight: 600; font-size: 15px; border-bottom: 1px solid #ebebeb;}
.customer_portal .tbm-dl dd { font-size: 14px; border-bottom: 1px solid #ebebeb; text-align:end;}
article.tbm-panel.tbm-trip dl.tbm-dl dt{ color: black; font-weight: 600; font-size: 15px;}
article.tbm-panel.tbm-trip dl.tbm-dl dd { font-size: 14px;}
.tbm .tbm-dl dd { margin: 0; }
.tbm .tbm-dl--money dd { text-align: right; font-variant-numeric: tabular-nums; }
.tbm .tbm-quote { border: 2px solid var(--tbm-accent); }
.tbm .tbm-timeline { list-style: none; margin: 0; padding: 0; }
.tbm .tbm-timeline li { padding: .4rem 0; border-bottom: 1px dashed var(--tbm-line); display: flex; gap: 1rem; flex-wrap: wrap; }
.tbm .tbm-timeline time { color: white; font-size: 15px; min-width: 9rem; font-weight: 500; }
.tbm .tbm-timeline span { color: white; font-size: 15px; }
.tbm .tbm-booking-list { list-style: none; padding: 0; }
.tbm .tbm-booking-list li { padding: .6rem 0; border-bottom: 1px solid var(--tbm-line); }

/* Become a driver page  */
h1.entry-title{
    margin: 0;
    /* color: #1f4d3a; */
    font-family: "Playfair Display", Sans-serif;
	font-size: 3rem;
    font-weight: bold;
	padding:0 !important;
}
.tbm-portal h3, 
.tbm-portal.tbm-driver h3, 
.tbm-driver-register h3 {
    margin: 0 0 20px;
    color: var(--tbm-ink);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
}
/* Driver dashboard */
.tbm .tbm-tabs { display: flex; gap: .4rem; flex-wrap: wrap; border-bottom: 1px solid var(--tbm-line); margin-bottom: var(--tbm-gap); }
.tbm .tbm-tab { padding: .6rem 1rem; text-decoration: none; color: var(--tbm-muted); border-bottom: 3px solid transparent; font-weight: 600; }
.tbm .tbm-tab.is-active { color: var(--tbm-brand); border-bottom-color: var(--tbm-brand); }
.tbm .tbm-trips { display: grid; gap: var(--tbm-gap); }
.tbm .tbm-trip__head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; flex-wrap: wrap; margin-bottom: .75rem; }
.tbm .tbm-trip__head h3 { margin: .1rem 0; }
.tbm .tbm-trip__when { margin: 0; color: var(--tbm-muted); }
.tbm .tbm-trip__money { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 1rem 0; }
.tbm .tbm-trip__money > div { background: var(--tbm-soft); border-radius: 10px; padding: .7rem .9rem; display: flex; flex-direction: column; }
.tbm .tbm-trip__money span { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--tbm-muted); }
.tbm .tbm-trip__money strong { font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.tbm .tbm-trip__money .is-key { background: #fdf3df; border: 1px solid #f0d49b; }
.tbm .tbm-trip__money em { font-style: normal; font-size: .8rem; color: var(--tbm-warn); }
.tbm .tbm-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .5rem; }
.tbm .tbm-collapse-card > summary { list-style: none; display: inline-flex; }
.tbm .tbm-collapse-card > summary::-webkit-details-marker { display: none; }
.tbm .tbm-collapse-card[open] > summary { margin-bottom: 1rem; }
.tbm .tbm-chip { display: inline-block; font-size: .72rem; line-height: 1.3; padding: .1rem .4rem; border-radius: 6px; margin: 1px 0; }
.tbm .tbm-chip--available { background: #dcefe3; color: #1d5e39; }
.tbm .tbm-chip--unavailable { background: #f6dedc; color: #8a1f18; }
.tbm .tbm-chip--trip { background: #dbe8f7; color: #1c4a80; font-weight: 600; }
.tbm .tbm-cal__nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.tbm .tbm-cal__nav h3 { margin: 0; }
.tbm .tbm-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.tbm .tbm-cal__dow { font-size: .75rem; text-transform: uppercase; color: var(--tbm-muted); text-align: center; padding: .25rem 0; }
.tbm .tbm-cal__day { min-height: 84px; border: 1px solid var(--tbm-line); border-radius: 8px; padding: 4px; display: flex; flex-direction: column; gap: 2px; overflow: hidden; }
.tbm .tbm-cal__day.is-out { border: 0; }
.tbm .tbm-cal__day.is-today { border-color: var(--tbm-brand-2); box-shadow: inset 0 0 0 1px var(--tbm-brand-2); }
.tbm .tbm-cal__num { font-weight: 700; font-size: .85rem; }
.tbm .tbm-inline-form { display: inline; }
.tbm .tbm-link { background: none; border: 0; color: var(--tbm-bad); cursor: pointer; text-decoration: underline; font: inherit; padding: 0 .3rem; }
.tbm .tbm-table-wrap { overflow-x: auto; }
.tbm .tbm-table { width: 100%; border-collapse: collapse; }
.tbm .tbm-table th, .tbm .tbm-table td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--tbm-line); vertical-align: top; }
.tbm .tbm-badge--driver-approved, .tbm .tbm-badge--sub-approved, .tbm .tbm-badge--doc-accepted { background: #dcefe3; color: #1d5e39; }
.tbm .tbm-badge--driver-pending, .tbm .tbm-badge--driver-corrections_requested, .tbm .tbm-badge--sub-pending, .tbm .tbm-badge--doc-pending { background: #fbedd2; color: #7a4e0c; }
.tbm .tbm-badge--driver-rejected, .tbm .tbm-badge--driver-suspended, .tbm .tbm-badge--sub-rejected, .tbm .tbm-badge--sub-reversed, .tbm .tbm-badge--doc-rejected { background: #f6dedc; color: #8a1f18; }
.tbm blockquote { margin: .6rem 0 0; padding-left: .8rem; border-left: 3px solid var(--tbm-line); }

.include_service, 
.additional_charges{
	font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    color: black;
}
 .inner{
	font-size: 14px;
}
.mob_heading{ display:none !important; padding-bottom: 30px; }
@media (max-width: 900px) {
	.desktop_heading{ display:none !important;}
	.mob_heading{ display:flex !important; }
	.tbm-tour__overview .tbm-tour__factss { order: 2; }
	.tbm .tbm-tour-price {
        position: relative;
        top: 0;
    }
	.tbm .tbm-tour__overview{ gap: 0; }
}


@media (min-width: 1025px) {
	.tbm .tbm-booking__layout { grid-template-columns: minmax(0, 1fr) minmax(280px, 450px); }
}

@media (min-width: 768px) and (max-width:1024px) {
	.tbm .tbm-booking__layout {grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); }
}
@media (min-width: 768px) and (max-width:899px) {
	.tbm .tbm-form__grid.grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
	.history{ grid-column: span 2;}
}

@media (max-width: 767px) {
	.grid-span-2 {grid-column: span 1;}
	.customer_portal .tbm-dl dt{ border-bottom: none;}
	.customer_portal .tbm-dl dd { text-align: start;}
	/* Become a driver page  */
	h1.entry-title{
		font-size: 36px;
	}
	.tbm .tbm-form__grid.grid-3 { grid-template-columns: repeat(1, minmax(0, 1fr));}
		
	/* .tbm .tbm-tour__heading-row { display: flex; flex-direction: column; gap: 1rem; } */
	.tbm .tbm-tour-duration__number { padding: .2rem 1.35rem; }
	.tbm .tbm-tour-duration { flex: 0 0 80px; margin-left: auto;}
	.tbm .tbm-tour__heading-row .tbm-tour__title { font-size:36px;}
	.tbm .tbm-tour__intro { padding: .85rem 1rem; }
	.tbm .tbm-tour-gallery__grid { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(80px, 1fr)); height: clamp(160px, 54vw, 320px); gap: .35rem; border-radius: 12px; }
	.tbm .tbm-tour-gallery--2-photos .tbm-tour-gallery__grid { grid-template-columns: 1fr 1fr; }
	.tbm .tbm-tour-gallery__lightbox { padding: 4rem 2.75rem; }
	.tbm .tbm-tour-gallery__close { top: .75rem; right: .75rem; width: 40px; height: 40px; }
	.tbm .tbm-tour-gallery__nav { width: 38px; height: 38px; font-size: 2.2rem; }
	.tbm .tbm-tour-gallery__nav--prev { left: .5rem; }
	.tbm .tbm-tour-gallery__nav--next { right: .5rem; }
	.tbm .tbm-tour__overview { grid-template-columns: 1fr; }
	.tbm .tbm-tour-price { max-width: none; }
	.tbm .tbm-inex { grid-template-columns: 1fr; }
	.tbm .tbm-trip__money { grid-template-columns: 1fr; }
	.tbm .tbm-cal { grid-template-columns: 1fr; }
	.tbm .tbm-cal__dow, .tbm .tbm-cal__day.is-out { display: none; }
	.tbm .tbm-cal__day { min-height: 0; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px; }
	.tbm .tbm-booking__layout { grid-template-columns: 1fr; }
	.tbm .tbm-booking__summary { position: static; max-height: none; overflow: visible; }
	.tbm .tbm-form__grid { grid-template-columns: 1fr; }
	.tbm .tbm-tour__cta { margin-left: 0; width: 100%; }
	.tbm .tbm-dl { grid-template-columns: 1fr; gap: .1rem; }
	.tbm .tbm-dl dd { margin-bottom: .5rem; }
	.tbm .tbm-dl--money dd { text-align: left; }
}
@media (max-width: 900px) {
	.tbm .tbm-tour__overview { grid-template-columns: 1fr; }
	.tbm .tbm-tour-price { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
	.tbm .tbm-card, .tbm .tbm-btn, .tbm .tbm-tour-gallery__item img { transition: none; }
	.tbm .tbm-card:hover { transform: none; }
}

/* Reviews */
.tbm .tbm-stars { display: inline-flex; gap: 1px; line-height: 1; font-size: 1.05em; vertical-align: middle; }
.tbm .tbm-star { color: #d7dbd2; }
.tbm .tbm-star--full { color: var(--tbm-accent); }
.tbm .tbm-star--half { background: linear-gradient(90deg, var(--tbm-accent) 50%, #d7dbd2 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tbm .tbm-reviews__summary { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: var(--tbm-gap); }
.tbm .tbm-reviews__avg { font-size: 2rem; line-height: 1; color: var(--tbm-brand); }
.tbm .tbm-reviews__summary .tbm-stars { font-size: 1.4rem; }
.tbm .tbm-tour__overview > *,
.tbm .tbm-reviews,
.tbm .tbm-reviews__carousel,
.tbm .tbm-reviews__grid { min-width: 0; max-width: 100%; }
.tbm .tbm-reviews__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--tbm-gap); }
.tbm .tbm-reviews__carousel.is-slider .tbm-reviews__grid { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tbm .tbm-reviews__carousel.is-slider .tbm-reviews__grid::-webkit-scrollbar { display: none; }
.tbm .tbm-reviews__carousel.is-slider .tbm-review { flex: 0 0 calc((100% - 3 * var(--tbm-gap)) / 4); scroll-snap-align: start; }
.tbm .tbm-reviews__controls { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .75rem; }
.tbm .tbm-reviews__controls[hidden] { display: none !important; }
.tbm .tbm-reviews__arrow { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid var(--tbm-line); border-radius: 50%; background: var(--tbm-card); color: var(--tbm-brand); font: inherit; font-size: 1.2rem; cursor: pointer; }
.tbm .tbm-reviews__arrow:hover:not(:disabled) { background: var(--tbm-brand); color: #fff; border-radius:50%; }
.tbm .tbm-reviews__arrow:hover { border-radius:50%; border-color: var(--tbm-brand);}
.tbm .tbm-reviews__arrow:focus-visible { border-radius:50%;}
.tbm .tbm-reviews__arrow:focus { border-radius:50%;}
.tbm .tbm-reviews__arrow:disabled { opacity: .45; cursor: not-allowed; border-radius:50%;}
.tbm .tbm-review { background: var(--tbm-card); border: 1px solid var(--tbm-line); border-radius: var(--tbm-radius); padding: 0.8rem; display: flex; flex-direction: column; gap: .4rem; }
.tbm .tbm-review__title { margin: .35rem 0 0; font-size: 1.05rem; }
.tbm .tbm-review__text { color: var(--tbm-ink); flex: 1; font-size:14px; }
.tbm .tbm-review__text p { margin: 0 0 .5rem; }
.tbm .tbm-review__meta { font-size: .85rem; color: var(--tbm-muted); }
.tbm .tbm-review__author { font-weight: 600; color: var(--tbm-ink); }
.tbm .tbm-review__verified { display: inline-block; margin-left: .35rem; font-size: .75rem; padding: .05rem .45rem; border-radius: 999px; background: #dcefe3; color: #1d5e39; }
.tbm .tbm-rating-input { border: 0; padding: 0; margin: 0 0 .5rem; display: inline-flex; flex-direction: row-reverse; gap: .15rem; }
.tbm .tbm-rating-input legend { width: 100%; font-weight: 600; margin-bottom: .2rem; }
.tbm .tbm-rating-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tbm .tbm-rating-input label { font-size: 2rem; line-height: 1; color: #d7dbd2; cursor: pointer; transition: color .1s; }
.tbm .tbm-rating-input input:checked ~ label,
.tbm .tbm-rating-input label:hover,
.tbm .tbm-rating-input label:hover ~ label { color: var(--tbm-accent); }
.tbm .tbm-rating-input input:focus-visible + label { outline: 3px solid var(--tbm-brand-2); outline-offset: 2px; border-radius: 4px; }
.tbm .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

@media (max-width: 767px) {
	.tbm .tbm-reviews__carousel.is-slider { width: 100%; overflow: hidden; }
	.tbm .tbm-reviews__carousel.is-slider .tbm-reviews__grid { width: 100%; }
	.tbm .tbm-reviews__carousel.is-slider .tbm-review { flex: 0 0 100%; width: 100%; min-width: 0; }
}

.pt-10{padding-top: 10px;}
.pt-15{padding-top: 15px;}
.pt-20{padding-top: 20px;}
.pb-10{padding-bottom: 10px;}
.pb-16{padding-bottom: 16px;}
.mb-5{margin-bottom: 5px !important;}
.mt-5{margin-top: 5px !important;}
.mt-10{margin-top: 10px !important;}
.mt-20{margin-top: 20px !important;}
.mb-20{margin-bottom: 20px !important;}
.mb-10{margin-bottom: 10px !important;}
.spacer-20{height:20px;}
.mtb-20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

hr {
	margin: 30px 0;
	color: #e5e9e2 !important;
	background-color: #e5e9e2 !IMPORTANT;
	height: 1px;
	border: transparent;
}

.flex{ display:flex;}
.flex-cols{flex-direction:column;}
.gap-20{gap:20px;}
.m-0{margin:0 !important;}

.tbm .tbm-field .tbm-addons {
    border: 1px solid #cdd3c8;
    border-radius: 8px;
}

.tbm .tbm-policy summary {
	font-size: 15px;
}

.tbm .tbm-policy p {
	font-size: 14px;
    padding-left: 15px;
}
.tbm-age-requirement {
    display: block !important;
    background: var(--tbm-brand);
    border-radius: 8px;
    color: white;
    font-size: 14px;
    padding: 10px 20px;
}
.w-fit { width: fit-content; }

.cursor-pointer{ cursor: pointer; }

.filterbtn {
    padding: 7px 18px !important;
    font-size: 14px !important;
}
.tbm .tbm-booking__summary .tbm-error {
    color: var(--tbm-bad);
    font-weight: 500;
    background: whitesmoke;
    padding: 10px;
    border-radius: 8px;
	font-size:12px;
}