/* Miami owns presentation; TravelSpark owns products, tracking and placement. */
.mttg-main :is(.travelspark-widget,.travelspark-live-search,.travelspark-hotel-cards) {
  --ts-primary: var(--mttg-deep); --ts-accent: var(--mttg-mangrove);
  --ts-bg: var(--mttg-mist); --ts-card-bg: var(--mttg-white);
  --ts-heading-font: var(--mttg-display); --ts-body-font: var(--mttg-body);
  --ts-button-bg: var(--mttg-signal); --ts-button-text: var(--mttg-deep);
  --ts-radius: 0px; --ts-image-radius: 0px; --ts-shadow: none;
}
/* Outrank the plugin's repeated-class color guard, only on the dark home band. */
.mttg-home .mttg-provider-chapter .travelspark-widget .travelspark-widget__header :is(.travelspark-widget__title,.travelspark-widget__eyebrow,.travelspark-widget__description) {
  color: var(--mttg-mist) !important;
}
.mttg-provider-grid > .travelspark-widget,
.mttg-provider-grid > .travelspark-hotel-cards { grid-column: 1 / -1; min-width: 0; }
.mttg-main .travelspark-widget,
.mttg-main .travelspark-hotel-cards {
  color: var(--mttg-deep); background: transparent; border: 0; border-radius: 0;
  box-shadow: none; padding: 0; min-width: 0; max-width: 100%;
}
body .mttg-main .travelspark-widget.tsva-widget {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 !important; overflow: visible !important;
}
body .mttg-main .travelspark-widget.tsva-widget::before,
body .mttg-main .travelspark-widget.tsva-widget::after { content: none !important; }
.mttg-section--deep .travelspark-widget__header { color: var(--mttg-mist); }
.mttg-main .travelspark-widget__title { font: 700 clamp(1.4rem, 2.2vw, 2rem)/1.12 var(--mttg-display); color: inherit; }
.mttg-main .travelspark-widget__description { font: 400 1rem/1.55 var(--mttg-body); color: inherit; }
.mttg-main article.travelspark-card,
.mttg-main article.travelspark-live-card,
.mttg-main article.travelspark-hotel-card {
  background: var(--mttg-white, #FFFFFF); border: 0; border-radius: 0;
  box-shadow: none; clip-path: none; overflow: visible; min-width: 0;
  color: var(--mttg-deep); transform: none;
}
.mttg-main article.travelspark-card:hover,
.mttg-main article.travelspark-live-card:hover { box-shadow: none; transform: none; }
.mttg-main .travelspark-card__content.tsva-card-body {
  padding: 1.2rem; min-width: 0; display: flex; flex-direction: column;
  gap: .7rem; background: transparent; border: 0; clip-path: none;
}
.mttg-main .travelspark-card__media {
  display: block; position: relative; width: 100%; min-width: 0; overflow: hidden;
  clip-path: polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
}
.mttg-main .travelspark-card__media .travelspark-card__image-link.tsva-image-link {
  display: block; height: auto; min-height: 0; width: 100%; aspect-ratio: 16 / 10;
}
.mttg-main .travelspark-card__image-link img { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.mttg-main .travelspark-card__title {
  font: 700 1.1rem/1.22 var(--mttg-display); color: var(--mttg-deep);
  margin: 0; overflow: visible; -webkit-line-clamp: unset; display: block;
}
.mttg-main .travelspark-card__title a { color: inherit; text-decoration: none; }
.mttg-main .travelspark-card__title a:hover { text-decoration: underline; }
.mttg-main .travelspark-card__rating.tsva-rating {
  font: 500 .76rem/1.5 var(--mttg-utility); color: var(--mttg-mangrove); margin: 0;
  border: 0; background: transparent; padding: 0;
}
.mttg-main .travelspark-card__description,
.mttg-main .tsva-sidebar .tsva-card p {
  display: block; font: 400 .98rem/1.5 var(--mttg-body); margin: 0;
  color: var(--mttg-deep); overflow: visible; -webkit-line-clamp: unset; max-height: none;
}
.mttg-main .travelspark-card__meta.tsva-free-cancel,
.mttg-main .travelspark-card__badge.tsva-badge {
  align-self: flex-start; padding: 0; margin: 0; border: 0; border-radius: 0;
  background: transparent; font: 600 .8rem/1.4 var(--mttg-body); color: var(--mttg-mangrove);
}
.mttg-main .travelspark-card__footer.tsva-card-footer,
.mttg-main .tsva-sidebar .tsva-card-footer {
  display: flex; flex-wrap: wrap; gap: .8rem 1rem; align-items: center; justify-content: space-between;
  margin-top: auto; padding-top: .6rem; border: 0; min-width: 0;
}
.mttg-main .travelspark-card__price-row.tsva-price-wrap {
  display: flex; flex-wrap: wrap; gap: .25rem .4rem; align-items: baseline;
  white-space: normal; min-width: 0; overflow: visible; flex: 1 0 6rem;
}
.mttg-main .travelspark-card__price-row.tsva-price-wrap > * { white-space: nowrap; overflow: visible; }
.mttg-main .travelspark-card__price { font: 700 1.3rem/1.2 var(--mttg-display); color: var(--mttg-deep); }
.mttg-main .travelspark-card__button.tsva-button,
.mttg-main .travelspark-live-card__button {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 1 auto;
  background: var(--mttg-signal); color: var(--mttg-deep); border: 0; border-radius: 0;
  padding: .85rem 1rem; min-height: 44px; min-width: 0; max-width: 100%;
  font: 700 .92rem/1.2 var(--mttg-body); text-decoration: none;
  clip-path: none; overflow: visible; box-shadow: none; white-space: normal;
}
.mttg-main .travelspark-card__button-text { clip-path: none; white-space: normal; overflow: visible; text-overflow: clip; }
.mttg-provider-rail .travelspark-widget__grid--sidebar { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.8rem; }
.mttg-provider-rail .tsva-sidebar .tsva-card { display: flex; flex-direction: column; padding: 0; margin: 0; }
.mttg-provider-rail .travelspark-card__media { display: block !important; }
.mttg-provider-rail .tsva-sidebar .tsva-card .tsva-image-link { display: block; width: 100%; }
.mttg-provider-rail .tsva-sidebar .tsva-card .tsva-image-link { aspect-ratio: 16 / 10 !important; height: auto !important; min-height: 0; }
.mttg-provider-rail .tsva-sidebar .tsva-card .tsva-image-link img { width: 100%; height: 100%; }
.mttg-provider-rail .travelspark-card__footer.tsva-card-footer { flex-direction: column; align-items: stretch; }
.mttg-provider-rail .travelspark-card__price-row.tsva-price-wrap { flex: 0 0 auto; }
.mttg-provider-rail .travelspark-hotel-cards { margin-top: 2rem; }
.mttg-affiliate-note { font: 400 .88rem/1.5 var(--mttg-body); }
.mttg-provider-rail__sticky { position: static; }
.mttg-table-scroll { overflow-x: auto; max-width: 100%; margin: 2rem 0; border-bottom: 3px solid var(--mttg-current); }
.mttg-prose .mttg-table-scroll table { margin: 0; border-collapse: collapse; min-width: 46rem; font-size: .98rem; }
.mttg-prose .mttg-table-scroll :is(th,td) { border: 0; border-bottom: 1px solid var(--mttg-border); padding: 1rem 1.15rem; }
.mttg-prose .mttg-table-scroll th { font: 600 .82rem/1.5 var(--mttg-body); letter-spacing: .04em; }
.mttg-prose .mttg-table-scroll tr > :first-child { min-width: 10rem; width: 23%; }
.mttg-prose .mttg-table-scroll tr > :not(:first-child) { min-width: 18rem; }
.mttg-prose .mttg-table-scroll tbody th { background: transparent; color: var(--mttg-deep); font: 600 1rem/1.5 var(--mttg-body); letter-spacing: 0; text-transform: none; }
.mttg-prose .mttg-table-scroll tbody tr:nth-child(even) { background: color-mix(in srgb,var(--mttg-sand) 24%,transparent); }
.mttg-prose .mttg-table-scroll tbody tr:hover { background: color-mix(in srgb,var(--mttg-current) 10%,transparent); }
.mttg-prose .mttg-table-scroll td:first-child { font-weight: 600; }
.mttg-newsletter .sib_signup_form { padding: 0; }
.mttg-newsletter .sib_signup_form label { display: block; font-weight: 600; margin-bottom: .5rem; }
.mttg-newsletter .sib_signup_form input[type=email] { width: 100%; min-height: 48px; background: #FFFFFF; color: var(--mttg-deep); }
.mttg-newsletter .sib-default-btn { background: var(--mttg-signal); color: var(--mttg-deep); border: 0; padding: .85rem 1.5rem; font-weight: 700; min-height: 44px; }
.mttg-newsletter .sib_signup_form .mttg-newsletter-consent { display: flex; align-items: flex-start; gap: .7rem; font-weight: 400; font-size: .92rem; }
.mttg-newsletter-consent input { width: auto; margin-top: .3rem; flex: 0 0 auto; }
.mttg-contact-slot a { overflow-wrap: anywhere; }
.mttg-contact-page .mttg-contact-slot { padding: clamp(1.5rem,3vw,2.5rem); clip-path: none; }
.mttg-contact-slot__address { display: block; font-size: clamp(1rem,2vw,1.15rem); font-weight: 600; margin: .35rem 0 1.5rem; }
.mttg-contact-slot__label { font-size: .9rem; margin-bottom: 0; }
.mttg-contact-slot__help { font-size: .95rem; line-height: 1.55; }
.mttg-main .travelspark-live-card__body { border: 0; background: transparent; }
.mttg-main .travelspark-live-card__price-row { flex-wrap: wrap; overflow: visible; white-space: normal; }
.mttg-main .travelspark-live-card__actions { flex-wrap: wrap; }
@media (max-width: 760px) {
  .mttg-main .travelspark-card--featured.tsva-featured-card { grid-template-columns: minmax(0,1fr); }
  .mttg-main .travelspark-card__content.tsva-card-body { padding: 1rem; }
  .mttg-main .travelspark-card__title { font-size: 1.1rem; }
}
