:root {
  --interior-text: #fff2cf;
  --interior-control: #21160d;
  --interior-control-border: #d7a94b;
}

body :is(
  #hoppy-interior-controls,
  button,
  input[type="button"], input[type="submit"], input[type="reset"],
  select, summary, a.button, a.trail-button, [role="button"],
  .locale-selector a, .skip-link, .battle-kit-link,
  .battle-card-purchase, .advertising-jump a, .merch-coming-soon
) {
  color: var(--interior-text) !important;
  background-color: var(--interior-control) !important;
  background-image: none !important;
  border-color: var(--interior-control-border) !important;
}

body :is(
  #hoppy-interior-fields,
  input:not([type="checkbox"]):not([type="radio"]), textarea, option
) {
  color: var(--interior-text) !important;
  background-color: var(--interior-control) !important;
}

body :is(button, [role="button"], .button, .trail-button).is-selected,
body :is(button, [role="button"], .button, .trail-button)[aria-pressed="true"],
body :is(button, [role="button"], .button, .trail-button)[aria-current="page"] {
  outline: 3px solid #9abf3c;
  outline-offset: 2px;
}

body input::file-selector-button {
  color: var(--interior-text) !important;
  background: var(--interior-control) !important;
  border-color: var(--interior-control-border) !important;
}

body :is(
  #hoppy-interior-surfaces,
  .search-panel, .sponsor-slot, .brewery-card, .type-chip,
  .editorial-callout, .checkout-card, .process-grid li,
  .gallery-card, .bundle-card, .rates,
  .travel-guide-hero, .guide-controls, .guide-intake, .guide-disclosure,
  .guide-loading, .guide-error, .state-card, .state-panel, .guide-listing
) {
  color: var(--interior-text) !important;
  background-color: var(--interior-control) !important;
  background-image: none !important;
}

body,
body :is(
  #hoppy-interior-text,
  h1, h2, h3, h4, h5, h6,
  p, a, button, input, select, textarea, label, summary, option,
  span:not(.battle-star-option span), small, strong, em, b, i, li, dt, dd, th, td, caption,
  address, time, figcaption, legend
) {
  color: var(--interior-text) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

body.interior-photo-bg main :is(#hoppy-interior-text, p, li, label):not(:where(
  #hoppy-interior-surfaces, #hoppy-interior-surfaces *,
  .search-panel, .search-panel *,
  .sponsor-slot, .sponsor-slot *,
  .brewery-card, .brewery-card *,
  .type-chip, .type-chip *,
  .editorial-callout, .editorial-callout *,
  .checkout-card, .checkout-card *,
  .process-grid li, .process-grid li *,
  .gallery-card, .gallery-card *,
  .bundle-card, .bundle-card *,
  .rates, .rates *,
  .travel-guide-hero, .travel-guide-hero *,
  .guide-controls, .guide-controls *,
  .guide-intake, .guide-intake *,
  .guide-disclosure, .guide-disclosure *,
  .guide-loading, .guide-loading *,
  .guide-error, .guide-error *,
  .state-card, .state-card *,
  .state-panel, .state-panel *,
  .guide-listing, .guide-listing *,
  button, button *,
  input, input *,
  select, select *,
  textarea, textarea *,
  a.button, a.button *,
  a.trail-button, a.trail-button *,
  [role="button"], [role="button"] *
)) {
  color: var(--interior-text) !important;
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .72) !important;
}

body :is(#hoppy-interior-text, input, textarea)::placeholder {
  color: var(--interior-text) !important;
  opacity: 1;
}

body svg text {
  fill: var(--interior-text) !important;
  stroke: none !important;
}
