/* Visit Tofino owns presentation; TravelSpark owns inventory, tracking and placement. */
body #primary .vtf-travel-widget.travelspark-widget,
body #primary .travelspark-hotel-cards {
 --tsva-primary:var(--kelp); --tsva-accent:var(--pacific);
 --tsva-button-bg:var(--pacific); --tsva-button-text:var(--white);
 --tsva-widget-bg:var(--fog); --tsva-card-bg:var(--white);
 --tsva-card-radius:2px; --tsva-card-shadow:none; --tsva-image-radius:0;
 width:100%; max-width:100%; min-width:0; margin:2.5rem 0;
 padding:clamp(16px,3vw,28px)!important; border:1px solid var(--line)!important; border-radius:2px!important;
 background:var(--fog)!important; color:var(--kelp)!important; box-shadow:none!important; font-family:var(--body)!important;
}
body #primary .vtf-travel-widget.travelspark-widget::before,
body #primary .vtf-travel-widget.travelspark-widget::after { content:none!important; }
body #primary .vtf-travel-widget.travelspark-widget .travelspark-widget__title { font:520 clamp(1.8rem,2.5vw,2.5rem)/1.12 var(--display)!important; color:var(--kelp)!important; }
body #primary .vtf-travel-widget.travelspark-widget .travelspark-widget__description { color:var(--ink-soft)!important; }
body #primary .vtf-travel-widget.travelspark-widget :is(.tsva-rating,.tsva-eyebrow,.tsva-cancel,.travelspark-card__rating) { color:var(--pacific)!important; }
body #primary .vtf-travel-widget.travelspark-widget .tsva-eyebrow > span { background:var(--pacific)!important; box-shadow:none!important; animation:none!important; }
body #primary .vtf-travel-widget .travelspark-widget__title { font-family:var(--display)!important; font-size:clamp(1.8rem,2.5vw,2.5rem)!important; line-height:1.12!important; margin:0 0 .7rem!important; color:var(--kelp)!important; }
body #primary .vtf-travel-widget .travelspark-widget__description { color:var(--ink-soft); font-size:1rem; line-height:1.6; }
body #primary .vtf-travel-widget .travelspark-card,
body #primary .travelspark-hotel-card { min-width:0; border:1px solid var(--line)!important; border-radius:2px!important; background:var(--white)!important; box-shadow:none!important; color:var(--kelp)!important; }
body #primary .vtf-travel-widget .travelspark-card:not(.travelspark-card--featured) { display:flex!important; flex-direction:column!important; }
body #primary .vtf-travel-widget .travelspark-card--featured { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; margin-bottom:1rem; }
body #primary .vtf-travel-widget .travelspark-card__media { min-width:0; border-radius:0!important; }
body #primary .vtf-travel-widget .travelspark-card__image-link.tsva-image-link { display:block; height:auto!important; min-height:0!important; aspect-ratio:4/3; border-radius:0!important; overflow:hidden; }
body #primary .vtf-travel-widget .travelspark-card__image { display:block; width:100%!important; height:100%!important; object-fit:cover; border-radius:0!important; }
body #primary .vtf-travel-widget .travelspark-card--featured .travelspark-card__image-link { height:100%!important; }
body #primary .vtf-travel-widget .travelspark-card__content { display:flex!important; flex-direction:column!important; min-width:0; padding:1.15rem!important; gap:.65rem; }
body #primary .vtf-travel-widget .travelspark-card__title,
body #primary .vtf-travel-widget .travelspark-card__title a { display:block!important; max-height:none!important; overflow:visible!important; -webkit-line-clamp:unset!important; font-family:var(--display)!important; font-size:1.5rem!important; line-height:1.2!important; font-weight:520!important; color:var(--kelp)!important; text-decoration:none; margin:0!important; }
body #primary .vtf-travel-widget .travelspark-card__description { display:block!important; max-height:none!important; -webkit-line-clamp:unset!important; overflow:visible!important; font:400 .96rem/1.6 var(--body)!important; color:var(--ink-soft)!important; margin:0 0 .5rem!important; }
body #primary .vtf-travel-widget.travelspark-widget .travelspark-card .travelspark-card__title,
body #primary .vtf-travel-widget.travelspark-widget .travelspark-card .travelspark-card__title a { font:520 1.5rem/1.2 var(--display)!important; color:var(--kelp)!important; }
body #primary .vtf-travel-widget .travelspark-card__footer { display:flex!important; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.8rem; margin-top:auto!important; padding-top:.8rem!important; border-top:1px solid var(--line); }
body #primary .vtf-travel-widget .travelspark-card__button,
body #primary .travelspark-hotel-card__booking a { min-height:44px; padding:.8rem 1rem!important; border:0!important; border-radius:2px!important; background:var(--pacific)!important; color:var(--white)!important; font:650 .86rem/1.3 var(--body)!important; text-decoration:none; white-space:normal!important; box-shadow:none!important; }
body #primary .vtf-travel-widget .travelspark-card__button * { color:inherit!important; }
body #primary .vtf-travel-widget .travelspark-widget__grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:1rem!important; }
body #primary .provider-grid > .vtf-travel-widget { grid-column:1/-1; margin:0; }
body #primary .article-sidebar { display:block; min-width:0; }
body #primary .article-sidebar > * + * { margin-top:1.5rem; }
body #primary .article-sidebar .vtf-travel-widget.travelspark-widget { padding:0!important; border:0!important; background:transparent!important; }
body #primary .article-sidebar .travelspark-widget__grid,
body #primary .article-sidebar .travelspark-hotel-cards__grid { grid-template-columns:minmax(0,1fr)!important; }
body #primary .article-sidebar .travelspark-card--featured { grid-template-columns:minmax(0,1fr)!important; }
body #primary .article-sidebar .travelspark-card__description { display:block!important; }
@media(min-width:621px) {
 body #primary .article-content .vtf-travel-widget .travelspark-widget__grid > .travelspark-card:last-child:nth-child(odd) { grid-column:1/-1!important; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 body #primary .article-content .vtf-travel-widget .travelspark-widget__grid > .travelspark-card:last-child:nth-child(odd) .travelspark-card__image-link { height:100%!important; }
 body #primary .article-content .vtf-travel-widget .travelspark-widget__grid > .travelspark-card:last-child:nth-child(odd) .travelspark-card__media { position:relative; align-self:stretch; height:auto!important; max-height:none!important; min-height:240px; }
 body #primary .article-content .vtf-travel-widget .travelspark-widget__grid > .travelspark-card:last-child:nth-child(odd) .travelspark-card__media .travelspark-card__image-link { position:absolute; inset:0; width:100%!important; max-height:none!important; aspect-ratio:auto; }
}
body #primary .travelspark-hotel-card__description { font:400 .96rem/1.6 var(--body); color:var(--ink-soft); }
body #primary .travelspark-hotel-card__body h3 { font:520 1.5rem/1.2 var(--display); }
body #primary .travelspark-hotel-card__image { border-radius:0!important; }
body #primary .tours-provider-index { overflow:visible; }
body #primary .travelspark-tours-index { min-width:0; color:var(--kelp); font-family:var(--body); }
body #primary .travelspark-tours-index h2,
body #primary .travelspark-tours-index h3 { font-family:var(--display)!important; color:var(--kelp); }
body #primary .travelspark-tours-index__detail-card,
body #primary .travelspark-tours-index__planning-grid > article { min-width:0; height:auto!important; max-height:none!important; overflow:visible!important; border-radius:2px; background:var(--white); box-shadow:none; }
body #primary .travelspark-tours-index__detail-card p { max-height:none; overflow:visible; }
body #primary .travelspark-live-card { border-radius:2px; box-shadow:none; }
body #primary .travelspark-live-card__title { font-family:var(--display)!important; line-height:1.2; }
body #primary .travelspark-live-card__cta { background:var(--pacific)!important; color:var(--white)!important; border-radius:2px; }
@media(max-width:620px) {
 body #primary .vtf-travel-widget .travelspark-widget__grid,
 body #primary .vtf-travel-widget .travelspark-card--featured { grid-template-columns:minmax(0,1fr)!important; }
 body #primary .vtf-travel-widget .travelspark-card--featured .travelspark-card__image-link { height:auto!important; }
}
