/* Preserve provider DOM, values, links, native handlers and dismissal state. */
body.twb-theme :is(.travelspark-widget,.travelspark-live-search,.travelspark-tour-helper,.tsva-sticky-cta,.tsva-exit-cta){font-family:var(--body)!important;color:var(--ink)}
body.twb-theme :is(.travelspark-widget__title,.travelspark-card__title,.travelspark-card__title a,.travelspark-live-card__title,.travelspark-live-card__title a,.travelspark-tour-helper h3,.travelspark-tour-helper h3 a){font-family:var(--display)!important;letter-spacing:-.025em!important;line-height:1.15!important;font-weight:650!important;color:var(--ink)!important}
body.twb-theme .travelspark-widget{box-shadow:none!important;border:0!important;border-radius:0!important;padding:24px 0!important;background:transparent!important;margin:30px 0!important}
body.twb-theme .travelspark-widget__header{margin:0 0 22px!important;padding:0!important;background:transparent!important}
body.twb-theme .travelspark-widget__title{font-size:29px!important}
body.twb-theme :is(.travelspark-card,.travelspark-live-card){border:1px solid var(--woodland)!important;border-radius:0!important;background:var(--bg)!important;box-shadow:none!important;overflow:hidden!important;min-width:0}
body.twb-theme :is(.travelspark-card__media,.travelspark-card__image-link){display:block!important;width:100%!important;max-width:none!important;min-width:0!important;border-radius:0!important;padding:0!important}
body.twb-theme .travelspark-card__image{width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;border-radius:0!important;display:block!important}
body.twb-theme .travelspark-card__content{padding:21px!important;display:flex!important;flex-direction:column!important;gap:13px!important;min-width:0!important}
body.twb-theme .travelspark-card__title{font-size:24px!important;margin:0!important}
body.twb-theme .travelspark-card__title a{text-decoration:none!important;font-size:inherit!important}
body.twb-theme .travelspark-card__title a:hover{text-decoration:underline!important;color:var(--accent)!important}
body.twb-theme :is(.travelspark-card__description,.travelspark-live-card__description){display:block!important;font:400 14px/1.6 var(--body)!important;color:var(--ink)!important;max-height:none!important;overflow:visible!important;white-space:normal!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;margin:0!important}
body.twb-theme :is(.travelspark-card__rating,.tsva-rating,.travelspark-live-card__rating){font:650 13px/1.45 var(--body)!important;color:var(--ink)!important}
body.twb-theme :is(.travelspark-card__meta,.tsva-powered){font:400 12px/1.5 var(--body)!important;color:var(--ink)!important}
body.twb-theme .travelspark-card__footer{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:15px!important;padding:14px 0 0!important;border-top:1px solid var(--estuary)!important;margin-top:auto!important;background:transparent!important}
body.twb-theme :is(.travelspark-card__price,.travelspark-live-card__price-link){font:650 24px/1.2 var(--display)!important;color:var(--ink)!important}
body.twb-theme :is(.travelspark-card__button,.tsva-button,.travelspark-live-card__cta){background:var(--accent)!important;color:var(--bg)!important;border:1px solid var(--accent)!important;border-radius:4px!important;box-shadow:none!important;min-height:46px!important;padding:12px 16px!important;text-align:center!important;font:650 14px/1.45 var(--body)!important;text-decoration:none!important;display:flex!important;align-items:center!important;justify-content:center!important;white-space:normal!important}
body.twb-theme :is(.travelspark-card__button,.tsva-button,.travelspark-live-card__cta):hover{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--bg)!important}
body.twb-theme .travelspark-card__button-text{font-family:var(--body)!important;color:inherit!important}
body.twb-theme .travelspark-widget__grid{gap:22px!important}
body.twb-theme .twb-commercial-stack{display:flex;flex-direction:column;gap:28px}
body.twb-theme .twb-commercial-stack>.travelspark-sidebar-widget{order:1}
body.twb-theme .twb-commercial-stack>:is(.travelspark-hotel-cards,.travelspark-hotels-widget,.tsva-hotel-sidebar,.travelspark-hotel-widget){order:2}
body.twb-theme .twb-article-sidebar .travelspark-widget{margin:0!important;padding:0!important}
body.twb-theme .twb-article-sidebar .travelspark-widget__grid{display:flex!important;flex-direction:column!important;gap:25px!important}
body.twb-theme .twb-article-sidebar .travelspark-card{display:flex!important;flex-direction:column!important;width:100%!important;grid-template-columns:none!important}
body.twb-theme .twb-article-sidebar .travelspark-card__media{width:100%!important;flex:0 0 auto!important;grid-column:auto!important;grid-row:auto!important;max-width:none!important}
body.twb-theme .twb-article-sidebar .travelspark-card__title{font-size:23px!important}
body.twb-theme .travelspark-live-grid{gap:24px!important}
body.twb-theme .travelspark-live-card{padding:0!important}
body.twb-theme .travelspark-live-card__title{font-size:25px!important}
body.twb-theme .travelspark-live-card__body{padding:22px!important}
body.twb-theme .travelspark-live-search input,body.twb-theme .travelspark-live-search select{font-family:var(--body)!important;min-height:46px;border-radius:4px!important}
body.twb-theme :is(.tsva-sticky-close,[data-tsva-exit-close],.travelspark-tour-helper-close){min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important;border-radius:4px!important;z-index:2}
body.twb-theme .tsva-exit-cta{border-radius:0!important;border:1px solid var(--woodland)!important;box-shadow:none!important;background:var(--bg)!important;color:var(--ink)!important;max-width:calc(100vw - 32px)!important}
body.twb-theme .tsva-exit-cta :is(h2,h3,h4,strong){font-family:var(--display)!important}
body.twb-theme .tsva-exit-cta a{color:var(--accent)}
body.twb-theme .tsva-sticky-cta{box-shadow:none!important;border-color:var(--woodland)!important;background:var(--bg)!important;color:var(--ink)!important}
body.twb-theme .travelspark-tour-helper :is(button,input){font-family:var(--body)!important}
body.twb-theme .travelspark-tour-helper :is(button,[data-tsva-helper-input]){min-height:44px}
body.twb-theme .travelspark-tour-helper-panel{background:var(--bg)!important;color:var(--ink)!important;box-shadow:none!important;border:1px solid var(--woodland)!important;border-radius:4px!important}
body.twb-theme .travelspark-tour-helper-panel[hidden]{display:none!important}
body.twb-theme .travelspark-tour-helper-panel:not([hidden]){display:flex!important;flex-direction:column!important;overflow:hidden!important}
body.twb-theme .travelspark-tour-helper-panel__header,body.twb-theme .travelspark-tour-helper-form{flex:0 0 auto!important}
body.twb-theme .travelspark-tour-helper-messages{flex:1 1 auto!important;min-height:90px!important;overflow-y:auto!important;overscroll-behavior:contain;max-height:360px!important}
body.twb-theme .travelspark-tour-helper-choices{flex:0 0 auto!important;max-height:100px;overflow-y:auto}
body.twb-theme .travelspark-tour-helper-form{display:flex;gap:8px;background:var(--bg)!important}
body.twb-theme .travelspark-tour-helper-form input{min-width:0!important}
body.twb-theme .travelspark-tour-helper-callout{background:var(--estuary)!important;border-radius:0!important;color:var(--ink)!important;box-shadow:none!important}
body.twb-theme .travelspark-tour-helper-callout::before,body.twb-theme .travelspark-tour-helper-callout__eyebrow::before{display:none!important}
@media(min-width:721px){body.twb-theme :is(.travelspark-tour-helper--callout.is-open,.travelspark-tour-helper--sticky.is-open){z-index:99990!important;max-height:calc(100dvh - 32px)!important}body.twb-theme :is(.travelspark-tour-helper--callout,.travelspark-tour-helper--sticky) .travelspark-tour-helper-panel:not([hidden]){max-height:calc(100dvh - 48px)!important}body.twb-theme.twb-floating-helper-open.tsva-exit-cta-visible .tsva-exit-cta{visibility:hidden!important;pointer-events:none!important}}
@media(max-width:720px){body.twb-theme .travelspark-card__title{font-size:24px!important}body.twb-theme .travelspark-widget__title{font-size:27px!important}body.twb-theme .travelspark-widget__grid--sidebar{display:grid!important;grid-template-columns:1fr!important}body.twb-theme .travelspark-tour-helper--callout .travelspark-tour-helper-panel:not([hidden]){max-height:620px!important}body.twb-theme .travelspark-tour-helper-messages{max-height:300px!important}body.twb-theme .tsva-exit-cta{left:12px!important;right:12px!important;bottom:12px!important;max-width:none!important;width:auto!important;padding-right:55px!important}body.twb-theme .tsva-exit-cta :is(h2,h3,h4,strong){font-size:18px!important;line-height:1.2!important;overflow-wrap:anywhere!important}body.twb-theme .tsva-exit-cta p{font-size:12px!important;line-height:1.45!important;margin:8px 0!important}body.twb-theme .tsva-exit-cta a{min-height:44px!important;font-size:13px!important}body.twb-theme .tsva-sticky-cta{max-height:190px!important;padding-right:55px!important}body.twb-theme .tsva-sticky-cta :is(h3,strong){font-size:16px!important;line-height:1.2!important;overflow-wrap:anywhere!important}body.twb-theme .tsva-sticky-cta a{min-height:44px!important;font-size:13px!important}body.twb-theme .travelspark-tour-helper--sticky{display:none!important}}

body.twb-theme .travelspark-live-card__cta{color:var(--bg)!important}
body.twb-theme .tsva-exit-cta h2{font-size:23px!important;line-height:1.15!important;overflow-wrap:anywhere!important}
@media(max-width:720px){body.twb-theme .tsva-exit-cta h2{font-size:18px!important}}
/* Match the current native collision guard's repeated-widget specificity. */
body.twb-theme .travelspark-widget.travelspark-widget,body.twb-theme .travelspark-live-search{--ts-heading-font:var(--display)!important;--ts-body-font:var(--body)!important;--ts-primary:var(--ink)!important;--ts-button-text:var(--bg)!important}
body.twb-theme .travelspark-widget.travelspark-widget :is(.travelspark-widget__title,.travelspark-card__title,.travelspark-card__title a){font-family:var(--display)!important;font-weight:650!important;letter-spacing:-.025em!important;color:var(--ink)!important;line-height:1.15!important}
body.twb-theme .travelspark-widget.travelspark-widget .travelspark-widget__title{font-size:29px!important;margin:0 0 20px!important}
body.twb-theme .travelspark-widget.travelspark-widget :is(.travelspark-card__title,.travelspark-card__title a){font-size:24px!important;margin:0!important}
body.twb-theme .travelspark-widget.travelspark-widget :is(.travelspark-widget__description,.travelspark-card__description,.travelspark-card__meta,.travelspark-card__rating,.travelspark-card__price,.travelspark-card__price-row){font-family:var(--body)!important;letter-spacing:0!important}
body.twb-theme .travelspark-widget.travelspark-widget .travelspark-card__description{display:block!important;font-size:14px!important;line-height:1.6!important;margin:0!important;max-height:none!important;overflow:visible!important}
body.twb-theme .travelspark-widget.travelspark-widget .travelspark-card__rating{font-size:13px!important;line-height:1.45!important}
body.twb-theme .travelspark-widget.travelspark-widget .travelspark-card__price{font-size:24px!important;line-height:1.2!important}
body.twb-theme .travelspark-widget.travelspark-widget .travelspark-card__image{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important}
body.twb-theme .travelspark-widget.travelspark-widget .travelspark-card__button{font-family:var(--body)!important;white-space:normal!important;line-height:1.45!important;min-height:46px!important;color:var(--bg)!important}
body.twb-theme .travelspark-tour-helper{--ts-helper-primary:var(--ink)!important;--ts-helper-accent:var(--accent)!important;--ts-helper-bg:var(--bg)!important;--ts-helper-text:var(--ink)!important;--ts-helper-card-bg:var(--bg)!important;--ts-helper-button-bg:var(--accent)!important;--ts-helper-button-text:var(--bg)!important;--ts-helper-radius:4px!important;--ts-helper-shadow:none!important}
body.twb-theme .travelspark-tour-helper *{box-shadow:none!important}
body.twb-theme .travelspark-tour-helper :is(.travelspark-tour-helper-callout__button,.travelspark-tour-helper-trigger,.travelspark-tour-helper-form button){background:var(--accent)!important;color:var(--bg)!important;border:1px solid var(--accent)!important;border-radius:4px!important;font-weight:650!important}
body.twb-theme .travelspark-tour-helper :is(.travelspark-tour-helper-callout__button,.travelspark-tour-helper-trigger,.travelspark-tour-helper-form button):hover{background:var(--ink)!important;border-color:var(--ink)!important}
body.twb-theme .travelspark-tour-helper-panel__header{background:var(--estuary)!important;border-bottom:1px solid var(--woodland)!important}
body.twb-theme .travelspark-tour-helper-close{background:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--woodland)!important}
@media(min-width:721px){body.twb-theme :is(.travelspark-tour-helper--callout.is-open,.travelspark-tour-helper--sticky.is-open) .travelspark-tour-helper-panel:not([hidden]) .travelspark-tour-helper-messages{flex:1 1 auto!important;min-height:0!important;max-height:none!important}}

/* An open floating helper temporarily takes visual priority over the exit strip.
   Provider visibility classes, handlers and dismissal storage remain untouched. */

/* Native Tours overview and search headings use the site's approved typeface. */
body.twb-theme .travelspark-tours-index.travelspark-tours-index,
body.twb-theme .travelspark-live-search.travelspark-live-search{--ts-font-heading:var(--display)!important;--ts-font-body:var(--body)!important;font-family:var(--body)!important}
body.twb-theme .travelspark-tours-index.travelspark-tours-index :is(h1,h2,h3,h4,h5,h6,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a),
body.twb-theme .travelspark-live-search.travelspark-live-search :is(h1,h2,h3,h4,h5,h6,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a),
body.twb-theme .travelspark-tours-index.travelspark-tours-index :is(.travelspark-tours-index__hero-panel strong,.travelspark-tours-index__topic strong,.travelspark-design-offers strong),
body.twb-theme .travelspark-live-search.travelspark-live-search :is(.travelspark-live-search__filters-head strong,.travelspark-live-search__toolbar strong){font-family:var(--display)!important}

/* Existing Brevo Form1 text and email controls share one visual treatment. */
body.twb-theme .twb-newsletter .sib_signup_form :is(input[type="email"],input[type="text"]){display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;padding:12px 14px!important;border:1px solid var(--woodland)!important;border-radius:4px!important;background:var(--bg)!important;color:var(--ink)!important;font-family:var(--body)!important;font-size:inherit!important;line-height:1.5!important}
body.twb-theme .twb-newsletter .sib_signup_form :is(input[type="email"],input[type="text"]):focus-visible{outline:3px solid var(--accent)!important;outline-offset:5px!important}
