@font-face {
  font-family: "Anybody";
  src: url("../fonts/Anybody-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Literata";
  src: url("../fonts/Literata-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

@font-face {
  font-family: "Public Sans";
  src: url("../fonts/PublicSans-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --lva-night: #18151c;
  --lva-ticket: #f6f0e1;
  --lva-red: #c73b2f;
  --lva-teal: #06756f;
  --lva-yellow: #f3c64f;
  --lva-clay: #b97752;
  --lva-silver: #aaa7a0;
  --lva-creosote: #536047;
  --lva-display: "Anybody", "Arial Black", sans-serif;
  --lva-reading: "Literata", Georgia, serif;
  --lva-utility: "Public Sans", Arial, sans-serif;
  --lva-rail: 220px;
  --lva-pad: clamp(1.25rem, 3.8vw, 4.5rem);
  --lva-section: clamp(4.5rem, 8vw, 8.5rem);
  --lva-rule: 3px solid var(--lva-night);
  --lva-concha: clamp(3.5rem, 7vw, 7.5rem) 0 0 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background: var(--lva-night);
  color: var(--lva-night);
  font-size: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 1rem;
  text-size-adjust: 100%;
}

body {
  background: var(--lva-ticket);
  color: var(--lva-night);
  font-family: var(--lva-utility);
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  overflow-wrap: anywhere;
}

body.admin-bar .site-index {
  top: 32px;
  height: calc(100vh - 32px);
}

img,
svg,
video,
iframe {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

figure,
blockquote,
dl,
dd,
p,
ol,
ul,
h1,
h2,
h3,
h4 {
  margin-top: 0;
}

h1,
h2,
h3,
h4 {
  font-family: var(--lva-display);
  font-variation-settings: "wdth" 112;
  font-weight: 770;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

a {
  color: var(--lva-teal);
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.18em;
}

a:hover {
  text-decoration-thickness: 0.18em;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button,
[type="button"],
[type="submit"] {
  cursor: pointer;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 4px solid var(--lva-teal);
  outline-offset: 4px;
}

::selection {
  background: var(--lva-yellow);
  color: var(--lva-night);
}

.skip-link {
  background: var(--lva-yellow);
  border: 3px solid var(--lva-night);
  color: var(--lva-night);
  font-family: var(--lva-utility);
  font-weight: 800;
  left: 0.75rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: -8rem;
  z-index: 100000;
}

.skip-link:focus {
  top: 0.75rem;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background: var(--lva-ticket);
  clip: auto !important;
  clip-path: none;
  color: var(--lva-night);
  display: block;
  height: auto;
  left: 0.75rem;
  padding: 0.75rem 1rem;
  top: 0.75rem;
  width: auto;
  z-index: 100000;
}

/* The desktop site is a program index beside a changing stage. */
.site-shell {
  display: grid;
  grid-template-columns: var(--lva-rail) minmax(0, 1fr);
  min-height: 100vh;
  width: 100%;
}

.site-index {
  align-self: start;
  background: var(--lva-night);
  color: var(--lva-ticket);
  display: flex;
  flex-direction: column;
  height: 100vh;
  inset-block-start: 0;
  min-width: 0;
  padding: 1.65rem 1.35rem 1.45rem;
  position: sticky;
  z-index: 100;
}

.site-index__mast,
.site-index__identity,
.site-index__nav {
  min-width: 0;
}

.site-index__identity a,
.site-index__packaged-logo,
.site-index .custom-logo-link {
  display: block;
}

.site-index__identity img,
.site-index .custom-logo {
  height: auto;
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
  width: min(100%, 186px);
}

.menu-toggle {
  align-items: center;
  background: transparent;
  border: 2px solid var(--lva-ticket);
  color: var(--lva-ticket);
  display: none;
  font-size: 0.75rem;
  font-weight: 800;
  gap: 0.65rem;
  min-height: 44px;
  padding: 0.65rem 0.8rem;
  text-transform: uppercase;
}

.menu-toggle__bars,
.menu-toggle__bars::before,
.menu-toggle__bars::after {
  background: currentColor;
  display: block;
  height: 2px;
  position: relative;
  transition: transform 150ms ease;
  width: 1.15rem;
}

.menu-toggle__bars::before,
.menu-toggle__bars::after {
  content: "";
  left: 0;
  position: absolute;
}

.menu-toggle__bars::before {
  top: -5px;
}

.menu-toggle__bars::after {
  top: 5px;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__bars {
  background: transparent;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__bars::before {
  top: 0;
  transform: rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__bars::after {
  top: 0;
  transform: rotate(-45deg);
}

.site-index__nav {
  border-top: 1px solid rgba(246, 240, 225, 0.35);
  margin-top: clamp(2rem, 7vh, 4.75rem);
  padding-top: 1.1rem;
}

.site-index__cue,
.eyebrow {
  font-family: var(--lva-utility);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  line-height: 1.35;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.site-index__cue {
  color: var(--lva-silver);
}

.site-index__list,
.site-index__list ul {
  counter-reset: lva-index;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-index__list li {
  border-bottom: 1px solid rgba(246, 240, 225, 0.24);
  counter-increment: lva-index;
}

.site-index__list a {
  align-items: baseline;
  color: var(--lva-ticket);
  display: grid;
  font-family: var(--lva-display);
  font-size: 1rem;
  font-variation-settings: "wdth" 104;
  font-weight: 680;
  gap: 0.7rem;
  grid-template-columns: 1.4rem 1fr;
  letter-spacing: -0.015em;
  line-height: 1.1;
  padding: 0.65rem 0;
  text-decoration: none;
}

.site-index__list a::before {
  color: var(--lva-yellow);
  content: counter(lva-index, decimal-leading-zero);
  font-family: var(--lva-utility);
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0;
}

.site-index__list a:hover,
.site-index__list .current-menu-item > a,
.site-index__list .current_page_item > a {
  color: var(--lva-yellow);
}

.site-index__cta {
  align-items: center;
  background: var(--lva-teal);
  border: 2px solid var(--lva-teal);
  color: var(--lva-ticket);
  display: flex;
  font-family: var(--lva-utility);
  font-size: 0.75rem;
  font-weight: 850;
  justify-content: space-between;
  letter-spacing: 0.08em;
  margin-top: 1.2rem;
  min-height: 46px;
  padding: 0.75rem 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.site-index__cta:hover {
  background: var(--lva-ticket);
  color: var(--lva-night);
  transform: translate(2px, 2px);
}

.site-index__slogan {
  color: var(--lva-silver);
  font-family: var(--lva-reading);
  font-size: 0.72rem;
  line-height: 1.45;
  margin: auto 0 0;
  max-width: 10rem;
}

.site-stage,
.site-main {
  min-width: 0;
  width: 100%;
}

.site-main {
  background: var(--lva-ticket);
}

.section-pad {
  padding: var(--lva-section) var(--lva-pad);
}

.section-heading {
  margin-bottom: clamp(2rem, 4vw, 4rem);
}

.section-heading--row {
  align-items: end;
  display: grid;
  gap: clamp(1.5rem, 4vw, 4rem);
  grid-template-columns: minmax(0, 5fr) minmax(14rem, 3fr);
}

.section-heading--row > :last-child {
  justify-self: end;
  max-width: 27rem;
}

.section-heading h2 {
  font-size: clamp(2.6rem, 6.2vw, 6.4rem);
  margin: 0;
  max-width: 12ch;
}

.section-heading > p,
.section-heading--row > p {
  font-family: var(--lva-reading);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.55;
}

.eyebrow {
  margin-bottom: 0.7rem;
}

.button,
button.button,
.wp-block-button__link {
  align-items: center;
  background: var(--lva-teal);
  border: 3px solid var(--lva-teal);
  border-radius: 0;
  color: var(--lva-ticket);
  display: inline-flex;
  font-family: var(--lva-utility);
  font-size: 0.77rem;
  font-weight: 850;
  justify-content: center;
  letter-spacing: 0.08em;
  min-height: 48px;
  padding: 0.75rem 1.15rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.button:hover,
button.button:hover,
.wp-block-button__link:hover {
  background: var(--lva-ticket);
  color: var(--lva-night);
  transform: translate(2px, 2px);
}

.button--dark {
  background: var(--lva-night);
  border-color: var(--lva-night);
}

.button--red,
button.button--red,
.button--teal {
  background: var(--lva-teal);
  border-color: var(--lva-teal);
}

.button--stock {
  background: var(--lva-ticket);
  border-color: var(--lva-ticket);
  color: var(--lva-night);
}

.button--stock:hover {
  background: var(--lva-night);
  border-color: var(--lva-night);
  color: var(--lva-ticket);
}

.button--outline {
  background: transparent;
  border-color: currentColor;
  color: var(--lva-teal);
}

.text-link {
  align-items: center;
  display: inline-flex;
  font-family: var(--lva-utility);
  font-size: 0.76rem;
  font-weight: 850;
  gap: 0.5rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.text-link::after {
  content: "↗";
}

.breadcrumbs {
  font-family: var(--lva-utility);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  margin-bottom: clamp(2rem, 5vw, 5rem);
}

.breadcrumbs ol {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumbs li + li::before {
  color: currentColor;
  content: "/";
  margin-right: 0.55rem;
  opacity: 0.55;
}

.breadcrumbs a {
  color: inherit;
}

/* Poster-stack homepage: two solid statements, then one independent image. */
.poster-hero h1 {
  margin: 0;
}

.poster-hero__line {
  align-items: center;
  display: flex;
  font-size: clamp(3.5rem, 9.25vw, 10.8rem);
  font-variation-settings: "wdth" 126;
  font-weight: 860;
  letter-spacing: -0.07em;
  line-height: 0.78;
  min-height: clamp(7.5rem, 17vw, 13.5rem);
  padding: 0.2em var(--lva-pad) 0.26em;
}

.poster-hero__line--red {
  background: var(--lva-red);
  color: var(--lva-ticket);
}

.poster-hero__line--stock {
  background: var(--lva-ticket);
  border-bottom: 3px solid var(--lva-night);
  color: var(--lva-night);
}

.poster-hero__image {
  background: var(--lva-night);
  height: clamp(22rem, 48vw, 42rem);
  overflow: hidden;
  position: relative;
}

.poster-hero__image img {
  height: 100%;
  object-fit: cover;
  object-position: 52% 54%;
  width: 100%;
}

.poster-hero__caption {
  align-items: center;
  background: var(--lva-night);
  bottom: 0;
  color: var(--lva-ticket);
  display: flex;
  font-size: 0.66rem;
  font-weight: 800;
  justify-content: space-between;
  left: 0;
  letter-spacing: 0.1em;
  padding: 0.65rem var(--lva-pad);
  position: absolute;
  text-transform: uppercase;
  width: 100%;
}

.poster-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding: 1.25rem var(--lva-pad) 1.5rem;
}

.home-editorial {
  align-items: start;
  background: var(--lva-clay);
  color: var(--lva-night);
  display: grid;
  gap: clamp(1.5rem, 5vw, 5rem);
  grid-template-columns: minmax(5rem, 2fr) minmax(0, 6fr);
  padding: var(--lva-section) var(--lva-pad);
}

.home-editorial > div {
  max-width: 50rem;
}

.chapter-number {
  color: var(--lva-ticket);
  font-family: var(--lva-display);
  font-size: clamp(5rem, 13vw, 12rem);
  font-variation-settings: "wdth" 80;
  font-weight: 830;
  line-height: 0.72;
  margin: 0;
}

.category-board {
  background: var(--lva-ticket);
}

.category-board__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.category-ticket {
  background: var(--lva-ticket);
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  color: var(--lva-night);
  display: flex;
  flex-direction: column;
  grid-column: span 3;
  justify-content: flex-end;
  min-height: clamp(13rem, 21vw, 19rem);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.category-ticket:nth-child(2),
.category-ticket:nth-child(6) {
  grid-column: span 2;
}

.category-ticket:nth-child(4) {
  background: var(--lva-night);
  color: var(--lva-ticket);
  grid-column: span 5;
}

.category-ticket:nth-child(5) {
  background: var(--lva-clay);
  grid-column: span 3;
}

.category-ticket:nth-child(7) {
  background: var(--lva-creosote);
  color: var(--lva-ticket);
}

.category-ticket:first-child {
  box-shadow: 5px 5px 0 var(--lva-red);
}

.category-ticket:hover {
  background: var(--lva-teal);
  color: var(--lva-ticket);
  transform: translate(2px, 2px);
}

.category-ticket__number {
  color: currentColor;
  font-family: var(--lva-utility);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin-bottom: auto;
}

.category-ticket strong {
  display: block;
  font-family: var(--lva-display);
  font-size: clamp(1.7rem, 3.2vw, 3.75rem);
  font-variation-settings: "wdth" 115;
  letter-spacing: -0.045em;
  line-height: 0.95;
}

.category-ticket strong + span {
  font-family: var(--lva-reading);
  font-size: 0.87rem;
  margin-top: 0.75rem;
}

.provider-chapter--red {
  background: var(--lva-red);
  color: var(--lva-ticket);
}

.provider-chapter--red .eyebrow,
.provider-chapter--red .section-heading > p {
  color: var(--lva-ticket);
}

.latest-guides {
  background: var(--lva-ticket);
}

.showcard-grid {
  display: grid;
  gap: clamp(1.25rem, 2.4vw, 2.4rem);
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.showcard {
  display: flex;
  flex-direction: column;
  grid-column: span 4;
  min-width: 0;
}

.showcard-grid--latest .showcard--lead {
  grid-column: span 5;
  grid-row: span 2;
}

.showcard-grid--latest .showcard:not(.showcard--lead) {
  grid-column: span 3;
}

.showcard-grid--archive .showcard:nth-child(6n + 1),
.showcard-grid--archive .showcard:nth-child(6n + 6) {
  grid-column: span 5;
}

.showcard-grid--archive .showcard:nth-child(6n + 2),
.showcard-grid--archive .showcard:nth-child(6n + 3),
.showcard-grid--archive .showcard:nth-child(6n + 4),
.showcard-grid--archive .showcard:nth-child(6n + 5) {
  grid-column: span 3;
}

.showcard-grid--related .showcard {
  grid-column: span 1;
}

.showcard-grid--related {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.showcard__media {
  background: var(--lva-silver);
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  color: var(--lva-night);
  display: block;
  overflow: hidden;
  position: relative;
}

.showcard--lead .showcard__media {
  box-shadow: 5px 5px 0 var(--lva-red);
}

.showcard__media img,
.showcard__placeholder {
  aspect-ratio: 16 / 10;
  display: block;
  height: auto;
  object-fit: cover;
  transition: filter 180ms ease;
  width: 100%;
}

.showcard__placeholder {
  background: var(--lva-clay);
  overflow: hidden;
  position: relative;
}

.showcard__placeholder::before {
  background: var(--lva-silver);
  border-left: 3px solid var(--lva-night);
  content: "";
  height: 100%;
  position: absolute;
  right: 18%;
  top: 0;
  width: 24%;
}

.showcard__media:hover img {
  filter: saturate(0.82) contrast(1.08);
}

.showcard__label {
  background: var(--lva-ticket);
  border: var(--lva-rule);
  border-top: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.1rem, 2.2vw, 1.75rem);
}

.showcard__category {
  align-self: flex-start;
  font-family: var(--lva-utility);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.showcard__title {
  font-size: clamp(1.45rem, 2.3vw, 2.6rem);
  margin: 0.65rem 0 0.8rem;
}

.showcard__title a {
  color: var(--lva-night);
  text-decoration: none;
}

.showcard__label > p:not(.showcard__meta) {
  font-family: var(--lva-reading);
  font-size: 0.94rem;
  line-height: 1.5;
}

.showcard__meta {
  border-top: 1px solid var(--lva-silver);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: auto 0 0;
  padding-top: 0.75rem;
  text-transform: uppercase;
}

.planning-switchboard {
  align-items: stretch;
  background: var(--lva-night);
  color: var(--lva-ticket);
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(18rem, 3fr);
}

.planning-switchboard__image {
  border: 3px solid var(--lva-ticket);
  border-radius: var(--lva-concha);
  min-height: 30rem;
  overflow: hidden;
}

.planning-switchboard__image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.planning-switchboard__copy {
  align-self: end;
  background: var(--lva-ticket);
  border: var(--lva-rule);
  color: var(--lva-night);
  margin: 3rem 0 3rem -3px;
  padding: clamp(1.5rem, 3.5vw, 3.5rem);
}

.planning-switchboard__copy h2 {
  font-size: clamp(2.7rem, 5vw, 5.4rem);
}

.planning-switchboard__copy > p:not(.eyebrow) {
  font-family: var(--lva-reading);
}

.hotel-chapter {
  background: var(--lva-clay);
}

.newsletter-chapter {
  align-items: center;
  background: var(--lva-night);
  color: var(--lva-ticket);
  display: grid;
  gap: clamp(2rem, 6vw, 7rem);
  grid-template-columns: minmax(0, 5fr) minmax(17rem, 3fr);
}

.newsletter-chapter h2 {
  font-size: clamp(2.8rem, 5.5vw, 6rem);
  max-width: 11ch;
}

.newsletter-chapter > div > p:not(.eyebrow) {
  color: var(--lva-silver);
  font-family: var(--lva-reading);
}

.newsletter-provider,
.newsletter-inactive {
  background: var(--lva-ticket);
  border: 3px solid var(--lva-ticket);
  box-shadow: 5px 5px 0 var(--lva-red);
  color: var(--lva-night);
  padding: clamp(1.2rem, 2.5vw, 2rem);
}

.newsletter-provider :where(form, p) {
  margin-bottom: 0;
}

.newsletter-provider :where(input[type="email"], input[type="text"]) {
  background: var(--lva-ticket);
  border: 3px solid var(--lva-night);
  border-radius: 0;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  width: 100%;
}

.newsletter-provider :where(input[type="submit"], button) {
  background: var(--lva-teal) !important;
  border: 3px solid var(--lva-teal) !important;
  border-radius: 0 !important;
  color: var(--lva-ticket) !important;
  font-weight: 800;
  min-height: 48px;
}

/* Editorial archives change color and density instead of repeating the hero. */
.archive-poster,
.page-poster,
.article-header {
  padding: clamp(2rem, 5vw, 5rem) var(--lva-pad) clamp(4rem, 8vw, 8rem);
}

.archive-poster {
  background: var(--lva-red);
  color: var(--lva-ticket);
}

.archive-poster--category {
  background: var(--lva-creosote);
}

.category-food-drink .archive-poster--category {
  background: var(--lva-clay);
  color: var(--lva-night);
}

.category-arts-culture .archive-poster--category {
  background: var(--lva-red);
}

.category-outdoors .archive-poster--category {
  background: var(--lva-creosote);
}

.category-plan-your-trip .archive-poster--category,
.category-where-to-stay .archive-poster--category {
  background: var(--lva-night);
}

.archive-poster h1,
.page-poster h1,
.article-header h1 {
  font-size: clamp(4rem, 10vw, 10.5rem);
  font-variation-settings: "wdth" 120;
  letter-spacing: -0.065em;
  margin: 0;
  max-width: 11ch;
}

.archive-poster__intro,
.archive-poster__dek,
.article-header__dek {
  font-family: var(--lva-reading);
  font-size: clamp(1.1rem, 1.7vw, 1.4rem);
  line-height: 1.55;
  margin: 1.5rem 0 0;
  max-width: 47rem;
}

.archive-poster__intro :where(h2, h3) {
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  margin-top: 2.5rem;
}

.category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: clamp(2.5rem, 5vw, 5rem);
}

.category-tabs a {
  background: transparent;
  border: 2px solid currentColor;
  color: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin: 0 -2px -2px 0;
  min-height: 44px;
  padding: 0.7rem 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
}

.category-tabs a:hover,
.category-tabs a:focus-visible {
  background: var(--lva-teal);
  border-color: var(--lva-teal);
  color: var(--lva-ticket);
}

.archive-listing {
  background: var(--lva-ticket);
}

.pagination .nav-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
  margin-top: clamp(3rem, 7vw, 7rem);
}

.pagination .page-numbers {
  align-items: center;
  border: 2px solid var(--lva-night);
  color: var(--lva-night);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 800;
  justify-content: center;
  margin: 0 -2px -2px 0;
  min-height: 46px;
  min-width: 46px;
  padding: 0.65rem;
  text-decoration: none;
}

.pagination .current,
.pagination a:hover {
  background: var(--lva-teal);
  border-color: var(--lva-teal);
  color: var(--lva-ticket);
}

.empty-state,
.provider-state {
  background: var(--lva-ticket);
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  box-shadow: 5px 5px 0 var(--lva-red);
  color: var(--lva-night);
  padding: clamp(1.5rem, 4vw, 4rem);
}

.provider-state h3,
.empty-state h2 {
  font-size: clamp(2rem, 4vw, 4rem);
  max-width: 15ch;
}

.provider-state > p:not(.eyebrow),
.empty-state > p {
  font-family: var(--lva-reading);
  max-width: 45rem;
}

.category-support {
  border-top: 3px solid var(--lva-night);
  margin: 0 auto;
  max-width: 58rem;
  padding: var(--lva-section) var(--lva-pad);
}

/* Long-form stage. */
.article-header {
  background: var(--lva-ticket);
}

.article-header__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.69rem;
  font-weight: 800;
  gap: 0.7rem;
  letter-spacing: 0.08em;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

.article-header__meta > * + *::before {
  color: var(--lva-red);
  content: "■";
  font-size: 0.55rem;
  margin-right: 0.7rem;
}

.article-lead-image {
  margin: 0 var(--lva-pad);
}

.article-lead-image img {
  aspect-ratio: 16 / 10;
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  box-shadow: 5px 5px 0 var(--lva-red);
  object-fit: cover;
  width: 100%;
}

.article-lead-image figcaption,
.editorial-prose figcaption,
.wp-caption-text,
.image-credit {
  color: var(--lva-creosote);
  font-family: var(--lva-utility);
  font-size: 0.69rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.45;
  margin-top: 0.55rem;
}

.article-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 4vw, 4.5rem);
  grid-template-columns: minmax(0, 5fr) minmax(17rem, 3fr);
  padding: var(--lva-section) var(--lva-pad);
}

.article-body {
  justify-self: end;
  max-width: 48rem;
  min-width: 0;
  width: 100%;
}

.article-rail {
  min-width: 0;
  position: sticky;
  top: 2rem;
}

body.admin-bar .article-rail {
  top: calc(2rem + 32px);
}

.article-rail > * + * {
  margin-top: 1.5rem;
}

.rail-placard {
  background: var(--lva-clay);
  border: var(--lva-rule);
  border-radius: 3.25rem 0 0;
  box-shadow: 5px 5px 0 var(--lva-red);
  padding: clamp(1.25rem, 2.4vw, 2rem);
}

.rail-placard h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.8rem);
}

.rail-placard > p:not(.eyebrow) {
  font-family: var(--lva-reading);
  font-size: 0.9rem;
}

.editorial-prose,
.legal-prose {
  font-family: var(--lva-reading);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.12rem);
  line-height: 1.78;
}

.editorial-prose > :first-child,
.legal-prose > :first-child {
  margin-top: 0;
}

.editorial-prose h2,
.legal-prose h2 {
  font-family: var(--lva-display);
  font-size: clamp(2.2rem, 4.5vw, 4.5rem);
  line-height: 0.98;
  margin: 2.1em 0 0.45em;
}

.editorial-prose h3,
.legal-prose h3 {
  font-family: var(--lva-display);
  font-size: clamp(1.45rem, 2.7vw, 2.5rem);
  line-height: 1.05;
  margin: 1.8em 0 0.5em;
}

.editorial-prose h4,
.legal-prose h4 {
  font-family: var(--lva-utility);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  margin: 2em 0 0.5em;
  text-transform: uppercase;
}

.editorial-prose p,
.legal-prose p {
  margin-bottom: 1.35em;
}

.editorial-prose :where(ul, ol),
.legal-prose :where(ul, ol) {
  margin: 1.3em 0 1.6em;
  padding-left: 1.6rem;
}

.editorial-prose :where(ul, ol) :where(ul, ol),
.legal-prose :where(ul, ol) :where(ul, ol) {
  margin: 0.45em 0 0.65em;
}

.editorial-prose li + li,
.legal-prose li + li {
  margin-top: 0.45em;
}

.editorial-prose li::marker,
.legal-prose li::marker {
  color: var(--lva-red);
  font-family: var(--lva-utility);
  font-weight: 850;
}

.editorial-prose blockquote,
.legal-prose blockquote,
.wp-block-quote {
  background: var(--lva-ticket);
  border: var(--lva-rule);
  border-left: 8px solid var(--lva-red);
  margin: 2rem 0;
  padding: 1.4rem 1.6rem;
}

.editorial-prose blockquote p:last-child,
.legal-prose blockquote p:last-child {
  margin-bottom: 0;
}

.editorial-prose figure,
.legal-prose figure,
.wp-block-image {
  margin: 2.5rem 0;
  max-width: 100%;
}

.editorial-prose figure img,
.legal-prose figure img,
.wp-block-image img {
  border: 3px solid var(--lva-night);
}

.editorial-prose table,
.legal-prose table,
.wp-block-table table {
  border-collapse: collapse;
  font-family: var(--lva-utility);
  font-size: 0.9rem;
  width: 100%;
}

.editorial-prose .wp-block-table,
.legal-prose .wp-block-table,
.wp-block-table {
  margin: 2rem 0;
  max-width: 100%;
  overflow-x: auto;
}

.editorial-prose :where(th, td),
.legal-prose :where(th, td),
.wp-block-table :where(th, td) {
  border: 2px solid var(--lva-night);
  min-width: 8rem;
  padding: 0.7rem 0.8rem;
  text-align: left;
  vertical-align: top;
}

.editorial-prose th,
.legal-prose th,
.wp-block-table th {
  background: var(--lva-night);
  color: var(--lva-ticket);
  font-weight: 800;
}

.editorial-prose hr,
.legal-prose hr,
.wp-block-separator {
  border: 0;
  border-top: 3px solid var(--lva-night);
  margin: 3rem 0;
}

.editorial-prose .alignwide,
.legal-prose .alignwide {
  margin-left: min(-5vw, -2rem);
  max-width: calc(100% + min(10vw, 4rem));
  width: calc(100% + min(10vw, 4rem));
}

.editorial-prose .alignfull,
.legal-prose .alignfull {
  margin-left: min(-8vw, -4rem);
  max-width: calc(100% + min(16vw, 8rem));
  width: calc(100% + min(16vw, 8rem));
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--lva-teal);
}

.wp-block-pullquote {
  border-bottom: 3px solid var(--lva-night);
  border-top: 3px solid var(--lva-night);
  padding: 2rem 0;
}

.wp-block-pullquote blockquote {
  border: 0;
  padding: 0;
}

.wp-block-group.is-style-lva-callout,
.lva-callout,
.callout {
  background: var(--lva-clay);
  border: var(--lva-rule);
  box-shadow: 5px 5px 0 var(--lva-red);
  font-family: var(--lva-utility);
  margin: 2rem 0;
  padding: 1.25rem;
}

.related-guides {
  background: var(--lva-silver);
  border-top: 3px solid var(--lva-night);
}

/* Story, utility, legal and contact stages. */
.page-poster {
  background: var(--lva-red);
  color: var(--lva-ticket);
}

.page-poster--legal {
  background: var(--lva-night);
}

.page-cinema {
  margin: 0;
  padding: 0 var(--lva-pad);
}

.page-cinema img {
  aspect-ratio: 16 / 10;
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  box-shadow: 5px 5px 0 var(--lva-red);
  object-fit: cover;
  width: 100%;
}

.page-prose,
.legal-prose {
  margin: 0 auto;
  max-width: 50rem;
  padding: var(--lva-section) var(--lva-pad);
}

.legal-prose {
  max-width: 46rem;
}

.contact-panel {
  background: var(--lva-clay);
  border-top: 3px solid var(--lva-night);
  padding: var(--lva-section) var(--lva-pad);
}

.contact-panel > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 50rem;
}

.contact-panel h2 {
  font-size: clamp(2.8rem, 6vw, 6rem);
}

.lva-contact-form {
  background: var(--lva-ticket);
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  box-shadow: 5px 5px 0 var(--lva-red);
  padding: clamp(1.25rem, 4vw, 3rem);
}

.form-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lva-contact-form p {
  margin-bottom: 1rem;
}

.lva-contact-form label {
  display: block;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
}

.lva-contact-form :where(input[type="text"], input[type="email"], textarea),
.search-form .search-field {
  background: var(--lva-ticket);
  border: 3px solid var(--lva-night);
  border-radius: 0;
  min-height: 48px;
  padding: 0.7rem 0.8rem;
  width: 100%;
}

.lva-contact-form textarea {
  min-height: 12rem;
  resize: vertical;
}

.consent-row {
  align-items: start;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 1.25rem 1fr;
}

.consent-row input {
  height: 1.25rem;
  margin: 0.12rem 0 0;
  width: 1.25rem;
}

.consent-row label {
  font-weight: 600;
  line-height: 1.5;
}

.form-trap {
  height: 1px;
  left: -9999px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.form-notice {
  border: 3px solid var(--lva-night);
  font-weight: 700;
  padding: 0.8rem 1rem;
}

.form-notice--success {
  background: var(--lva-creosote);
  color: var(--lva-ticket);
}

.form-notice--error {
  background: var(--lva-yellow);
  color: var(--lva-night);
}

/* Tours is a factual program screen, not a plugin afterthought. */
.tours-hero {
  background: var(--lva-night);
  color: var(--lva-ticket);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(18rem, 3fr) minmax(0, 5fr);
  padding: clamp(2rem, 5vw, 5rem) var(--lva-pad) var(--lva-pad);
}

.tours-hero .breadcrumbs {
  grid-column: 1 / -1;
}

.tours-hero__type {
  align-self: end;
  background: var(--lva-red);
  border: 3px solid var(--lva-ticket);
  padding: clamp(1.5rem, 3.5vw, 3.5rem);
  position: relative;
  z-index: 2;
}

.tours-hero__type h1 {
  font-size: clamp(4rem, 9vw, 9rem);
  margin: 0;
}

.tours-hero__type > p:last-child {
  font-family: var(--lva-reading);
  line-height: 1.55;
  margin-bottom: 0;
}

.tours-hero__mosaic {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 5fr) minmax(9rem, 3fr);
  min-height: 33rem;
}

.tours-hero__mosaic img {
  border: 3px solid var(--lva-ticket);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.tours-hero__mosaic-main {
  border-radius: var(--lva-concha);
}

.tour-themes {
  background: var(--lva-ticket);
}

.tour-themes__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 3fr 2fr 3fr;
}

.tour-themes__grid > div {
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  display: flex;
  flex-direction: column;
  min-height: 18rem;
  padding: clamp(1.25rem, 2.7vw, 2.5rem);
}

.tour-themes__grid > div:nth-child(2) {
  background: var(--lva-yellow);
}

.tour-themes__grid span {
  color: var(--lva-red);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.tour-themes__grid h3 {
  font-size: clamp(1.8rem, 3.1vw, 3.4rem);
  margin: auto 0 0.8rem;
}

.tour-themes__grid p {
  font-family: var(--lva-reading);
  font-size: 0.9rem;
  margin-bottom: 0;
}

.tours-results {
  background: var(--lva-silver);
  border-top: 3px solid var(--lva-night);
}

.tours-results__provider {
  min-width: 0;
}

/* Useful 404 recovery placard. */
.not-found {
  align-items: stretch;
  background: var(--lva-clay);
  display: grid;
  grid-template-columns: minmax(18rem, 3fr) minmax(0, 5fr);
  min-height: 78vh;
  padding: var(--lva-pad);
}

.not-found__copy {
  align-self: center;
  background: var(--lva-ticket);
  border: var(--lva-rule);
  border-radius: var(--lva-concha);
  box-shadow: 5px 5px 0 var(--lva-red);
  padding: clamp(1.5rem, 4vw, 4rem);
  position: relative;
  z-index: 2;
}

.not-found__copy h1 {
  font-size: clamp(3rem, 7vw, 7rem);
}

.not-found__copy > p:not(.eyebrow) {
  font-family: var(--lva-reading);
}

.not-found__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 2rem 0;
}

.not-found__image {
  min-height: 38rem;
}

.not-found__image img {
  border: var(--lva-rule);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.search-form {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.search-form label {
  display: block;
}

.search-form .search-field {
  border-right: 0;
  height: 100%;
}

.search-form .search-submit {
  background: var(--lva-teal);
  border: 3px solid var(--lva-teal);
  border-radius: 0;
  color: var(--lva-ticket);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  min-height: 48px;
  padding: 0.65rem 1rem;
  text-transform: uppercase;
}

/* Footer completes the dark index state. */
.site-footer {
  background: var(--lva-night);
  border-top: 3px solid var(--lva-ticket);
  color: var(--lva-ticket);
  padding: clamp(3.5rem, 7vw, 7rem) var(--lva-pad) 1.5rem;
}

.site-footer__bill {
  align-items: end;
  border-bottom: 1px solid rgba(246, 240, 225, 0.35);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding-bottom: clamp(2rem, 5vw, 4rem);
}

.site-footer__bill img {
  height: auto;
  width: min(15rem, 42vw);
}

.site-footer__bill p {
  color: var(--lva-silver);
  font-family: var(--lva-reading);
  margin: 0;
}

.site-footer__columns {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.site-footer__columns > nav {
  grid-column: 1 / -1;
}

.footer-index {
  display: grid;
  gap: 0.55rem clamp(1rem, 3vw, 3rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-index li,
.footer-index li + li {
  border-top: 1px solid rgba(246, 240, 225, 0.35);
  margin: 0;
  padding-top: 0.55rem;
}

.site-footer h2 {
  color: var(--lva-yellow);
  font-family: var(--lva-utility);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer li + li {
  margin-top: 0.4rem;
}

.site-footer a {
  color: var(--lva-ticket);
}

.site-footer__fineprint {
  border-top: 1px solid rgba(246, 240, 225, 0.35);
  color: var(--lva-silver);
  font-size: 0.68rem;
  margin: 0;
  padding-top: 1rem;
}

/*
 * TravelSpark / Viator / Nuitee
 * Provider code keeps product choice, tracking, data, placement and frequency.
 * The theme only replaces presentation and never suppresses provider fields.
 */
.lva-changeover :is(
  .lva-provider-surface,
  [data-tsva-surface],
  .travelspark-surface,
  .travelspark-widget,
  .travelspark-component,
  .travelspark-sidebar-widget,
  .tsva-widget-container,
  .tsva-placement
) {
  --ts-primary: var(--lva-teal);
  --ts-primary-color: var(--lva-teal);
  --ts-accent-color: var(--lva-red);
  --ts-button-bg: var(--lva-teal);
  --ts-button-text: var(--lva-ticket);
  --ts-card-bg: var(--lva-ticket);
  --ts-widget-bg: transparent;
  --ts-card-border: var(--lva-night);
  --ts-card-radius: 0;
  --ts-card-shadow: none;
  --ts-muted: var(--lva-creosote);
  --ts-font-heading: var(--lva-display);
  --ts-font-body: var(--lva-utility);
  --ts-hotel-primary: var(--lva-teal);
  --ts-hotel-ink: var(--lva-night);
  --ts-hotel-bg: transparent;
  --ts-hotel-card: var(--lva-ticket);
  --ts-hotel-border: var(--lva-night);
  --ts-hotel-radius: 0;
  --ts-hotel-muted: var(--lva-creosote);
  box-shadow: none !important;
  color: var(--lva-night) !important;
  font-family: var(--lva-utility) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover :is(
  .lva-provider-surface,
  [data-tsva-surface],
  .travelspark-surface,
  .travelspark-widget,
  .travelspark-component,
  .travelspark-sidebar-widget,
  .tsva-widget-container,
  .tsva-placement
) :is(*, *::before, *::after) {
  box-sizing: border-box;
}

.lva-changeover :is(
  .travelspark-widget,
  .travelspark-component,
  .travelspark-sidebar-widget,
  .tsva-widget-container,
  .tsva-placement,
  [data-tsva-component="offers"],
  [data-tsva-component="featured"]
) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.lva-changeover :is(
  [data-tsva-surface],
  .travelspark-surface,
  .travelspark-widget,
  .travelspark-component,
  .travelspark-sidebar-widget
) :is(h1, h2, h3, h4, .travelspark-widget__title, .travelspark-card__title, .travelspark-hotel-card__title) {
  color: var(--lva-night) !important;
  font-family: var(--lva-display) !important;
  font-variation-settings: "wdth" 110 !important;
  font-weight: 760 !important;
  letter-spacing: -0.035em !important;
  line-height: 1 !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.provider-chapter--red .lva-provider-surface :is(h1, h2, h3, h4, .travelspark-widget__title) {
  color: var(--lva-ticket) !important;
}

.lva-changeover :is(.travelspark-widget__header, .travelspark-component--header, [data-tsva-component="header"]) {
  border-bottom: 3px solid currentColor !important;
  margin-bottom: clamp(1.25rem, 3vw, 2.5rem) !important;
  padding: 0 0 1rem !important;
}

.lva-changeover :is(.travelspark-widget__eyebrow, .travelspark-card__badge, .travelspark-hotel-card__badge, .tsva-badge) {
  border-radius: 0 !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.65rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.lva-changeover :is(.travelspark-card__badge, .travelspark-hotel-card__badge, .tsva-badge) {
  background: var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  padding: 0.45rem 0.6rem !important;
}

.lva-changeover :is(
  .travelspark-widget__grid,
  .travelspark-widget__cards,
  .travelspark-card-grid,
  .travelspark-hotel-grid,
  .tsva-card-grid,
  [data-tsva-grid]
) {
  display: grid !important;
  gap: clamp(1rem, 2.2vw, 2rem) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
}

.lva-changeover :is(
  .travelspark-card,
  .travelspark-hotel-card,
  .tsva-card,
  .tsva-featured-card,
  .travelspark-live-card
) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: none !important;
  color: var(--lva-night) !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-height: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  transform: none !important;
  width: 100% !important;
}

.lva-changeover .travelspark-card--featured,
.lva-changeover .tsva-featured-card.travelspark-card--featured {
  box-shadow: 5px 5px 0 var(--lva-red) !important;
}

.lva-changeover :is(
  .travelspark-card__media,
  .travelspark-card__image-link,
  .travelspark-hotel-card__media,
  .travelspark-hotel-card__image-link,
  .travelspark-live-card__media
) {
  aspect-ratio: 1 / 1 !important;
  background: var(--lva-silver) !important;
  border: 0 !important;
  border-bottom: 3px solid var(--lva-night) !important;
  border-radius: 0 !important;
  display: block !important;
  flex: 0 0 auto !important;
  height: auto !important;
  margin: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 100% !important;
}

.lva-changeover :is(
  .travelspark-card__image,
  .travelspark-card__media img,
  .travelspark-card__image-link img,
  .travelspark-hotel-card__media img,
  .travelspark-hotel-card__image,
  .travelspark-live-card__media img
) {
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
}

.lva-changeover :is(
  .travelspark-card__content,
  .travelspark-hotel-card__content,
  .travelspark-live-card__content,
  .tsva-card__content
) {
  background: var(--lva-ticket) !important;
  color: var(--lva-night) !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  height: auto !important;
  max-height: none !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding: clamp(1rem, 2vw, 1.5rem) !important;
  width: 100% !important;
}

.lva-changeover :is(.travelspark-card__title, .travelspark-hotel-card__title, .travelspark-live-card__title) {
  display: block !important;
  font-size: clamp(1.35rem, 2vw, 2rem) !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.lva-changeover :is(.travelspark-card__title, .travelspark-hotel-card__title, .travelspark-live-card__title) a {
  color: var(--lva-night) !important;
  text-decoration: none !important;
}

.lva-changeover :is(
  .travelspark-card__description,
  .travelspark-hotel-card__description,
  .travelspark-live-card__description,
  .travelspark-hotel-card__amenities
) {
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  color: var(--lva-creosote) !important;
  display: block !important;
  font-family: var(--lva-reading) !important;
  font-size: 0.84rem !important;
  height: auto !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.lva-changeover :is(
  .travelspark-card__rating,
  .travelspark-hotel-card__rating,
  .travelspark-live-card__rating,
  .tsva-rating,
  .travelspark-card__meta
) {
  color: var(--lva-creosote) !important;
  display: block !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  height: auto !important;
  line-height: 1.4 !important;
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

.lva-changeover :is(
  .travelspark-card__price,
  .travelspark-card__price-row,
  .travelspark-hotel-card__price,
  .travelspark-hotel-card__price-row,
  .travelspark-live-card__price
) {
  color: var(--lva-night) !important;
  display: block !important;
  font-family: var(--lva-display) !important;
  font-size: 1.1rem !important;
  font-weight: 760 !important;
  height: auto !important;
  line-height: 1.2 !important;
  max-height: none !important;
  overflow: visible !important;
}

.lva-changeover :is(
  .travelspark-card__footer,
  .travelspark-hotel-card__footer,
  .travelspark-live-card__footer
) {
  align-items: end !important;
  border-top: 1px solid var(--lva-silver) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  justify-content: space-between !important;
  margin-top: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-top: 0.9rem !important;
}

.lva-changeover :is(
  .travelspark-card__button,
  .travelspark-hotel-card__booking,
  .travelspark-live-card__cta,
  .tsva-button,
  [data-tsva-apply-filters],
  [data-tsva-load-more]
) {
  align-items: center !important;
  background: var(--lva-teal) !important;
  border: 3px solid var(--lva-teal) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.69rem !important;
  font-weight: 850 !important;
  justify-content: center !important;
  letter-spacing: 0.07em !important;
  line-height: 1.2 !important;
  min-height: 46px !important;
  padding: 0.7rem 0.9rem !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transform: none !important;
  white-space: normal !important;
}

.lva-changeover :is(
  .travelspark-card__button,
  .travelspark-hotel-card__booking,
  .travelspark-live-card__cta,
  .tsva-button,
  [data-tsva-apply-filters],
  [data-tsva-load-more]
):hover {
  background: var(--lva-night) !important;
  border-color: var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  transform: translate(2px, 2px) !important;
}

.lva-changeover :is(
  .travelspark-card__button,
  .travelspark-hotel-card__booking,
  .travelspark-live-card__cta,
  .tsva-button,
  [data-tsva-apply-filters],
  [data-tsva-load-more]
):focus-visible {
  outline: 4px solid var(--lva-teal) !important;
  outline-offset: 4px !important;
}

.lva-changeover :is(.travelspark-widget__showcase-stack, .travelspark-widget--article, [data-tsva-placement]) {
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover :is(.travelspark-widget__showcase-stack, .travelspark-widget--article) > .travelspark-card--featured,
.lva-changeover .tsva-featured-card.travelspark-card--featured {
  align-items: stretch !important;
  display: grid !important;
  grid-template-columns: minmax(0, 5fr) minmax(16rem, 3fr) !important;
  margin-bottom: clamp(1.25rem, 3vw, 2.5rem) !important;
}

.lva-changeover :is(.travelspark-widget__showcase-stack, .travelspark-widget--article) > .travelspark-card--featured :is(.travelspark-card__media, .travelspark-card__image-link),
.lva-changeover .tsva-featured-card.travelspark-card--featured :is(.travelspark-card__media, .travelspark-card__image-link) {
  aspect-ratio: 16 / 10 !important;
  border-bottom: 0 !important;
  border-right: 3px solid var(--lva-night) !important;
  height: 100% !important;
}

.lva-changeover :is(.travelspark-widget__showcase-stack, .travelspark-widget--article) > .travelspark-card--featured .travelspark-card__image,
.lva-changeover .tsva-featured-card.travelspark-card--featured .travelspark-card__image {
  aspect-ratio: auto !important;
  height: 100% !important;
}

.lva-changeover .travelspark-sidebar-widget :is(
  .travelspark-widget__grid,
  .travelspark-widget__cards,
  .travelspark-card-grid,
  .tsva-card-grid
),
.lva-changeover .article-rail :is(
  .travelspark-widget__grid,
  .travelspark-widget__cards,
  .travelspark-card-grid,
  .tsva-card-grid
) {
  grid-template-columns: 1fr !important;
}

.lva-changeover .article-rail :is(.travelspark-card, .tsva-card, .tsva-featured-card) {
  border-radius: 2.8rem 0 0 !important;
}

.lva-changeover .article-rail :is(.travelspark-card__media, .travelspark-card__image-link, .travelspark-card__image) {
  aspect-ratio: 16 / 10 !important;
}

.lva-changeover :is(.tsva-powered, .travelspark-powered, .travelspark-widget__provider) {
  color: var(--lva-creosote) !important;
  display: block !important;
  font-size: 0.65rem !important;
  line-height: 1.4 !important;
  margin-top: 0.75rem !important;
  opacity: 1 !important;
  text-align: left !important;
}

.lva-changeover [data-tsva-surface="tours-index"] [data-tsva-component],
.lva-changeover .travelspark-surface--tours-index .travelspark-component {
  margin-block: clamp(3rem, 6vw, 6rem) !important;
}

.lva-changeover :is([data-tsva-component="search"], .travelspark-component--search, .travelspark-tours-index__search) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: var(--lva-concha) !important;
  box-shadow: 5px 5px 0 var(--lva-red) !important;
  color: var(--lva-night) !important;
  padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}

.lva-changeover :is([data-tsva-surface], .travelspark-surface) :is(input, select, textarea) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  font-family: var(--lva-utility) !important;
  min-height: 48px !important;
  padding: 0.65rem 0.75rem !important;
}

.lva-changeover :is([data-tsva-component="interests"], .travelspark-component--interests) {
  border-bottom: 3px solid var(--lva-night) !important;
  border-top: 3px solid var(--lva-night) !important;
  padding-block: 1rem !important;
}

.lva-changeover :is(
  .travelspark-loading,
  .travelspark-empty,
  .travelspark-error,
  .travelspark-unconfigured,
  .tsva-loading,
  .tsva-empty,
  .tsva-error,
  [data-tsva-state]
) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  color: var(--lva-night) !important;
  display: block !important;
  min-height: 9rem !important;
  padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}

.lva-changeover :is(.tsva-sticky-cta, .travelspark-sticky-card, [data-tsva-placement="mobile_sticky"], [data-tsva-placement="sticky"]) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 2.5rem 0 0 !important;
  box-shadow: 5px 5px 0 var(--lva-red) !important;
  color: var(--lva-night) !important;
  max-width: min(26rem, calc(100vw - 2rem)) !important;
  padding: 0.75rem !important;
}

/* Native Viator mobile booking bar. Keep every provider field and tracked link,
 * but give the close control a real touch target and prevent copy collisions. */
.lva-changeover .tsva-sticky-cta {
  align-items: center !important;
  display: grid !important;
  gap: 0.45rem 0.7rem !important;
  grid-template-columns: 64px minmax(0, 1fr) 44px !important;
  grid-template-rows: auto auto !important;
  margin: 0 !important;
  width: min(36rem, calc(100vw - 1.5rem)) !important;
}

/* Preserve the provider's close state; the plugin writes this inline after its
 * own persistence handler runs. */
.lva-changeover .tsva-sticky-cta[style*="display: none"] {
  display: none !important;
}

.lva-changeover .tsva-sticky-cta > img {
  aspect-ratio: 1 !important;
  border: 2px solid var(--lva-night) !important;
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  height: 64px !important;
  object-fit: cover !important;
  width: 64px !important;
}

.lva-changeover .tsva-sticky-cta > span {
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  color: var(--lva-night) !important;
  display: -webkit-box !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
}

.lva-changeover .tsva-sticky-cta > a {
  align-items: center !important;
  background: var(--lva-teal) !important;
  border: 2px solid var(--lva-teal) !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  font-size: 0.7rem !important;
  font-weight: 850 !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0.5rem 0.65rem !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.lva-changeover .tsva-sticky-cta > .tsva-sticky-close {
  align-items: center !important;
  align-self: start !important;
  background: var(--lva-yellow) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  display: inline-flex !important;
  grid-column: 3 !important;
  grid-row: 1 / 3 !important;
  height: 44px !important;
  justify-content: center !important;
  min-width: 44px !important;
  padding: 0 !important;
  position: static !important;
  width: 44px !important;
}

.lva-changeover :is(.tsva-exit-cta, .travelspark-exit-card, [data-tsva-placement="exit"]) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: 5px 5px 0 var(--lva-red) !important;
  color: var(--lva-night) !important;
  max-height: min(90vh, 42rem) !important;
  max-width: min(42rem, calc(100vw - 2rem)) !important;
  overflow: auto !important;
  padding: clamp(1rem, 3vw, 2rem) !important;
}

.lva-changeover :is(.tsva-exit-cta, .travelspark-exit-card) :is(button[aria-label*="close" i], .tsva-close, .travelspark-exit-card__close) {
  align-items: center !important;
  background: var(--lva-night) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  height: 44px !important;
  justify-content: center !important;
  min-width: 44px !important;
}

/* Hotel/Nuitee variants use the same attached showcard language. */
.lva-changeover :is(.travelspark-hotel-card, .nuitee-hotel-card, .lva-provider-surface--hotels .hotel-card) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: none !important;
  color: var(--lva-night) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/*
 * Native in-article formats emitted by TravelSpark 0.14.x.
 * Provider links, imagery, copy, placement, and tracking remain untouched.
 */
.lva-changeover .editorial-prose :is(
  .tsva-graphic-box.travelspark-widget--graphic,
  .tsva-text-box.travelspark-widget--text
) {
  background-color: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  color: var(--lva-night) !important;
  display: block !important;
  isolation: isolate;
  margin: clamp(2rem, 5vw, 4rem) 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: clamp(1.25rem, 3vw, 2.25rem) !important;
  position: relative;
  width: 100% !important;
}

.lva-changeover .editorial-prose .tsva-graphic-box.travelspark-widget--graphic {
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  box-shadow: 5px 5px 0 var(--lva-red) !important;
  min-height: clamp(18rem, 32vw, 25rem) !important;
  padding-right: min(42%, 19rem) !important;
}

/* A flat reading field replaces the provider image overlay while the
 * provider image remains visible in the right-hand third of the placard. */
.lva-changeover .editorial-prose .tsva-graphic-box.travelspark-widget--graphic::before {
  background: var(--lva-ticket);
  border-right: 1px solid var(--lva-silver);
  content: "";
  inset: 0 36% 0 0;
  position: absolute;
  z-index: -1;
}

.lva-changeover .editorial-prose :is(
  .tsva-graphic-box.travelspark-widget--graphic,
  .tsva-text-box.travelspark-widget--text
) > :is(.tsva-eyebrow, .travelspark-widget__eyebrow) {
  align-items: center !important;
  background: var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.69rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  line-height: 1.2 !important;
  margin: 0 0 1.1rem !important;
  padding: 0.5rem 0.65rem !important;
  text-transform: uppercase !important;
}

.lva-changeover .editorial-prose :is(
  .tsva-graphic-box.travelspark-widget--graphic,
  .tsva-text-box.travelspark-widget--text
) > :is(.tsva-eyebrow, .travelspark-widget__eyebrow) > span:empty {
  display: none !important;
}

.lva-changeover .editorial-prose :is(
  .tsva-graphic-box.travelspark-widget--graphic,
  .tsva-text-box.travelspark-widget--text
) > .travelspark-widget__title {
  color: var(--lva-night) !important;
  font-size: clamp(2rem, 5vw, 3.75rem) !important;
  line-height: 0.96 !important;
  margin: 0 0 1rem !important;
  max-width: 13ch !important;
}

.lva-changeover .editorial-prose :is(
  .tsva-graphic-box.travelspark-widget--graphic,
  .tsva-text-box.travelspark-widget--text
) > .travelspark-widget__description {
  color: var(--lva-creosote) !important;
  font-family: var(--lva-reading) !important;
  font-size: 0.96rem !important;
  line-height: 1.55 !important;
  margin: 0 0 1.25rem !important;
  max-width: 48ch !important;
}

.lva-changeover .editorial-prose :is(
  .tsva-graphic-box.travelspark-widget--graphic,
  .tsva-text-box.travelspark-widget--text
) > .tsva-button-copper {
  background: var(--lva-teal) !important;
  border-color: var(--lva-teal) !important;
  color: var(--lva-ticket) !important;
  margin: 0 !important;
  min-height: 46px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.lva-changeover .editorial-prose .tsva-text-box.tsva-text-conclusion {
  box-shadow: inset 0 -6px 0 var(--lva-red) !important;
}

/* Trip Helper: retain the plugin's state and response flow, but replace its
 * inline palette, rounded controls, and soft elevation with Changeover parts. */
.lva-changeover .travelspark-tour-helper {
  --ts-helper-primary: var(--lva-night) !important;
  --ts-helper-accent: var(--lva-teal) !important;
  --ts-helper-bg: var(--lva-ticket) !important;
  --ts-helper-text: var(--lva-night) !important;
  --ts-helper-card-bg: var(--lva-ticket) !important;
  --ts-helper-button-bg: var(--lva-teal) !important;
  --ts-helper-button-text: var(--lva-ticket) !important;
  --ts-helper-radius: 0 !important;
  --ts-helper-shadow: none !important;
  color: var(--lva-night) !important;
  font-family: var(--lva-utility) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-tour-helper-callout {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: none !important;
  color: var(--lva-night) !important;
  margin: clamp(2rem, 5vw, 4rem) 0 !important;
  overflow: hidden !important;
  padding: clamp(1.25rem, 3vw, 2.25rem) !important;
}

.lva-changeover .travelspark-tour-helper-callout::before,
.lva-changeover .travelspark-tour-helper-callout__eyebrow::before {
  display: none !important;
}

.lva-changeover :is(.travelspark-tour-helper-callout__eyebrow, .travelspark-tour-helper-eyebrow) {
  color: var(--lva-red) !important;
  display: block !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  line-height: 1.25 !important;
  margin: 0 0 0.55rem !important;
  text-transform: uppercase !important;
}

.lva-changeover .travelspark-tour-helper-callout h3 {
  color: var(--lva-night) !important;
  font-family: var(--lva-display) !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-variation-settings: "wdth" 112 !important;
  font-weight: 770 !important;
  letter-spacing: -0.035em !important;
  line-height: 0.98 !important;
  margin: 0 0 0.85rem !important;
}

.lva-changeover .travelspark-tour-helper-callout p {
  color: var(--lva-creosote) !important;
  font-family: var(--lva-reading) !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 0 1.15rem !important;
  max-width: 54ch !important;
}

.lva-changeover :is(
  .travelspark-tour-helper-callout__button,
  .travelspark-tour-helper-trigger,
  .travelspark-tour-helper-cta,
  .travelspark-tour-helper-form button
) {
  align-items: center !important;
  background: var(--lva-teal) !important;
  border: 3px solid var(--lva-teal) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  justify-content: center !important;
  letter-spacing: 0.055em !important;
  line-height: 1.25 !important;
  min-height: 46px !important;
  padding: 0.7rem 0.9rem !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

.lva-changeover :is(
  .travelspark-tour-helper-callout__button,
  .travelspark-tour-helper-trigger,
  .travelspark-tour-helper-cta,
  .travelspark-tour-helper-form button
):is(:hover, :focus-visible) {
  background: var(--lva-night) !important;
  border-color: var(--lva-night) !important;
  color: var(--lva-ticket) !important;
}

.lva-changeover .travelspark-tour-helper-trigger__icon {
  background: var(--lva-yellow) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  flex: 0 0 28px !important;
  height: 28px !important;
  width: 28px !important;
}

.lva-changeover .travelspark-tour-helper--sticky.is-open .travelspark-tour-helper-trigger,
.lva-changeover .travelspark-tour-helper.is-open > .travelspark-tour-helper-trigger,
body.tsva-tour-helper-open.lva-changeover .travelspark-tour-helper:not(.is-open) .travelspark-tour-helper-trigger {
  display: none !important;
}

.lva-changeover .travelspark-tour-helper-panel {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: 5px 5px 0 var(--lva-red) !important;
  color: var(--lva-night) !important;
  height: auto !important;
  max-height: calc(100dvh - 2rem) !important;
  max-width: min(35rem, calc(100vw - 2rem)) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  width: min(35rem, calc(100vw - 2rem)) !important;
}

.lva-changeover .travelspark-tour-helper-panel[hidden] {
  display: none !important;
}

.lva-changeover .travelspark-tour-helper-panel__header {
  align-items: flex-start !important;
  background: var(--lva-night) !important;
  border-bottom: 3px solid var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  gap: 1rem !important;
  padding: 1rem 1.1rem !important;
}

.lva-changeover .travelspark-tour-helper-panel__header h2 {
  color: var(--lva-ticket) !important;
  font-family: var(--lva-display) !important;
  font-size: clamp(1.65rem, 4vw, 2.5rem) !important;
  font-variation-settings: "wdth" 112 !important;
  font-weight: 770 !important;
  letter-spacing: -0.035em !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.lva-changeover .travelspark-tour-helper-panel__header .travelspark-tour-helper-eyebrow {
  color: var(--lva-yellow) !important;
}

.lva-changeover .travelspark-tour-helper-close {
  align-items: center !important;
  background: var(--lva-yellow) !important;
  border: 3px solid var(--lva-yellow) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  display: flex !important;
  flex: 0 0 44px !important;
  height: 44px !important;
  justify-content: center !important;
  min-width: 44px !important;
  padding: 0 !important;
}

.lva-changeover .travelspark-tour-helper-messages {
  background: var(--lva-ticket) !important;
  color: var(--lva-night) !important;
  flex: 1 1 auto !important;
  max-height: none !important;
  min-height: min(42vh, 20rem) !important;
  min-width: 0 !important;
  overflow: auto !important;
  padding: 1.1rem !important;
}

.lva-changeover .travelspark-tour-helper-message {
  color: var(--lva-night) !important;
  max-width: 92% !important;
  overflow-wrap: anywhere !important;
}

.lva-changeover .travelspark-tour-helper-message--assistant {
  background: var(--lva-ticket) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 2rem 0 0 !important;
  box-shadow: none !important;
  padding: 0.8rem 0.9rem !important;
}

.lva-changeover .travelspark-tour-helper-message--user,
.lva-changeover .travelspark-tour-helper-message--user * {
  background: var(--lva-night) !important;
  color: var(--lva-ticket) !important;
}

.lva-changeover .travelspark-tour-helper-choices {
  background: var(--lva-ticket) !important;
  display: grid !important;
  gap: 0.45rem !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  padding: 0 1.1rem 1rem !important;
}

.lva-changeover :is(.travelspark-tour-helper-choices button, .travelspark-tour-helper-compare-more) {
  background: var(--lva-ticket) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--lva-night) !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.78rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  min-height: 44px !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  padding: 0.65rem 0.75rem !important;
  text-align: left !important;
  white-space: normal !important;
}

.lva-changeover :is(.travelspark-tour-helper-choices button, .travelspark-tour-helper-compare-more):is(:hover, :focus-visible) {
  background: var(--lva-teal) !important;
  border-color: var(--lva-teal) !important;
  color: var(--lva-ticket) !important;
}

.lva-changeover .travelspark-tour-helper-form {
  align-items: stretch !important;
  background: var(--lva-ticket) !important;
  border-top: 3px solid var(--lva-night) !important;
  display: flex !important;
  gap: 0.5rem !important;
  min-width: 0 !important;
  padding: 0.85rem 1.1rem 1.1rem !important;
}

.lva-changeover .travelspark-tour-helper-form input {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  flex: 1 1 auto !important;
  font-family: var(--lva-utility) !important;
  min-height: 48px !important;
  min-width: 0 !important;
  padding: 0.65rem 0.75rem !important;
  width: auto !important;
}

.lva-changeover .travelspark-tour-helper-form button {
  flex: 0 0 auto !important;
  min-width: 5.75rem !important;
}

.lva-changeover :is(.travelspark-tour-helper-note, .travelspark-tour-helper-disclosure) {
  background: var(--lva-ticket) !important;
  color: var(--lva-creosote) !important;
  font-size: 0.7rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding-inline: 1.1rem !important;
}

.lva-changeover .travelspark-tour-helper-products {
  display: grid !important;
  gap: 0.75rem !important;
  grid-template-columns: 1fr !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-tour-helper-card {
  background: var(--lva-ticket) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 2.5rem 0 0 !important;
  box-shadow: none !important;
  color: var(--lva-night) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.lva-changeover .travelspark-tour-helper-card__body {
  background: var(--lva-ticket) !important;
  color: var(--lva-night) !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-tour-helper-card__label {
  background: var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-ticket) !important;
}

.lva-changeover .travelspark-tour-helper-card :is(
  h3,
  .travelspark-tour-helper-card__meta,
  .travelspark-tour-helper-card__reason,
  .travelspark-tour-helper-card__price
) {
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  color: var(--lva-night) !important;
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.lva-changeover .travelspark-tour-helper-card__meta {
  color: var(--lva-creosote) !important;
}

/* GetYourGuide remains a native embed. This wrapper gives its loading and
 * rendered states an intentional place without reaching into provider markup. */
.lva-changeover .travelspark-getyourguide-widget {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: none !important;
  color: var(--lva-night) !important;
  margin: clamp(2rem, 5vw, 4rem) 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
}

.lva-changeover .travelspark-getyourguide-widget__head {
  background: var(--lva-night) !important;
  border-bottom: 3px solid var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  display: grid !important;
  gap: 0.3rem !important;
  padding: 1rem 1.15rem !important;
}

.lva-changeover .travelspark-getyourguide-widget__head span {
  color: var(--lva-yellow) !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

.lva-changeover .travelspark-getyourguide-widget__head strong {
  color: var(--lva-ticket) !important;
  font-family: var(--lva-display) !important;
  font-size: clamp(1.6rem, 4vw, 2.5rem) !important;
  font-variation-settings: "wdth" 112 !important;
  line-height: 1 !important;
}

.lva-changeover .travelspark-getyourguide-widget__embed {
  background: var(--lva-ticket) !important;
  min-height: 7rem !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 1rem !important;
  width: 100% !important;
}

.lva-changeover .lva-embed-consent {
  background: var(--lva-ticket);
  border-top: 3px solid var(--lva-night);
  color: var(--lva-night);
  padding: clamp(1rem, 3vw, 1.6rem);
}

.lva-changeover .lva-embed-consent p {
  font-family: var(--lva-reading);
  margin: 0 0 1rem;
  max-width: 52ch;
}

.lva-changeover [data-lva-gyg-embed][hidden],
.lva-changeover [data-lva-gyg-consent][hidden] {
  display: none !important;
}

/* Native tours index emitted on /tours and the home provider chapter. */
.lva-changeover .lva-provider-surface .travelspark-tours-index__hero {
  align-items: stretch !important;
  background: var(--lva-night) !important;
  border: 3px solid var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 5fr) minmax(18rem, 3fr) !important;
  margin: 0 0 clamp(3rem, 7vw, 6rem) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover .lva-provider-surface .travelspark-tours-index__hero-copy {
  background: var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  min-width: 0 !important;
  padding: clamp(1.5rem, 4vw, 4rem) !important;
}

.lva-changeover .lva-provider-surface .travelspark-tours-index__hero-copy :is(h1, h2, p) {
  color: var(--lva-ticket) !important;
}

.lva-changeover .lva-provider-surface .travelspark-tours-index__hero-copy :is(h1, h2) {
  font-size: clamp(3rem, 7vw, 7rem) !important;
  line-height: 0.9 !important;
  margin: 0 0 1.25rem !important;
  max-width: 10ch !important;
}

.lva-changeover .lva-provider-surface .travelspark-tours-index__hero-copy p {
  font-family: var(--lva-reading) !important;
  max-width: 56ch !important;
}

.lva-changeover .travelspark-live-search__eyebrow {
  color: var(--lva-red) !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

.lva-changeover .travelspark-tours-index__hero-copy .travelspark-live-search__eyebrow {
  color: var(--lva-yellow) !important;
}

.lva-changeover .travelspark-tours-index__actions {
  align-items: stretch !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.65rem !important;
  margin-top: 1.25rem !important;
}

.lva-changeover :is(
  .travelspark-tours-index__actions .travelspark-live-card__cta,
  .travelspark-tours-index__show-more,
  .travelspark-tours-index__article-cta,
  .travelspark-live-search__form button,
  .travelspark-live-search__apply,
  .travelspark-live-search__mobile-filter,
  .travelspark-live-search__page
) {
  align-items: center !important;
  background: var(--lva-teal) !important;
  border: 3px solid var(--lva-teal) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  justify-content: center !important;
  letter-spacing: 0.055em !important;
  line-height: 1.25 !important;
  min-height: 46px !important;
  padding: 0.7rem 0.9rem !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.lva-changeover .travelspark-tours-index__text-link {
  align-items: center !important;
  border: 3px solid var(--lva-ticket) !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  min-height: 46px !important;
  padding: 0.7rem 0.9rem !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.lva-changeover .lva-provider-surface .travelspark-tours-index__hero-panel {
  background: var(--lva-yellow) !important;
  border-left: 3px solid var(--lva-night) !important;
  color: var(--lva-night) !important;
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.lva-changeover .travelspark-tours-index__hero-panel > div {
  display: grid !important;
  gap: 0.35rem !important;
  padding: 1.15rem !important;
}

.lva-changeover .travelspark-tours-index__hero-panel > div + div {
  border-top: 3px solid var(--lva-night) !important;
}

.lva-changeover .travelspark-tours-index__hero-panel :is(strong, span) {
  color: var(--lva-night) !important;
  display: block !important;
}

.lva-changeover .travelspark-tours-index__section {
  margin-block: clamp(3rem, 7vw, 6rem) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-tours-index__section-head {
  border-bottom: 3px solid var(--lva-night) !important;
  margin-bottom: clamp(1.25rem, 3vw, 2.25rem) !important;
  max-width: 100% !important;
  padding-bottom: 1rem !important;
}

.lva-changeover .travelspark-tours-index__section-head h2 {
  color: var(--lva-night) !important;
  font-family: var(--lva-display) !important;
  font-size: clamp(2.4rem, 5vw, 5rem) !important;
  line-height: 0.95 !important;
  margin: 0.35rem 0 0.75rem !important;
}

.lva-changeover .travelspark-tours-index__section-head p {
  color: var(--lva-creosote) !important;
  font-family: var(--lva-reading) !important;
  margin: 0 !important;
  max-width: 62ch !important;
}

.lva-changeover .travelspark-tours-index__topic-grid {
  display: grid !important;
  gap: 0.85rem !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-tours-index__topic {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  grid-column: span 3 !important;
  min-height: 13rem !important;
  min-width: 0 !important;
  padding: 1rem !important;
  text-decoration: none !important;
}

.lva-changeover .travelspark-tours-index__topic:nth-child(2),
.lva-changeover .travelspark-tours-index__topic:nth-child(6),
.lva-changeover .travelspark-tours-index__topic:nth-child(8) {
  grid-column: span 2 !important;
}

.lva-changeover .travelspark-tours-index__topic:nth-child(4) {
  background: var(--lva-night) !important;
  color: var(--lva-ticket) !important;
  grid-column: span 5 !important;
}

.lva-changeover .travelspark-tours-index__topic:nth-child(5) {
  grid-column: span 3 !important;
}

.lva-changeover .travelspark-tours-index__topic:nth-child(7) {
  background: var(--lva-creosote) !important;
  color: var(--lva-ticket) !important;
  grid-column: span 4 !important;
}

.lva-changeover .travelspark-tours-index__topic :is(span, strong, em) {
  color: inherit !important;
  display: block !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-tours-index__topic span {
  font-family: var(--lva-utility) !important;
  font-size: 0.66rem !important;
  font-style: normal !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.lva-changeover .travelspark-tours-index__topic strong {
  font-family: var(--lva-display) !important;
  font-size: clamp(1.5rem, 2.5vw, 2.35rem) !important;
  line-height: 1 !important;
}

.lva-changeover .travelspark-tours-index__topic em {
  font-family: var(--lva-reading) !important;
  font-size: 0.78rem !important;
  font-style: normal !important;
  line-height: 1.5 !important;
}

.lva-changeover .travelspark-live-search__panel {
  background: var(--lva-night) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: none !important;
  color: var(--lva-ticket) !important;
  padding: clamp(1rem, 3vw, 2rem) !important;
}

.lva-changeover .travelspark-live-search__form {
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-live-search__form input {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-ticket) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  min-height: 48px !important;
  min-width: 0 !important;
  padding: 0.65rem 0.75rem !important;
  width: 100% !important;
}

.lva-changeover .travelspark-live-search__form button {
  border-color: var(--lva-ticket) !important;
}

.lva-changeover .travelspark-live-search__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.45rem !important;
  margin-top: 0.85rem !important;
}

.lva-changeover .travelspark-live-search__chips button {
  background: transparent !important;
  border: 2px solid var(--lva-ticket) !important;
  border-radius: 0 !important;
  color: var(--lva-ticket) !important;
  font-family: var(--lva-utility) !important;
  font-size: 0.72rem !important;
  font-weight: 750 !important;
  min-height: 44px !important;
  padding: 0.55rem 0.7rem !important;
}

.lva-changeover .travelspark-live-search__body {
  align-items: start !important;
  display: grid !important;
  gap: clamp(1rem, 3vw, 2rem) !important;
  grid-template-columns: minmax(13rem, 2fr) minmax(0, 6fr) !important;
  margin-top: 1rem !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-live-search__filters {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  display: grid !important;
  gap: 0.85rem !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 1rem !important;
}

.lva-changeover .travelspark-live-search__filters :is(label, strong, span) {
  color: var(--lva-night) !important;
  font-family: var(--lva-utility) !important;
}

.lva-changeover .travelspark-live-search__filters :is(select, input:not([type="checkbox"])) {
  background: var(--lva-ticket) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  min-height: 44px !important;
  min-width: 0 !important;
  width: 100% !important;
}

.lva-changeover .travelspark-live-search__filters-head {
  align-items: center !important;
  border-bottom: 2px solid var(--lva-night) !important;
  display: flex !important;
  justify-content: space-between !important;
  padding-bottom: 0.6rem !important;
}

.lva-changeover .travelspark-live-search__filters-head button,
.lva-changeover .travelspark-live-search__modal-close {
  align-items: center !important;
  background: var(--lva-night) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-ticket) !important;
  display: inline-flex !important;
  height: 44px !important;
  justify-content: center !important;
  min-width: 44px !important;
}

.lva-changeover .travelspark-live-search__price-filter {
  display: grid !important;
  gap: 0.5rem !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-live-search__price-input {
  align-items: center !important;
  border: 2px solid var(--lva-night) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  min-width: 0 !important;
  padding-left: 0.5rem !important;
}

.lva-changeover .travelspark-live-search__price-input input {
  border: 0 !important;
}

.lva-changeover .travelspark-live-search__check {
  align-items: start !important;
  display: grid !important;
  gap: 0.5rem !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
}

.lva-changeover .travelspark-live-search__check input {
  accent-color: var(--lva-teal) !important;
  height: 1.15rem !important;
  margin-top: 0.15rem !important;
  width: 1.15rem !important;
}

.lva-changeover .travelspark-live-search__main {
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-live-search__toolbar {
  align-items: end !important;
  border-bottom: 3px solid var(--lva-night) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  justify-content: space-between !important;
  margin-bottom: 1rem !important;
  padding-bottom: 0.75rem !important;
}

.lva-changeover .travelspark-live-search__toolbar :is(strong, label, span) {
  color: var(--lva-night) !important;
  font-family: var(--lva-utility) !important;
}

.lva-changeover .travelspark-live-search__toolbar select {
  background: var(--lva-ticket) !important;
  border: 2px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  min-height: 44px !important;
}

.lva-changeover .travelspark-live-search__results {
  display: grid !important;
  gap: 0.85rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-live-card--skeleton {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 2.75rem 0 0 !important;
  box-shadow: none !important;
  min-height: 19rem !important;
  overflow: hidden !important;
}

.lva-changeover .travelspark-live-card--skeleton :is(span, strong, em, b) {
  animation: none !important;
  background: var(--lva-silver) !important;
  border-radius: 0 !important;
}

.lva-changeover :is(
  .travelspark-tours-index__detail-grid,
  .travelspark-tours-index__planning-grid,
  .travelspark-design-offers
) {
  display: grid !important;
  gap: 0.85rem !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  min-width: 0 !important;
}

.lva-changeover :is(
  .travelspark-tours-index__detail-card,
  .travelspark-tours-index__planning-grid > article,
  .travelspark-design-offers > article
) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 0 !important;
  color: var(--lva-night) !important;
  grid-column: span 3 !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 1rem !important;
}

.lva-changeover :is(
  .travelspark-tours-index__detail-card,
  .travelspark-tours-index__planning-grid > article,
  .travelspark-design-offers > article
):nth-child(3n + 2) {
  grid-column: span 2 !important;
}

.lva-changeover :is(
  .travelspark-tours-index__detail-card,
  .travelspark-tours-index__planning-grid > article,
  .travelspark-design-offers > article
) :is(span, h3, p, strong) {
  color: var(--lva-night) !important;
}

.lva-changeover :is(
  .travelspark-tours-index__detail-card,
  .travelspark-tours-index__planning-grid > article,
  .travelspark-design-offers > article
) h3 {
  font-family: var(--lva-display) !important;
  font-size: clamp(1.5rem, 2.5vw, 2.35rem) !important;
  line-height: 1 !important;
  margin: 0.5rem 0 0.75rem !important;
}

.lva-changeover .travelspark-tours-index__article-grid {
  display: grid !important;
  gap: 1rem !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.lva-changeover .travelspark-tours-index__article-card {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  color: var(--lva-night) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 3fr) minmax(14rem, 2fr) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* The provider's embedded 3+1 group arrives inside a second decorated shell.
 * Keep one destination placard instead of stacking the default soft panels. */
.lva-changeover .travelspark-tours-index__section.travelspark-tours-index__section--widget {
  background: var(--lva-ticket) !important;
  background-image: none !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: 5px 5px 0 var(--lva-red) !important;
}

.lva-changeover .travelspark-tours-index__section--widget .travelspark-surface.travelspark-surface--tour-embed-widget.travelspark-widget {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.lva-changeover .travelspark-tours-index__article-card {
  box-shadow: none !important;
}

.lva-changeover .travelspark-tours-index__article-image {
  border-right: 3px solid var(--lva-night) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.lva-changeover .travelspark-tours-index__article-image img {
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

.lva-changeover .travelspark-tours-index__article-body {
  color: var(--lva-night) !important;
  min-width: 0 !important;
  padding: 1rem !important;
}

.lva-changeover .travelspark-tours-index__article-body :is(span, h3, p, a) {
  color: var(--lva-night) !important;
}

.lva-changeover .travelspark-tours-index__article-body .travelspark-tours-index__article-cta {
  color: var(--lva-ticket) !important;
}

.lva-changeover .travelspark-tours-index__photo-grid {
  display: grid !important;
  gap: 0.65rem !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  min-width: 0 !important;
}

.lva-changeover .travelspark-tours-index__photo-grid > * {
  border: 3px solid var(--lva-night) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.lva-changeover .travelspark-live-search__pager {
  align-items: center !important;
  display: flex !important;
  gap: 0.65rem !important;
  justify-content: center !important;
  margin-top: 1rem !important;
}

.lva-changeover :is(.travelspark-live-search__compare, .travelspark-live-search__recent) {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  color: var(--lva-night) !important;
  margin-top: 1rem !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  padding: 1rem !important;
}

.lva-changeover .travelspark-live-search__disclosure {
  color: var(--lva-creosote) !important;
  font-size: 0.7rem !important;
  line-height: 1.45 !important;
  margin-top: 0.8rem !important;
}

.lva-changeover .travelspark-live-search__modal-panel {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  color: var(--lva-night) !important;
  max-height: calc(100dvh - 2rem) !important;
  max-width: calc(100vw - 2rem) !important;
  overflow: auto !important;
}

/* WordPress utilities. */
.alignleft {
  float: left;
  margin: 0.4rem 1.5rem 1rem 0;
}

.alignright {
  float: right;
  margin: 0.4rem 0 1rem 1.5rem;
}

.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.sticky,
.bypostauthor {
  display: block;
}

/* Compact header and an inline, non-fullscreen menu. */
@media (max-width: 1099px) {
  body.admin-bar .site-index {
    height: auto;
    top: 32px;
  }

  .site-shell {
    display: block;
  }

  .site-index {
    display: grid;
    height: auto;
    padding: 0;
    position: sticky;
    top: 0;
  }

  .site-index__mast {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 74px;
    padding: 0.7rem var(--lva-pad);
  }

  .site-index__identity img,
  .site-index .custom-logo {
	max-height: none;
	width: min(148px, 42vw);
  }

  .menu-toggle {
    display: inline-flex;
  }

  .site-index__nav {
    align-items: stretch;
    background: var(--lva-ticket);
    border: 0;
    border-bottom: 3px solid var(--lva-night);
    color: var(--lva-night);
    display: grid;
    gap: 0;
    grid-template-columns: 1fr auto;
    margin: 0;
    max-height: min(64vh, 32rem);
    overflow-y: auto;
    padding: 0 var(--lva-pad) 1rem;
  }

  .has-js .site-index__nav[hidden] {
    display: none !important;
  }

  .site-index__cue {
    color: var(--lva-creosote);
    grid-column: 1 / -1;
    margin: 0;
    padding: 0.75rem 0;
  }

  .site-index__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-index__list li {
    border: 2px solid var(--lva-night);
    margin: 0 -2px -2px 0;
  }

  .site-index__list a {
    color: var(--lva-night);
    min-height: 46px;
    padding: 0.65rem 0.75rem;
  }

  .site-index__list a::before {
    color: var(--lva-red);
  }

  .site-index__list a:hover,
  .site-index__list .current-menu-item > a,
  .site-index__list .current_page_item > a {
    background: var(--lva-teal);
    color: var(--lva-ticket);
  }

  .site-index__cta {
    align-self: stretch;
    margin: 0 0 0 0.75rem;
    min-width: 9rem;
  }

  .site-index__slogan {
    display: none;
  }

  .poster-hero__line {
    font-size: clamp(3.3rem, 11vw, 8.5rem);
  }

  .article-rail {
    top: 7rem;
  }

  body.admin-bar .article-rail {
    top: calc(7rem + 32px);
  }
}

@media (max-width: 900px) {
  .section-heading--row,
  .planning-switchboard,
  .newsletter-chapter,
  .article-layout,
  .tours-hero,
  .not-found {
    grid-template-columns: 1fr;
  }

  .section-heading--row > :last-child {
    justify-self: start;
  }

  .category-board__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .category-ticket,
  .category-ticket:nth-child(2),
  .category-ticket:nth-child(4),
  .category-ticket:nth-child(5),
  .category-ticket:nth-child(6),
  .category-ticket:nth-child(7) {
    grid-column: span 2;
  }

  .category-ticket:last-child {
    grid-column: 2 / span 2;
  }

  .showcard-grid--archive .showcard,
  .showcard-grid--archive .showcard:nth-child(n),
  .showcard-grid--latest .showcard,
  .showcard-grid--latest .showcard:not(.showcard--lead),
  .showcard-grid--latest .showcard--lead {
    grid-column: span 4;
    grid-row: auto;
  }

  .planning-switchboard__image {
    min-height: 26rem;
  }

  .planning-switchboard__copy {
    margin: -3px 0 0;
  }

  .article-body {
    justify-self: stretch;
    max-width: 46rem;
  }

  .article-rail {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }

  .article-rail > * + * {
    margin-top: 0;
  }

  .tours-hero__mosaic {
    min-height: 27rem;
  }

  .not-found__copy {
    margin-bottom: -3px;
  }

  .not-found__image {
    min-height: 26rem;
  }

  .lva-changeover :is(
    .travelspark-widget__grid,
    .travelspark-widget__cards,
    .travelspark-card-grid,
    .travelspark-hotel-grid,
    .tsva-card-grid,
    [data-tsva-grid]
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-index {
    top: 46px;
  }

  body.admin-bar .article-rail {
    top: auto;
  }
}

@media (max-width: 680px) {
  :root {
    --lva-concha: 3.75rem 0 0 0;
    --lva-pad: 1rem;
    --lva-section: 4rem;
  }

  html {
    scroll-padding-top: 5.5rem;
  }

  .site-index__mast {
    min-height: 68px;
  }

  .site-index__identity img,
  .site-index .custom-logo {
	max-height: none;
	width: min(148px, 42vw);
  }

  .menu-toggle {
    min-height: 44px;
  }

  .site-index__nav {
    display: block;
    max-height: min(70vh, 32rem);
    padding-bottom: 1rem;
  }

  .site-index__list {
    display: block;
  }

  .site-index__list li {
    margin-bottom: -2px;
  }

  .site-index__cta {
    margin: 0.9rem 0 0;
  }

  .poster-hero__line {
    font-size: clamp(2.85rem, 14vw, 4.5rem);
    letter-spacing: -0.075em;
    min-height: 7.3rem;
    padding-block: 0.28em 0.3em;
  }

  .poster-hero__image {
    height: 27rem;
  }

  .poster-hero__image img {
    object-position: 57% 54%;
  }

  .poster-hero__caption {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
  }

  .poster-hero__actions,
  .not-found__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .poster-hero__actions .button,
  .not-found__actions .button {
    width: 100%;
  }

  .home-editorial {
    grid-template-columns: 1fr;
  }

  .chapter-number {
    font-size: 5.5rem;
  }

  .category-board__grid,
  .showcard-grid,
  .showcard-grid--related,
  .article-rail,
  .tour-themes__grid,
  .site-footer__columns,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .category-ticket,
  .category-ticket:nth-child(n),
  .category-ticket:last-child,
  .showcard,
  .showcard-grid--archive .showcard:nth-child(n),
  .showcard-grid--latest .showcard:nth-child(n),
  .showcard-grid--related .showcard {
    grid-column: 1;
  }

  .category-ticket {
    min-height: 12rem;
  }

  .section-heading h2,
  .archive-poster h1,
  .page-poster h1,
  .article-header h1 {
    hyphens: auto;
  }

  .planning-switchboard__image,
  .not-found__image {
    min-height: 20rem;
  }

  .newsletter-chapter {
    gap: 2rem;
  }

  .archive-poster,
  .page-poster,
  .article-header {
    padding-bottom: 4rem;
  }

  .category-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .category-tabs a {
    align-items: center;
    display: flex;
  }

  .article-lead-image {
    margin-inline: 0;
  }

  .article-lead-image img,
  .page-cinema img {
    border-left: 0;
    border-right: 0;
    box-shadow: none;
  }

  .page-cinema {
    padding-inline: 0;
  }

  .editorial-prose .alignwide,
  .legal-prose .alignwide,
  .editorial-prose .alignfull,
  .legal-prose .alignfull {
    margin-left: 0;
    max-width: 100%;
    width: 100%;
  }

  .article-header__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .article-header__meta > * + *::before {
    margin-right: 0.5rem;
  }

  .tours-hero {
    padding-inline: 0;
  }

  .tours-hero .breadcrumbs {
    padding-inline: var(--lva-pad);
  }

  .tours-hero__type {
    border-left: 0;
    border-right: 0;
  }

  .tours-hero__mosaic {
    gap: 0;
    grid-template-columns: 2fr 1fr;
    min-height: 22rem;
  }

  .tours-hero__mosaic img {
    border-bottom: 0;
    border-left: 0;
  }

  .tours-hero__mosaic img:last-child {
    border-right: 0;
  }

  .not-found {
    min-height: 0;
  }

  .search-form {
    grid-template-columns: 1fr;
  }

  .search-form .search-field {
    border-right: 3px solid var(--lva-night);
    border-bottom: 0;
  }

  .site-footer__bill {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-footer__columns {
    gap: 2.5rem;
  }

  .footer-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lva-changeover :is(
    .travelspark-widget__grid,
    .travelspark-widget__cards,
    .travelspark-card-grid,
    .travelspark-hotel-grid,
    .tsva-card-grid,
    [data-tsva-grid]
  ) {
    grid-template-columns: 1fr !important;
  }

  .lva-changeover :is(.travelspark-widget__showcase-stack, .travelspark-widget--article) > .travelspark-card--featured,
  .lva-changeover .tsva-featured-card.travelspark-card--featured {
    display: flex !important;
    grid-template-columns: 1fr !important;
  }

  .lva-changeover :is(.travelspark-widget__showcase-stack, .travelspark-widget--article) > .travelspark-card--featured :is(.travelspark-card__media, .travelspark-card__image-link),
  .lva-changeover .tsva-featured-card.travelspark-card--featured :is(.travelspark-card__media, .travelspark-card__image-link) {
    aspect-ratio: 16 / 10 !important;
    border-bottom: 3px solid var(--lva-night) !important;
    border-right: 0 !important;
    height: auto !important;
  }

  .lva-changeover :is(.travelspark-card__media, .travelspark-card__image-link, .travelspark-card__image) {
    aspect-ratio: 16 / 10 !important;
  }

  .lva-changeover :is(.tsva-sticky-cta, .travelspark-sticky-card, [data-tsva-placement="mobile_sticky"], [data-tsva-placement="sticky"]) {
    bottom: max(0.75rem, env(safe-area-inset-bottom)) !important;
    left: 0.75rem !important;
    max-width: calc(100vw - 1.5rem) !important;
    right: 0.75rem !important;
  }
}

@media (max-width: 420px) {
  .poster-hero__line {
    font-size: clamp(2.55rem, 13.1vw, 3.45rem);
  }

  .section-heading h2,
  .planning-switchboard__copy h2,
  .newsletter-chapter h2 {
    font-size: clamp(2.35rem, 11vw, 3.4rem);
  }

  .archive-poster h1,
  .page-poster h1,
  .article-header h1,
  .tours-hero__type h1 {
    font-size: clamp(3rem, 15vw, 4.5rem);
  }

  .category-tabs {
    grid-template-columns: 1fr;
  }

  .site-footer__bill img {
    width: min(14rem, 70vw);
  }

  .footer-index {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .lva-changeover .lva-provider-surface .travelspark-tours-index__hero {
    grid-template-columns: 1fr !important;
  }

  .lva-changeover .lva-provider-surface .travelspark-tours-index__hero-panel {
    border-left: 0 !important;
    border-top: 3px solid var(--lva-night) !important;
  }

  .lva-changeover .travelspark-tours-index__topic-grid,
  .lva-changeover :is(
    .travelspark-tours-index__detail-grid,
    .travelspark-tours-index__planning-grid,
    .travelspark-design-offers
  ) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .lva-changeover .travelspark-tours-index__topic:nth-child(n),
  .lva-changeover :is(
    .travelspark-tours-index__detail-card,
    .travelspark-tours-index__planning-grid > article,
    .travelspark-design-offers > article
  ):nth-child(n) {
    grid-column: span 2 !important;
  }

  .lva-changeover .travelspark-tours-index__topic:nth-child(4),
  .lva-changeover .travelspark-tours-index__topic:nth-child(7) {
    grid-column: span 4 !important;
  }

  .lva-changeover .travelspark-live-search__results {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .lva-changeover .travelspark-tours-index__article-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  .lva-changeover .editorial-prose :is(
    .tsva-graphic-box.travelspark-widget--graphic,
    .tsva-text-box.travelspark-widget--text
  ) {
	margin-inline: 0 !important;
	padding: 1.1rem !important;
  }

  .lva-changeover .editorial-prose .tsva-graphic-box.travelspark-widget--graphic {
    background-position: center !important;
    box-shadow: none !important;
    min-height: 21rem !important;
    padding-right: 1.1rem !important;
  }

  .lva-changeover .editorial-prose .tsva-graphic-box.travelspark-widget--graphic::before {
    border-right: 0;
    inset: 0;
    opacity: 0.93;
  }

  .lva-changeover .editorial-prose :is(
    .tsva-graphic-box.travelspark-widget--graphic,
    .tsva-text-box.travelspark-widget--text
  ) > .travelspark-widget__title {
    font-size: clamp(2rem, 11vw, 3rem) !important;
    max-width: none !important;
  }

  .lva-changeover .travelspark-tour-helper-callout {
	padding: 1.1rem !important;
  }

  .lva-changeover .travelspark-tour-helper--callout .travelspark-tour-helper-panel {
    box-shadow: none !important;
    height: auto !important;
    margin-top: 0.75rem !important;
    max-height: none !important;
    max-width: 100% !important;
    position: static !important;
    width: 100% !important;
  }

  /* The plugin emits this native mobile placement but its own stylesheet hides
   * it below 720px. Keep it present for the 390px route and preserve hidden-panel
   * state until the visitor opens the helper. */
  .lva-changeover .travelspark-tour-helper--sticky {
    align-items: flex-end !important;
    bottom: max(0.75rem, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    left: auto !important;
    margin: 0 !important;
    max-width: calc(100vw - 1.5rem) !important;
    pointer-events: none !important;
    right: 0.75rem !important;
    width: auto !important;
    z-index: 9400 !important;
  }

  body.tsva-exit-cta-visible.lva-changeover .travelspark-tour-helper--sticky:not(.is-open) {
    bottom: calc(max(0.75rem, env(safe-area-inset-bottom)) + var(--tsva-exit-cta-height, 190px) + 0.75rem) !important;
  }

  body.tsva-has-sticky.lva-changeover .travelspark-tour-helper--sticky:not(.is-open) {
    bottom: calc(max(0.75rem, env(safe-area-inset-bottom)) + 8.25rem) !important;
  }

  .lva-changeover .travelspark-tour-helper--sticky :is(
    .travelspark-tour-helper-trigger,
    .travelspark-tour-helper-panel
  ) {
    pointer-events: auto !important;
  }

  .lva-changeover .travelspark-tour-helper--sticky .travelspark-tour-helper-trigger {
    max-width: calc(100vw - 1.5rem) !important;
    min-width: 0 !important;
  }

  .lva-changeover .travelspark-tour-helper--sticky .travelspark-tour-helper-panel {
    bottom: 0 !important;
    height: auto !important;
    max-height: calc(100dvh - 1.5rem) !important;
    max-width: calc(100vw - 1.5rem) !important;
    position: absolute !important;
    right: 0 !important;
    width: calc(100vw - 1.5rem) !important;
  }

  .lva-changeover .travelspark-tour-helper-choices {
    grid-template-columns: 1fr !important;
  }

  .lva-changeover .travelspark-tour-helper-form {
    flex-direction: column !important;
  }

  .lva-changeover .travelspark-tour-helper-form button {
    width: 100% !important;
  }

  .lva-changeover .travelspark-tour-helper-messages {
    min-height: min(34vh, 15rem) !important;
  }

  .lva-changeover .travelspark-getyourguide-widget {
	max-width: 100% !important;
  }

  .lva-changeover .lva-provider-surface .travelspark-tours-index__hero {
    border-left: 0 !important;
    border-right: 0 !important;
  }

  .lva-changeover .lva-provider-surface .travelspark-tours-index__hero-copy :is(h1, h2) {
    font-size: clamp(2.8rem, 14vw, 4.25rem) !important;
  }

  .lva-changeover .travelspark-tours-index__actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .lva-changeover .travelspark-tours-index__actions > * {
    justify-content: center !important;
    width: 100% !important;
  }

  .lva-changeover .travelspark-tours-index__topic-grid,
  .lva-changeover :is(
    .travelspark-tours-index__detail-grid,
    .travelspark-tours-index__planning-grid,
    .travelspark-design-offers
  ) {
    grid-template-columns: 1fr !important;
  }

  .lva-changeover .travelspark-tours-index__topic:nth-child(n),
  .lva-changeover :is(
    .travelspark-tours-index__detail-card,
    .travelspark-tours-index__planning-grid > article,
    .travelspark-design-offers > article
  ):nth-child(n) {
    grid-column: 1 !important;
  }

  .lva-changeover .travelspark-live-search__form {
    grid-template-columns: 1fr !important;
  }

  .lva-changeover .travelspark-live-search__form button {
    border-top: 0 !important;
    width: 100% !important;
  }

  .lva-changeover .travelspark-live-search__body {
    grid-template-columns: 1fr !important;
  }

  .lva-changeover .travelspark-live-search__price-filter,
  .lva-changeover .travelspark-live-search__results {
    grid-template-columns: 1fr !important;
  }

  .lva-changeover .travelspark-live-search__toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .lva-changeover .travelspark-live-search__toolbar select {
    width: 100% !important;
  }

  .lva-changeover .travelspark-tours-index__article-card {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
  }

  .lva-changeover .travelspark-tours-index__article-image {
    aspect-ratio: 16 / 10 !important;
    border-bottom: 3px solid var(--lva-night) !important;
    border-right: 0 !important;
  }

  .lva-changeover .travelspark-tours-index__photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Final provider-specificity pass: remove the plugin's soft floating panels
 * while retaining the hard Changeover offset only on selected feature states. */
.lva-changeover .travelspark-surface.travelspark-surface--tours-index .travelspark-tours-index__section {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 3px solid var(--lva-night) !important;
  box-shadow: none !important;
}

.lva-changeover .travelspark-surface.travelspark-surface--tours-index .travelspark-tours-index__section.travelspark-tours-index__section--widget {
  background: var(--lva-ticket) !important;
  border: 3px solid var(--lva-night) !important;
  border-radius: 3.75rem 0 0 !important;
  box-shadow: 5px 5px 0 var(--lva-red) !important;
}

.lva-changeover .travelspark-surface.travelspark-surface--tours-index :is(
  .travelspark-tours-index__hero,
  .travelspark-tours-index-photo,
  .travelspark-live-search__compare,
  .travelspark-live-search__filters,
  .travelspark-live-search__recent,
  .travelspark-tours-index__article-card,
  .tsva-special-pill.travelspark-card__badge
) {
  box-shadow: none !important;
}

.lva-changeover .travelspark-surface.travelspark-surface--tours-index .travelspark-live-search__modal-panel {
  box-shadow: 5px 5px 0 var(--lva-red) !important;
}

.lva-changeover .travelspark-surface.travelspark-surface--tours-index .tsva-special-pill.travelspark-card__badge {
  border-radius: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  .site-index,
  .site-footer,
  .poster-hero__actions,
  .newsletter-chapter,
  .article-rail,
  .related-guides {
    display: none !important;
  }

  .site-shell {
    display: block;
  }

  body {
    background: var(--lva-ticket);
    color: var(--lva-night);
    font-size: 11pt;
  }

  a {
    color: var(--lva-night);
  }
}
