/* Preserve provider DOM, controls, hidden state, selection, tracking and placement. */
body.tbh-site{--tsva-font-body:var(--tbh-body);--tsva-font-heading:var(--tbh-display);--tsva-accent:var(--tbh-accent);--tsva-primary:var(--tbh-brand);--tsva-ink:var(--tbh-ink);--tsva-radius:4px;--tsva-sticky-offset:16px}
body.tbh-site :is(.travelspark-widget,.travelspark-live-search,.travelspark-tours-index,.travelspark-tour-helper,.travelspark-hotel-cards){--ts-heading-font:var(--tbh-display)!important;--ts-body-font:var(--tbh-body)!important;--ts-primary:var(--tbh-brand)!important;--ts-ink:var(--tbh-ink)!important;--ts-accent:var(--tbh-accent)!important;--ts-bg:var(--tbh-bg)!important;--ts-card-bg:var(--tbh-bg)!important;--ts-button-bg:var(--tbh-accent)!important;--ts-button-text:var(--tbh-ink)!important;--ts-radius:4px!important;--ts-image-radius:0px!important}
body.tbh-site :is(.travelspark-widget,.travelspark-live-search,.travelspark-tours-index,.travelspark-hotel-cards){font-family:var(--tbh-body)!important;color:var(--tbh-ink);max-width:100%;min-width:0}
body.tbh-site .travelspark-widget{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin-block:32px!important}
body.tbh-site :is(.travelspark-widget__title,.travelspark-tours-index h2,.travelspark-tours-index h3,.travelspark-hotel-cards__header h2){font-family:var(--tbh-display)!important;font-weight:600!important;letter-spacing:-.02em!important;line-height:1.1!important;color:var(--tbh-brand)!important}
body.tbh-site .travelspark-widget__title{font-size:36px!important}
body.tbh-site :is(.travelspark-widget__description,.travelspark-card__description,.travelspark-live-card__description,.travelspark-hotel-card__description){font-family:var(--tbh-body)!important;font-size:15px!important;line-height:1.55!important;font-weight:400!important;color:var(--tbh-ink)!important}
body.tbh-site :is(.travelspark-card,.travelspark-live-card,.travelspark-hotel-card){border:1px solid var(--tbh-ink)!important;border-top:4px solid var(--tbh-accent)!important;border-radius:0!important;box-shadow:none!important;background:var(--tbh-bg)!important;overflow:hidden;min-width:0}
body.tbh-site :is(.travelspark-card__media,.travelspark-card__image-link,.tsva-card-image,.travelspark-live-card__image,.travelspark-hotel-card__media){border-radius:0!important;max-width:100%;overflow:hidden}
body.tbh-site :is(.travelspark-card__media img,.travelspark-card__image,.tsva-card img,.tsva-featured-card img,.travelspark-live-card__image img,.travelspark-hotel-card__image){width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;border-radius:0!important;margin:0!important}
body.tbh-site :is(.tsva-card-body,.travelspark-card__content,.travelspark-live-card__body,.travelspark-hotel-card__body){padding:22px!important;min-width:0;max-width:100%}
body.tbh-site :is(.travelspark-card__title,.travelspark-card__title a,.travelspark-live-card__title,.travelspark-live-card__title a,.travelspark-hotel-card__title,.travelspark-hotel-card__title a){font-family:var(--tbh-display)!important;font-size:29px!important;font-weight:600!important;line-height:1.12!important;letter-spacing:-.015em!important;color:var(--tbh-brand)!important;text-decoration:none!important}
body.tbh-site :is(.travelspark-card__rating,.travelspark-live-card__rating,.travelspark-hotel-card__rating){font-family:var(--tbh-body)!important;font-size:12px!important;font-weight:650!important;color:var(--tbh-ink)!important}
body.tbh-site :is(.travelspark-card__footer,.travelspark-live-card__footer,.travelspark-hotel-card__footer){border-top:1px solid var(--tbh-ink)!important;padding-top:17px!important;gap:16px!important;flex-wrap:wrap!important}
body.tbh-site :is(.tsva-button,.travelspark-card__button,.travelspark-live-card__button,.travelspark-hotel-card__button,.travelspark-live-search__submit,.travelspark-live-search__apply){font-family:var(--tbh-body)!important;background:var(--tbh-accent)!important;color:var(--tbh-ink)!important;font-size:14px!important;font-weight:750!important;line-height:1.4!important;border-radius:4px!important;border:0!important;padding:12px 17px!important;min-height:44px;text-decoration:none!important;box-shadow:none!important;white-space:normal!important}
body.tbh-site :is(.travelspark-card__price,.tsva-price-current,.travelspark-live-card__price-row strong,.travelspark-hotel-card__price){font-family:var(--tbh-body)!important;color:var(--tbh-ink)!important;font-size:19px!important;font-weight:750!important}
body.tbh-site :is(.travelspark-card__badge,.tsva-badge){background:var(--tbh-glass)!important;color:var(--tbh-ink)!important;font:600 11px/1.4 var(--tbh-body)!important;border-radius:0!important}
body.tbh-site :is(.travelspark-widget__eyebrow,.tsva-eyebrow){font-family:var(--tbh-body)!important;font-size:11px!important;letter-spacing:.02em!important;color:var(--tbh-ink)!important}
body.tbh-site .tbh-provider-sidebar :is(.tsva-card-grid,.travelspark-widget__grid,.travelspark-hotel-card-grid){grid-template-columns:minmax(0,1fr)!important;gap:25px!important}
body.tbh-site .tbh-provider-sidebar :is(.tsva-featured-card,.travelspark-card--featured,.travelspark-featured){grid-template-columns:minmax(0,1fr)!important}
body.tbh-site .tbh-provider-sidebar :is(.travelspark-card__title,.travelspark-card__title a,.travelspark-hotel-card__title,.travelspark-hotel-card__title a){font-size:29px!important}
body.tbh-site .tbh-article-body :is(.tsva-card-grid,.travelspark-widget__grid){gap:20px!important}
body.tbh-site .travelspark-widget.travelspark-widget .travelspark-card__title,body.tbh-site .travelspark-widget.travelspark-widget .travelspark-card__title a{font-family:var(--tbh-display)!important;font-size:29px!important;line-height:1.12!important;color:var(--tbh-brand)!important}
body.tbh-site .travelspark-widget.travelspark-widget .travelspark-card__image{height:auto!important;aspect-ratio:3/2!important;max-width:100%!important;object-fit:cover!important}
body.tbh-site .travelspark-widget.travelspark-widget .travelspark-card__button{color:var(--tbh-ink)!important;white-space:normal!important;line-height:1.4!important}
body.tbh-site .travelspark-widget.travelspark-widget{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.tbh-site .travelspark-widget.travelspark-widget::before,body.tbh-site .travelspark-widget.travelspark-widget::after{content:none!important}
body.tbh-site .travelspark-widget.travelspark-widget .travelspark-card__title{overflow:visible!important;max-height:none!important;-webkit-line-clamp:unset!important}
body.tbh-site .travelspark-widget.travelspark-widget .travelspark-card:not(.tsva-featured-card) .travelspark-card__media{height:auto!important;min-height:0!important;aspect-ratio:3/2}
body.tbh-site :is(.tbh-article-body,.tbh-provider-home) .tsva-featured-card .travelspark-card__media{height:100%;min-height:240px;position:relative}
body.tbh-site :is(.tbh-article-body,.tbh-provider-home) .tsva-featured-card .travelspark-card__image{position:absolute;inset:0;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
body.tbh-site .travelspark-tours-index{background:transparent!important;padding:0!important;border:0!important;border-radius:0!important}
body.tbh-site .travelspark-live-search{border-radius:0!important;background:var(--tbh-bg)!important}
body.tbh-site .travelspark-live-search__form{background:var(--tbh-glass)!important;border-radius:0!important;padding:25px!important}
body.tbh-site .travelspark-live-search__form input{font-family:var(--tbh-body)!important;color:var(--tbh-ink)!important;background:var(--tbh-bg)!important;border:1px solid var(--tbh-ink)!important;border-radius:4px!important;min-height:48px}
body.tbh-site :is(.travelspark-live-search__chip,.travelspark-tours-index__topic){border-radius:4px!important;font-family:var(--tbh-body)!important}
body.tbh-site .travelspark-hotel-card-grid{gap:26px!important}
body.tbh-site .travelspark-hotel-cards{background:transparent!important;padding:0!important;border:0!important}
body.tbh-site .tsva-sticky-cta{max-width:calc(100vw - 24px);border:1px solid var(--tbh-ink);border-top:3px solid var(--tbh-accent);background:var(--tbh-bg);color:var(--tbh-ink);border-radius:4px;box-shadow:0 5px 24px #17243322;z-index:60}
body.tbh-site .tsva-exit-cta{border-radius:4px;max-width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 50px);overflow-y:auto;background:var(--tbh-bg);border:1px solid var(--tbh-ink);z-index:70}
body.tbh-site :is(.tsva-sticky-close,.tsva-exit-close){min-width:44px;min-height:44px;color:var(--tbh-ink)}
body.tbh-site .travelspark-tour-helper{font-family:var(--tbh-body)!important;--tsva-helper-primary:var(--tbh-brand);--tsva-helper-accent:var(--tbh-accent)}
body.tbh-site .travelspark-tour-helper-panel{max-height:min(560px,calc(100dvh - 125px));overflow-y:auto;max-width:calc(100vw - 32px);border-radius:4px}
body.tbh-menu-open :is(.tsva-sticky-cta,.tsva-exit-cta,.travelspark-tour-helper--sticky,.travelspark-tour-helper--floating){visibility:hidden!important;pointer-events:none!important}
body.tbh-helper-open .tsva-sticky-cta{visibility:hidden!important;pointer-events:none!important}
@media(max-width:900px){body.tbh-site .tbh-article-body :is(.tsva-card-grid,.travelspark-widget__grid){grid-template-columns:minmax(0,1fr)!important}body.tbh-site .tbh-article-body :is(.tsva-featured-card,.travelspark-card--featured){grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:600px){body.tbh-site :is(.travelspark-widget__title){font-size:32px!important}body.tbh-site :is(.tsva-card-body,.travelspark-card__content,.travelspark-live-card__body,.travelspark-hotel-card__body){padding:20px!important}body.tbh-site .travelspark-live-search__form{padding:19px!important}body.tbh-site :is(.tbh-article-body,.tbh-provider-home) .tsva-featured-card .travelspark-card__media{height:auto;min-height:0;aspect-ratio:3/2}}

/* Native sidebar cards retain every field and use the same full-width photo rhythm. */
body.tbh-site .tbh-provider-sidebar .travelspark-widget.travelspark-widget .travelspark-card{grid-template-columns:minmax(0,1fr)!important}
body.tbh-site .tbh-provider-sidebar .travelspark-widget.travelspark-widget .travelspark-card__image-link{display:block!important;min-height:0!important;height:auto!important;aspect-ratio:3/2!important}
body.tbh-site .tbh-provider-sidebar .travelspark-widget.travelspark-widget .travelspark-card__description{display:block!important}
body.tbh-site .travelspark-widget.travelspark-widget .travelspark-card__title a{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;max-height:none!important;-webkit-line-clamp:unset!important}

/* Coordinate native floating surfaces without changing their handlers or stored dismissal. */
body.tbh-site.tsva-exit-cta-visible .tsva-sticky-cta,body.tbh-site.tsva-exit-cta-visible :is(.travelspark-tour-helper--sticky,.travelspark-tour-helper--floating):not(.is-open),body.tbh-site.tbh-helper-open :is(.tsva-sticky-cta,.tsva-exit-cta){visibility:hidden!important;pointer-events:none!important}
body.tbh-site .tsva-sticky-cta>a,body.tbh-site .tsva-sticky-cta>a:visited{display:flex;align-items:center;justify-content:center;background:var(--tbh-accent)!important;color:var(--tbh-ink)!important;font:750 13px/1.25 var(--tbh-body)!important;text-decoration:none!important;white-space:normal!important;text-align:center;border:0!important;border-radius:4px!important;min-height:44px;box-sizing:border-box;padding:10px 12px!important}
@media(max-width:800px){
 body.tbh-site .tsva-sticky-cta{left:12px;right:12px;bottom:12px;max-width:none;margin-inline:auto;gap:10px;padding:12px 52px 12px 12px;box-sizing:border-box}
 body.tbh-site .tsva-sticky-cta>img{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:3px}
 body.tbh-site .tsva-sticky-cta>span{font:700 14px/1.3 var(--tbh-body)!important;color:var(--tbh-ink)!important;flex:1 1 0;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:2.6em}
 body.tbh-site .tsva-sticky-cta>a{flex:0 1 104px;max-width:104px}
 body.tbh-site .tsva-sticky-close{width:44px;height:44px;min-width:44px;min-height:44px;right:4px;top:50%;transform:translateY(-50%);font-size:20px}
}

/* Floating helper: preserve native header/actions while only the conversation scrolls. */
body.tbh-site :is(.travelspark-tour-helper--sticky,.travelspark-tour-helper--floating) .travelspark-tour-helper-panel{overflow:hidden!important;max-height:min(560px,calc(100dvh - 40px))!important}
body.tbh-site :is(.travelspark-tour-helper--sticky,.travelspark-tour-helper--floating) :is(.travelspark-tour-helper-panel__header,.travelspark-tour-helper-choices,.travelspark-tour-helper-form){flex:0 0 auto!important}
body.tbh-site :is(.travelspark-tour-helper--sticky,.travelspark-tour-helper--floating) .travelspark-tour-helper-messages{flex:1 1 160px!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain}
body.tbh-site :is(.travelspark-tour-helper--sticky,.travelspark-tour-helper--floating) .travelspark-tour-helper-close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important}

/* Keep native Nuitee sidebar cards visually below tours, including hotel-focused posts. */
body.tbh-site .tbh-sidebar>.tbh-provider-sidebar{display:flex;flex-direction:column}
body.tbh-site .tbh-sidebar>.tbh-provider-sidebar>.travelspark-widget--sidebar{order:0}
body.tbh-site .tbh-sidebar>.tbh-provider-sidebar>.travelspark-hotel-cards{order:1}
