/* IRS Auctions - Main Stylesheet */
/* Extracted from live site: www.irsauctions.gov */
/* Based on USWDS (U.S. Web Design System) */

/* ============================================
   CSS Custom Properties (Design Tokens)
   Exact values from live site
   ============================================ */
:root {
  /* Colors - exact hex values from live site */
  --color-primary: #005ea2;
  --color-primary-dark: #1a4480;
  --color-nav-dark: #002d62;  /* Main nav background from live site */
  --color-primary-darker: #162e51;
  --color-irs-blue: #00599c;
  --color-secondary: #d83933;
  --color-accent-cool: #00bde3;
  --color-accent-warm: #fa9441;
  --color-base-lightest: #f0f0f0;
  --color-base-lighter: #dfe1e2;
  --color-base-light: #a9aeb1;
  --color-base: #71767a;
  --color-base-dark: #565c65;
  --color-base-darker: #3d4551;
  --color-base-darkest: #1b1b1b;
  --color-ink: #1b1b1b;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-emergency: #b50909;
  --color-warning: #ffbe2e;
  --color-success: #00a91c;
  --color-info: #00bde3;
  --color-link: #00599c;
  --color-card-border: #d6d7d9;
  --color-footer-primary-bg: #f3f3f3;
  --color-footer-secondary-bg: #1b1b1b;

  /* Additional colors from live site */
  --gold: #c7a97b;
  --white: #ffffff;
  --gray-darkest: #1b1b1b;
  --gray-dark: #5b616b;
  --gray-light: #d6d7d9;
  --gray-lighter: #f3f3f3;
  --gray-lightest: #f9f9f9;
  --blue-vivid: #2491ff;
  --blue-dark: #002d62;
  --blue-darkest: #002346;
  --blue-lightest: #e4f3fb;
  --purple: #6e41a0;
  --teal: #087591;
  --teal-lightest: #e7f6f8;
  --green: #2e8540;
  --green-lightest: #ecf8ed;
  --yellow: #fdb81e;
  --yellow-lightest: #fff4dd;
  --red: #d11242;
  --red-lightest: #faf0f0;

  /* Typography - exact from live site */
  --font-sans: "Source Sans Pro Web", "Source Sans Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  --font-serif: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;

  /* Spacing tokens */
  --spacing-05: 4px;
  --spacing-1: 8px;
  --spacing-105: 12px;
  --spacing-2: 16px;
  --spacing-205: 20px;
  --spacing-3: 24px;
  --spacing-4: 32px;
  --spacing-5: 40px;
  --spacing-6: 48px;
  --spacing-7: 56px;
  --spacing-8: 64px;

  /* Grid - matches header width */
  --grid-container-max-width: 1352px;
  --grid-container-padding: 32px;
  --grid-row-gap: 24px;

  /* Border radius - squared corners to match live site */
  --border-radius: 0;
  --theme-border-radius-lg: 0;
  --theme-border-radius-md: 0;
  --theme-border-radius-sm: 0;

  /* Search kit site token contract */
  --site-text-color: var(--color-ink);
  --site-muted-color: var(--gray-dark);
  --site-link-color: var(--color-primary);
  --site-link-hover-color: var(--color-primary-dark);
  --site-focus-color: var(--blue-vivid);
  --site-border-color: var(--color-base-lighter);
  --site-input-border-color: var(--color-base-dark);
  --site-surface-color: var(--color-white);
  --site-surface-muted-color: var(--gray-lighter);
  --site-button-text-color: var(--color-white);
  --site-pill-bg-color: var(--gray-lighter);
  --site-pill-color: var(--gray-dark);
  --site-url-color: var(--green);
  --site-related-bg-color: var(--blue-lightest);
  --site-related-border-color: var(--color-base-lighter);
  --site-error-color: var(--color-emergency);
  --site-error-bg-color: var(--red-lightest);
}

/* ============================================
   Global Border Radius Override
   Square corners to match live site
   ============================================ */
.usa-card,
.usa-card__container,
.usa-card__header,
.usa-card__body,
.usa-card__footer,
.usa-card__media,
.usa-card__img,
.usa-input,
.usa-select,
.usa-textarea,
.usa-search,
.usa-search__input,
.usa-search__submit,
.usa-accordion__button,
.usa-accordion__content,
.usa-alert,
.usa-banner__button,
.usa-modal,
.usa-modal__content,
.usa-tooltip,
input,
select,
textarea,
.block,
.field,
img {
  border-radius: 0 !important;
}

/* ============================================
   Base Reset & Typography
   Exact values from live site
   ============================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

body {
  margin: 0;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: rgb(27, 27, 27);
  background-color: var(--color-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: var(--font-sans);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-ink);
}

h1 {
  font-size: 2.5rem;
  line-height: 1.2;
}

h2 {
  font-size: 1.95rem;
  line-height: 1.2;
  margin: 1.5rem 0;
}

h3 {
  font-size: 1.34rem;
  line-height: 1.2;
}

h4 {
  font-size: 1.06rem;
  line-height: 1.5;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.06rem;
  line-height: 1.5;
}

a {
  color: rgb(0, 89, 156);
  text-decoration: underline;
}

a:hover {
  color: var(--color-primary-dark);
  text-decoration: underline;
}

a:visited {
  color: #54278f;
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

/* ============================================
   Utility Classes
   ============================================ */
.usa-sr-only,
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.visually-hidden.focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.skip-link:focus {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  padding: 8px 16px;
  background: var(--color-white);
  color: var(--color-link);
  text-decoration: underline;
}

.hidden {
  display: none !important;
}

.display-none { display: none; }
.display-block { display: block; }
.display-flex { display: flex; }

/* Override display-flex for ad-tabs specifically */
#ad-tabs.display-flex,
section#ad-tabs.display-flex,
.ad-tabs.display-flex {
  display: block !important;
}

.flex-align-center { align-items: center; }
.flex-justify { justify-content: space-between; }
.flex-justify-end { justify-content: flex-end; }
.flex-wrap { flex-wrap: wrap; }

.margin-0 { margin: 0; }
.margin-x-0 { margin-left: 0; margin-right: 0; }
.margin-y-0 { margin-top: 0; margin-bottom: 0; }
.margin-y-05 { margin-top: 4px; margin-bottom: 4px; }
.margin-y-1 { margin-top: 8px; margin-bottom: 8px; }
.margin-top-2 { margin-top: 16px; }
.margin-top-8 { margin-top: 64px; }
.margin-bottom-1 { margin-bottom: 8px; }
.margin-bottom-5 { margin-bottom: 40px; }
.margin-x-neg-1 { margin-left: -8px; margin-right: -8px; }

.padding-x-05 { padding-left: 4px; padding-right: 4px; }
.padding-x-6 { padding-left: 3rem; padding-right: 3rem; }
.padding-y-3 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.measure-6 { max-width: 88ex; }

@media (min-width: 40em) {
  .tablet\:margin-x-2 {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}

.add-list-reset {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ============================================
   Grid System - Exact from live site
   ============================================ */
.grid-container {
  max-width: var(--grid-container-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--grid-container-padding);
  padding-right: var(--grid-container-padding);
}

.grid-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -12px;
  margin-right: -12px;
}

.grid-row > * {
  padding-left: 12px;
  padding-right: 12px;
}

.grid-gap {
  gap: 24px;
}

/* Fix for ad page two-column layout */
.node--type-ad section.grid-row.grid-gap {
  gap: 0;
}

.grid-gap-lg {
  gap: 24px;
}

.grid-gap-4 {
  gap: 32px;
}

.grid-col-auto { flex: 0 0 auto; }
.grid-col-fill { flex: 1 1 0%; }

/* ============================================
   USA Banner (Government Banner)
   Matching home.treasury.gov style
   ============================================ */
.usa-banner {
  background: #f0f0f0;
  font-size: 0.8125rem;
  line-height: 1.3;
  border-bottom: 1px solid #ddd;
}

.usa-banner__inner {
  max-width: var(--grid-container-max-width);
  margin: 0 auto;
  padding: 0 var(--grid-container-padding);
}

.usa-banner__header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0;
  gap: 0.5rem;
}

.usa-banner__flag {
  width: 16px;
  height: 11px;
}

.usa-banner__text {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.1;
  color: #1b1b1b;
}

.usa-banner__button {
  background: none;
  border: none;
  color: #005ea2;
  font-size: 0.75rem;
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  white-space: nowrap;
}

.usa-banner__button:hover {
  color: #1a4480;
}

.usa-banner__button:focus {
  outline: 2px solid #005ea2;
  outline-offset: 2px;
}

.usa-banner__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  padding: 1.5rem 0;
  background: transparent;
}

.usa-banner__content[hidden] {
  display: none;
  visibility: hidden;
}

.usa-banner__guidance {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.usa-banner__icon-large {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.usa-banner__icon-large img {
  width: 40px;
  height: 40px;
}

.usa-banner__guidance-text p {
  margin: 0 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #1b1b1b;
}

.usa-banner__guidance-text p:first-child {
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* ============================================
   Header - Exact from live site
   ============================================ */
.usa-header {
  background-color: var(--color-irs-blue);
  border-bottom: none;
}

.usa-header--extended .grid-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--grid-container-max-width);
  height: auto;
  min-height: 60px;
  margin: 0 auto;
  padding: 12px var(--grid-container-padding);
}

.region-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.treas-header__logo {
  width: 104px;
  height: 36.31px;
}

.treas-header__title {
  text-decoration: none;
}

.menu--header-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu--header-menu a {
  color: var(--color-white);
  text-decoration: underline;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 700;
}

.menu--header-menu a:hover {
  text-decoration: underline;
  color: var(--color-white);
}

.menu--header-menu a:visited {
  color: var(--color-white);
  text-decoration: underline;
}

.mobile-toggle {
  display: none;
}

.mobile-toggle ul {
  gap: 8px;
}

.mobile-toggle button {
  background: transparent;
  color: var(--color-white);
  border: 1px solid var(--color-white);
  padding: 8px 16px;
  cursor: pointer;
  font-weight: 700;
}

.mobile-toggle button:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* ============================================
   Mobile Search (Megamenu Search)
   ============================================ */
.megamenu-search {
  display: none;
  background: var(--color-base-lighter);
  padding: 16px;
}

.megamenu-search[aria-expanded="true"] {
  display: block;
}

/* ============================================
   Main Navigation - Exact from live site
   ============================================ */
.treas-main-nav {
  background-color: var(--color-nav-dark);  /* #002d62 - exact from live site */
}

.treas-main-nav .grid-container {
  height: auto;
  min-height: 44px;
}

.usa-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: auto;
  min-height: 44px;
}

.usa-nav__primary {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.usa-nav__primary-item {
  position: relative;
}

/* Align first nav item with content */
.usa-nav__primary-item:first-child .usa-nav__link {
  margin-left: 90px;
}

.usa-nav__link,
.usa-nav__primary a,
.usa-nav__primary > .usa-nav__primary-item > a {
  display: block;
  font-weight: 500 !important;
  letter-spacing: 0.03rem !important;
  line-height: 31px !important;
  padding: 0.5rem 1rem !important;
  position: relative;
  text-decoration: none;
  color: var(--color-white);
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1rem !important;
}

.usa-nav__link span {
  font-weight: 500 !important;
}


.usa-nav__link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--color-white);
  text-decoration: none;
}

.usa-nav__link:visited {
  color: var(--color-white);
  text-decoration: none;
}

.nav.secondary {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
  margin-right: 305px;
  min-width: 150px;
}

.usa-nav__secondary-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.usa-nav__secondary-item a {
  color: var(--color-white);
  text-decoration: underline;
  font-size: 0.875rem;
  font-weight: 400;
  font-family: var(--font-sans);
}

.usa-nav__secondary-item a:hover {
  text-decoration: underline;
}

/* ============================================
   Search Form
   ============================================ */
.usa-search {
  display: flex;
}

.usa-search--small {
  max-width: 50%;
}

.usa-search [role="search"] {
  display: flex;
  width: 100%;
}

.usa-search .usa-input {
  flex: 1;
  border: 1px solid #d6d7d9;
  border-right: 0;
  padding: 8px 24px 8px 8px;
  font-size: 1rem;
  height: 32px;
  font-family: var(--font-sans);
  min-width: 250px;
}

.usa-search input[type="search"] {
  border-color: var(--gray-light) !important;
  max-width: 100% !important;
  width: 100% !important;
}

.usa-search .usa-button {
  background-color: var(--color-white);
  border: 1px solid #d6d7d9;
  border-radius: 0 4px 4px 0;
  padding: 0 12px;
  cursor: pointer;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 0;
}

.usa-search .usa-button:hover {
  background-color: var(--color-white);
}

.usa-search__submit-icon {
  width: 24px;
  height: 24px;
  display: block;
}

/* ============================================
   Hero Section
   ============================================ */
.block.hero {
  background-position: 50% 25%;
  background-size: cover;
  height: 22vh;
}

.path-frontpage .block.hero {
  background-position: 50% 25%;
  height: 32vh;
}

.hero.treas-hero--image {
  background-size: cover;
  background-position: 50% 25%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero .content,
.block.hero .content {
  display: grid;
  height: 100%;
  position: relative;
  z-index: 222;
}

.hero .content .grid-row {
  width: 100%;
}

.hero .alpha {
  background-color: rgba(255, 255, 255, 0.5);
  color: var(--color-ink);
  position: relative;
  font-size: 1.3125rem;
}

.block.hero .alpha::before {
  border-left: 3px solid var(--gold);
  border-top: 3px solid var(--gold);
  content: " ";
  height: 35px;
  position: absolute;
  left: -10px;
  top: -10px;
  width: 35px;
}

.block.hero .alpha::after {
  border-right: 3px solid var(--gold);
  border-bottom: 3px solid var(--gold);
  content: " ";
  height: 35px;
  position: absolute;
  right: -10px;
  bottom: -10px;
  width: 35px;
}

@media (min-width: 40em) {
  .block.hero .alpha::before {
    left: -18px;
    top: -15px;
  }
  .block.hero .alpha::after {
    right: -18px;
    bottom: -15px;
  }
}

.block.hero .field--name-field-quote-text,
.block.hero .field--name-field-subtitle {
  font-size: 1.5rem;
}

.hero .field--name-field-quote-text {
  font-family: var(--font-sans);
  line-height: 1.4;
  margin-bottom: 4px;
  color: var(--color-ink);
}

.block.hero .field--name-field-quote-text::before {
  content: "\201C";
  line-height: 0;
  vertical-align: middle;
  margin-right: 5px;
  position: static;
}

.block.hero .field--name-field-quote-text::after {
  content: "\201D";
  line-height: 0;
  vertical-align: middle;
  margin-left: 8px;
  margin-top: 3px;
  position: relative;
  top: 30px;
  left: 110px;
}

.block.hero .field--name-field-quote-attribution {
  font-family: var(--font-sans);
  font-style: italic;
  font-weight: 400;
  font-size: 1.125rem;
  color: var(--color-ink);
  margin-left: 70px !important;
  margin-top: 0;
}

/* ============================================
   Subscribe Banner
   ============================================ */
.region.region-subscribe {
  background-color: #f3f3f3;
  padding: 0;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  border-top: 0;
}

.region-subscribe .subscribe.email {
  display: block;
  width: 100%;
}

.region-subscribe .subscribe.email .grid-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  height: 115px;
  gap: 0;
}

.region-subscribe .subscribe.email .field--name-body {
  flex: 0 0 50% !important;
  max-width: 50%;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  padding: 0 8px;
  margin: 0;
}

.region-subscribe .subscribe.email .field--name-body span {
  font-size: 1.1rem;
  font-weight: 500;
  color: #1b1b1b;
  font-family: var(--font-sans);
  margin: 0;
  line-height: 1.5;
}

/* Subscribe link area */
.region-subscribe .subscribe.email .field--name-field-action-link {
  flex: 0 0 50% !important;
  max-width: 50%;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  padding: 0 24px;
}

.subscribe.email .field--name-field-action-link a,
.subscribe.email .field--name-field-action-link a:link,
.subscribe.email .field--name-field-action-link a:visited {
  background-color: transparent;
  border: none;
  border-radius: 0;
  color: #ffffff;
  text-decoration: none;
  padding-left: 96px;
  font-size: 2rem;
  font-weight: 700;
  font-family: var(--font-sans);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.subscribe.email .field--name-field-action-link a:hover {
  text-decoration: underline;
}

/* External link icon */
.subscribe.email .field--name-field-action-link svg.ext {
  fill: #ffffff;
  width: 20px;
  height: 10px;
  flex-shrink: 0;
}

/* Mail icon */
.subscribe.email .field--name-field-action-link svg.mail-icon {
  width: 32px;
  height: 32px;
  stroke: #ffffff;
  fill: none;
  flex-shrink: 0;
  margin-left: 45px;
}

/* ============================================
   Buttons - Exact from live site
   ============================================ */
.usa-button {
  display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
  border: 0;
  border-radius: 4px;
  padding: 12px 20px;
  font-family: var(--font-sans);
  font-size: 1.06rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  text-align: center;
  line-height: 0.9;
}

.usa-button:hover {
  background-color: var(--color-primary-dark);
  color: var(--color-white);
}

.usa-button:visited {
  color: var(--color-white);
}

.usa-button--outline {
  background-color: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  font-weight: 400;
}

.usa-button--outline:hover {
  background-color: rgba(0, 94, 162, 0.1);
  color: var(--color-primary);
}

.usa-button--outline:visited {
  color: var(--color-primary);
}

.usa-button--outline a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 400;
}

/* Upcoming auctions footer - button on right */
.auctions.front.upcoming footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

/* Button containing link - make link inherit button styles */
.usa-button a {
  color: inherit;
  text-decoration: none;
}

.usa-button a:visited {
  color: inherit;
}

/* ============================================
   Cards - Exact from live site
   ============================================ */
.usa-card {
  margin-bottom: 0;
}

.usa-card__container {
  background-color: var(--color-white);
  border: 2px solid #dfe1e2;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.06rem;
  line-height: 1.5;
  justify-content: space-between;
  height: 100%;
  box-shadow: none;
  position: relative;
}

.wrap-card {
  padding: 0;
}

.wrap-card.usa-card__container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.usa-card__header {
  padding: 1.5rem 1.5rem 0.5rem;
  position: relative;
}

.usa-card__header:last-child {
  padding-bottom: 1.5rem;
}

.usa-card__heading {
  font-family: var(--font-sans);
  font-size: 1.34rem;
  line-height: 1.2;
  font-weight: 700;
  margin: 0;
  color: var(--color-ink);
  line-height: 1.2;
}

.usa-card__body {
  padding: 8px 24px 8px;
  flex: 1;
  font-size: 1.06rem;
  line-height: 1.5;
}

.usa-card__body p {
  margin: 0;
  color: var(--color-ink);
  line-height: 1.5;
  font-size: 1.06rem;
}

.usa-card__footer {
  padding: 0 24px 24px;
  border-top: none;
}

.usa-card__footer a {
  color: var(--color-link);
  font-weight: 400;
  font-size: 1.06rem;
  text-decoration: underline;
}

.usa-card__footer a:hover {
  text-decoration: underline;
}


.usa-card__media {
  padding: 0;
}

.usa-card__media img {
  width: 100%;
  height: auto;
  display: block;
}

/* ============================================
   USA Tag - Updated badge
   ============================================ */
.usa-tag {
  background-color: #565c65;
  color: #fff;
  font-size: 0.93rem;
  font-weight: 400;
  padding: 2px 8px;
  text-transform: uppercase;
  border-radius: 2px;
  font-family: var(--font-sans);
}

.usa-tag.position-absolute.updated {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: #E41D3D;
  font-weight: 700;
}

/* ============================================
   Auction Cards - Exact from live site
   ============================================ */
.irs-ad.usa-card__container {
  border: 2px solid var(--color-card-border);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Reorder card elements: image first, then title */
.irs-ad .usa-card__header {
  order: 2;
  padding: 24px 24px 16px 24px;
  background-color: var(--color-white);
}

.irs-ad .usa-card__media {
  order: 1;
  overflow: hidden;
}

.irs-ad .usa-card__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 700 / 410;
  object-fit: cover;
}

.irs-ad .usa-card__body {
  order: 3;
  padding: 0 24px 16px 24px;
  flex: 1;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 0.94rem;
}

.irs-ad .usa-card__footer {
  order: 4;
}

.irs-ad .usa-card__heading {
  font-size: 1.34rem;
  line-height: 1.4;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
}

.irs-ad .usa-card__heading a,
.irs-ad .usa-card__heading a .treas-page-title {
  color: #00599c !important;
  text-decoration: underline;
}

.irs-ad .usa-card__heading a:hover,
.irs-ad .usa-card__heading a:hover .treas-page-title {
  color: #1a4480 !important;
  text-decoration: underline;
}

.irs-ad .usa-card__heading a:visited,
.irs-ad .usa-card__heading a:visited .treas-page-title {
  color: #00599c !important;
}

.irs-ad .usa-card__body time {
  font-weight: 400;
  color: var(--color-ink);
  font-size: 1.06rem;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

.irs-ad .usa-card__body address {
  margin-top: 4px;
  color: var(--color-ink);
  font-style: normal;
  font-weight: 400;
  font-size: 1.06rem;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

.irs-ad .usa-card__footer {
  background-color: transparent;
  padding-bottom: 24px;
  padding-top: 8px;
  padding-left: 24px;
  padding-right: 24px;
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-start !important;
}

@media (min-width: 40em) {
  article:not(.external-sale).irs-ad .usa-card__footer {
    flex-direction: row !important;
  }
  article.irs-ad .usa-card__footer.no-min-bid {
    flex-direction: row !important;
    justify-content: flex-start !important;
  }
}

@media (min-width: 64em) {
  .irs-ad .usa-card__footer {
    min-height: 82px;
    justify-content: flex-start !important;
  }
}

/* Button on the left, consistent size and position */
.irs-ad .usa-card__footer .usa-button {
  order: 1 !important;
  width: 120px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  padding: 10px 16px !important;
  font-size: 0.875rem !important;
  margin: 0 !important;
  text-align: center;
  box-sizing: border-box;
  flex-shrink: 0;
}

.irs-ad.external-sale .usa-card__footer .usa-button {
  min-width: 160px !important;
  max-width: 160px !important;
}

.usa-card__footer.no-min-bid {
  justify-content: flex-start !important;
}

/* Ensure footer has consistent height and alignment */
.irs-ad .usa-card__footer {
  min-height: 60px;
  align-items: center !important;
}

.irs-ad .usa-card__footer .usa-button a {
  color: var(--color-white);
  text-decoration: none;
  font-size: 1.1rem;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
}

.irs-ad .usa-card__footer .usa-button a svg.ext {
  fill: var(--color-white);
}

/* Minimum Bid on the right, inline with button */
.irs-ad .usa-card__footer .field--name-field-minimum-bid {
  order: 2 !important;
  margin-left: auto !important;
  margin-top: 0 !important;
  text-align: right;
  flex-shrink: 0;
}

.irs-ad .usa-card__footer .field--name-field-minimum-bid .title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-ink);
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

.irs-ad .usa-card__footer .field--name-field-minimum-bid .field__item {
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--color-ink);
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

/* Footer layout on desktop */
@media (min-width: 1024px) {
  .irs-ad .usa-card__footer {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }

  .irs-ad .usa-card__footer .usa-button {
    margin-top: 0;
  }
}

.schedule {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23565c65'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM9 10H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm-8 4H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* ============================================
   Main Content Area - Exact from live site
   ============================================ */
.main-content {
  padding: 32px 0;
  background-color: var(--color-white);
}

.usa-section {
  padding: 32px 0;
}

.usa-layout-docs__main {
  max-width: 100%;
}

/* ============================================
   Views / Listings
   ============================================ */
.views-element-container h2 {
  font-family: var(--font-sans);
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-ink);
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 16px;
  margin-top: 0;
}

/* Item list for auction cards */
.item-list {
  display: block;
  width: 100%;
}

.item-list > ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.item-list > ul.grid-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
}

.item-list > ul.grid-gap {
  gap: 16px;
}

.item-list > ul > li,
.item-list > ul > li.margin-y-1 {
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  box-sizing: border-box;
}

.item-list > ul > li .irs-ad {
  width: 100%;
  height: 100%;
  margin: 0;
}

.item-list {
  margin: 0;
  padding: 0;
}

/* Upcoming auctions cards - equal height horizontal layout */
@media (min-width: 640px) {
  .item-list > ul > li.tablet\:grid-col-6 {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
  .item-list > ul > li.tablet\:grid-col-4 {
    flex: 0 0 calc(33.333% - 11px);
    max-width: calc(33.333% - 11px);
  }
}

@media (min-width: 1024px) {
  .item-list > ul > li.desktop\:grid-col-4 {
    flex: 0 0 calc(33.333% - 11px);
    max-width: calc(33.333% - 11px);
  }
}

/* ============================================
   Footer - Exact from live site
   ============================================ */
.usa-footer {
  background-color: transparent;
}

.usa-footer--big {
  font-size: 1.06rem;  /* Exact from live site */
}

.usa-footer__return-to-top {
  padding: 16px 0;
  text-align: left;
}

.usa-footer__return-to-top a {
  color: var(--color-link);
  text-decoration: underline;
}

.usa-footer__return-to-top a:hover {
  text-decoration: underline;
}

.usa-footer__primary-section {
  padding: 0;
  border-top: 5px solid #1b1b1b;
  background-color: var(--color-footer-primary-bg);
}

.usa-footer__nav {
  width: 100%;
  padding: 32px 0;
}

.usa-footer__nav .grid-row {
  display: flex;
  flex-wrap: wrap;
}

.usa-footer__nav .grid-row.grid-gap-4 {
  gap: 32px;
}

/* Footer columns - horizontal layout */
.usa-footer__nav .grid-row > div {
  flex: 1;
  min-width: 200px;
}

@media (min-width: 1024px) {
  .usa-footer__nav .grid-row > div.desktop\:grid-col {
    flex: 1 1 0;
    max-width: 25%;
  }
}

.usa-footer__primary-content {
  margin-bottom: 0;
}

.usa-footer__primary-link {
  display: block;
  font-weight: 700;
  font-size: 1.06rem;
  color: var(--color-ink);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: none;
  text-decoration: none;
}

.usa-footer__secondary-link {
  margin-bottom: 8px;
}

.usa-footer__secondary-link a {
  color: var(--color-ink);
  text-decoration: none;
  font-size: 14.88px;
}

.usa-footer__secondary-link a:hover {
  color: var(--color-link);
  text-decoration: underline;
}

.usa-list--unstyled {
  list-style: none;
  padding: 0;
  margin: 0;
}

.usa-footer__secondary-section {
  background-color: var(--color-footer-secondary-bg);
  color: var(--color-white);
  padding: 10px 0;
}

.region-footer-secondary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
}

.region-footer-secondary .logo {
  order: 1;
}

.region-footer-secondary .post.footer {
  order: 2;
  margin-left: auto;
}

.usa-footer__secondary-section .logo img {
  height: 48px;
  width: auto;
}

.menu--post-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.menu--post-footer a {
  color: var(--color-white);
  text-decoration: none;
}

.menu--post-footer a:hover {
  text-decoration: underline;
}

.menu--post-footer a:visited {
  color: var(--color-white);
  text-decoration: none;
}

/* ============================================
   Layout Classes
   ============================================ */
.layout--homepage-layout {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.layout--homepage-layout > .grid-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.layout--homepage-layout > .grid-row.grid-gap {
  gap: 0;
}

.layout__region {
  padding: 0;
  margin-bottom: 0;
  flex: 0 0 100%;
  max-width: 100%;
}

/* CTA cards layout regions need flex for equal height */
.layout--homepage-layout .layout__region {
  display: flex;
}

.layout--homepage-layout .layout__region .block {
  width: 100%;
  display: flex;
}

.layout__region .usa-card__container,
.layout__region .wrap-card.usa-card__container {
  height: 100%;
  width: 100%;
}

/* CTA Cards - Equal height horizontal layout matching auction cards */
.layout--homepage-layout .layout__region {
  padding: 8px;
}

@media (min-width: 640px) {
  .layout--homepage-layout > .grid-row.grid-gap {
    gap: 0;
  }

  .layout--homepage-layout .layout__region.tablet\:grid-col-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    padding: 0 8px;
  }

  .layout--homepage-layout .layout__region.tablet\:grid-col-4:first-child {
    padding-left: 0;
  }

  .layout--homepage-layout .layout__region.tablet\:grid-col-4:last-child {
    padding-right: 0;
  }
}

/* One column layout */
.layout--onecol {
  max-width: 100%;
  display: block;
}

.layout--onecol .layout__region--content {
  width: 100%;
  display: block;
}

.layout--onecol .layout__region--content .block {
  display: block;
}

.views-element-container {
  display: block;
}

.auctions.front.upcoming {
  display: block;
  width: 100%;
}

/* Homepage Upcoming Auctions - match CTA card spacing */
.auctions.front.upcoming .item-list > ul {
  margin: 0 !important;
  gap: 0 !important;
}

.auctions.front.upcoming .item-list > ul > li {
  padding: 8px !important;
  margin: 0 !important;
}

@media (min-width: 640px) {
  .auctions.front.upcoming .item-list > ul > li.tablet\:grid-col-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    padding: 0 8px !important;
  }

  .auctions.front.upcoming .item-list > ul > li:first-child {
    padding-left: 0 !important;
  }

  .auctions.front.upcoming .item-list > ul > li:last-child {
    padding-right: 0 !important;
  }
}

/* ============================================
   Responsive Breakpoints
   ============================================ */

/* Tablet and up */
@media (min-width: 640px) {
  .tablet\:grid-col-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }

  .tablet\:grid-col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .tablet\:grid-col-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .tablet\:grid-col-auto {
    flex: 0 0 auto;
  }

  .tablet\:margin-x-0 {
    margin-left: 0;
    margin-right: 0;
  }

  .tablet\:margin-x-2 {
    margin-left: 16px;
    margin-right: 16px;
  }

  .tablet\:margin-x-neg-1 {
    margin-left: -8px;
    margin-right: -8px;
  }

  .tablet\:margin-y-0 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .tablet\:display-flex {
    display: flex;
  }

  .usa-banner__button-text {
    display: inline;
  }

  .usa-banner__header-action {
    display: none;
  }
}

/* Desktop and up */
@media (min-width: 1024px) {
  .desktop\:display-block {
    display: block;
  }

  .desktop\:display-none {
    display: none;
  }

  .desktop\:display-flex {
    display: flex;
  }

  .desktop\:grid-col {
    flex: 1;
  }

  .desktop\:grid-col-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }

  .desktop\:grid-col-7 {
    flex: 0 0 58.333%;
    max-width: 58.333%;
  }

  .desktop\:grid-col-fill {
    flex: 1 1 0%;
  }

  .desktop\:flex-justify {
    justify-content: space-between;
  }

  .desktop\:margin-top-0 {
    margin-top: 0;
  }

  .mobile-toggle {
    display: none;
  }

  .header.menu {
    display: block;
  }
}

/* Mobile-lg and up */
@media (min-width: 480px) {
  .mobile-lg\:grid-col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* Mobile only */
@media (max-width: 639px) {
  .hero .field--name-field-quote-text {
    font-size: 1.25rem;
  }

  .hero .alpha {
    padding: 24px;
  }

  .region-subscribe .subscribe.email .grid-container {
    flex-direction: row !important;
    text-align: left;
  }

  .region-subscribe .subscribe.email .field--name-body,
  .region-subscribe .subscribe.email .field--name-field-action-link {
    flex: 0 0 50% !important;
    max-width: 50%;
  }

  .region-footer-secondary {
    flex-direction: column;
    text-align: center;
  }

  .layout__region {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 1023px) {
  .display-none {
    display: none;
  }

  .mobile-toggle {
    display: block;
  }

  .usa-nav__inner {
    flex-direction: column;
    align-items: stretch;
  }

  .usa-nav__primary {
    flex-direction: column;
  }

  .nav.secondary {
    flex-direction: column;
    padding: 16px 0;
  }

  .header.menu {
    display: none;
  }
}

/* ============================================
   Overlay for Mobile Menu
   ============================================ */
.usa-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 400;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}

.usa-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

/* ============================================
   Sidebar Navigation
   ============================================ */
.usa-sidenav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.usa-sidenav__item {
  border-top: 1px solid var(--color-base-lighter);
}

.usa-sidenav__item:last-child {
  border-bottom: 1px solid var(--color-base-lighter);
}

.usa-sidenav__item a {
  display: block;
  padding: 8px 0;
  color: var(--color-link);
  text-decoration: underline;
  font-size: 1.06rem;
}

.usa-sidenav__item a:hover {
  background-color: var(--color-base-lightest);
  color: var(--color-primary-dark);
}

.usa-sidenav__item a.usa-current {
  font-weight: 700;
  color: var(--color-primary-dark);
  background-color: var(--color-base-lightest);
}

/* Sidebar Layout for info pages only */
.grid-row.has-sidebar {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 24px;
}

.grid-row.has-sidebar .usa-layout-docs__sidenav {
  order: -1;
  width: 100%;
}

.grid-row.has-sidebar .usa-layout-docs__sidenav .usa-sidenav {
  width: 100%;
}

.grid-row.has-sidebar .usa-layout-docs__sidenav {
  padding-top: 40px;
}

.grid-row.has-sidebar .usa-layout-docs__main {
  width: 100%;
  padding-top: 40px;
}

@media (min-width: 64em) {
  .grid-row.has-sidebar {
    grid-template-columns: 285px 1fr;
    gap: 0;
  }

  .grid-row.has-sidebar .usa-layout-docs__sidenav {
    order: 0;
  }
}

/* ============================================
   Upcoming Auctions Page
   ============================================ */
.block-views-blockauction-items-block-1 {
  padding-top: 72px;
}

/* ============================================
   Form Elements
   ============================================ */
.usa-form {
  max-width: 100%;
}

.views-exposed-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 4px;
  margin-bottom: 24px;
  padding: 0;
  background-color: transparent;
  border-radius: 0;
  align-items: flex-end;
}

.views-exposed-form .form-item {
  flex: 0 0 auto;
  min-width: 220px;
  max-width: 280px;
}

.views-exposed-form .usa-label {
  display: block;
  font-weight: 400;
  margin-bottom: 8px;
  font-size: 1.06rem;
  color: var(--color-ink);
}

.usa-label {
  display: block;
  font-weight: 400;
  margin-bottom: 4px;
  font-size: 1rem;
  color: var(--color-ink);
}

.views-exposed-form .usa-input,
.views-exposed-form .usa-select {
  width: 100%;
  height: 36px;
  padding: 0 12px;
  border: 1px solid #565c65;
  border-radius: 0;
  font-size: 1.06rem;
  font-family: var(--font-sans);
}

.usa-input,
.usa-select {
  width: 100%;
  height: 40px;
  padding: 0 8px 4px 8px;
  border: 1px solid #565c65;
  border-radius: 0;
  font-size: 1rem;
  font-family: var(--font-sans);
}

.usa-input:focus,
.usa-select:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 0;
}

.select-wrapper {
  position: relative;
}

.form-actions {
  display: flex;
  align-items: flex-end;
}

.views-exposed-form .form-actions .usa-button {
  height: 36px;
  padding: 0 24px;
  font-size: 1.06rem;
  font-weight: 700;
  border-radius: 4px !important;
}

/* ============================================
   Page Title
   ============================================ */
.treas-page-title {
  color: var(--color-ink);
}

h1 .treas-page-title {
  font-size: 2.5rem;
  font-family: var(--font-sans);
  font-weight: 700;
}

/* ============================================
   Content Styling
   ============================================ */
.field--name-body h2 {
  font-family: var(--font-sans);
  font-size: 1.75rem;
  color: var(--color-ink);
  margin-top: 32px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: none;
}

.field--name-body p {
  margin-bottom: 16px;
  line-height: 1.5;
}

.field--name-body strong {
  color: var(--color-ink);
}

.field--name-body ul,
.field--name-body ol {
  margin-bottom: 16px;
  padding-left: 32px;
}

.field--name-body li {
  margin-bottom: 8px;
  line-height: 1.5;
}

/* Mobile form layout */
@media (max-width: 1023px) {
  .views-exposed-form {
    flex-direction: column;
  }

  .views-exposed-form .form-item {
    min-width: 100%;
  }
}

/* ============================================
   Auction Ad Styles
   ============================================ */
.auction-status {
  padding: 12px 16px;
  margin-bottom: 24px;
  border-radius: 0;
  font-weight: 600;
}

.auction-status--upcoming,
.auction-status--scheduled,
.auction-status--active {
  background-color: #e7f6ec;
  color: #216e1f;
  border-left: 4px solid var(--color-success);
}

.auction-status--canceled,
.auction-status--cancelled,
.auction-status--sale-canceled,
.auction-status--adjourned-canceled {
  background-color: #f4e3db;
  color: var(--color-emergency);
  border-left: 4px solid var(--color-emergency);
}

.auction-status--external-auction {
  background-color: #e1f3f8;
  color: #00687d;
  border-left: 4px solid var(--color-accent-cool);
}

.auction-status--seeking-guaranteed-bidder,
.auction-status--seeking-bids,
.auction-status--seeking-guaranteed-bids {
  background-color: #fef0c7;
  color: #936f38;
  border-left: 4px solid var(--color-warning);
}

.auction-status--redeemed,
.auction-status--redeemed-property {
  background-color: #e8e8e8;
  color: var(--color-base-dark);
  border-left: 4px solid var(--color-base);
}

.auction-details {
  background-color: #f5f5f5;
  padding: 24px;
  margin-bottom: 32px;
  border-radius: 0;
}

.auction-detail-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--color-base-lighter);
}

.auction-detail-row:last-child {
  border-bottom: none;
}

.auction-detail-row strong {
  display: inline-block;
  min-width: 150px;
  color: var(--color-base-darker);
}

.auction-description {
  margin-top: 32px;
}

.auction-description h2 {
  font-size: 1.25rem;
  margin-bottom: 16px;
  color: var(--color-primary-dark);
}

.auction-images {
  margin-top: 32px;
}

.auction-images h2 {
  font-size: 1.25rem;
  margin-bottom: 16px;
  color: var(--color-primary-dark);
}

.auction-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}

.auction-image img {
  width: 100%;
  height: auto;
  border-radius: 0;
  border: 1px solid var(--color-base-lighter);
}

.auction-external-link {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--color-base-lighter);
}

.auction-external-link .usa-button {
  background-color: var(--color-irs-blue);
  color: var(--color-white);
  padding: 12px 24px;
  text-decoration: none;
  border-radius: 4px;
  display: inline-block;
}

.auction-external-link .usa-button:hover {
  background-color: var(--color-primary-dark);
}

/* ============================================
   Auction Tab Styles (matching live site)
   ============================================ */
.auction-tabs {
  margin-top: 24px;
}

.auction-tab-section {
  border: 1px solid var(--color-base-lighter);
  margin-bottom: -1px;
}

.auction-tab-section:first-child {
  border-radius: 0;
}

.auction-tab-section:last-child {
  border-radius: 0;
  margin-bottom: 0;
}

.auction-tab-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 16px 24px;
  background-color: var(--color-base-lightest);
  border: none;
  cursor: pointer;
  text-align: left;
}

.auction-tab-header:hover {
  background-color: var(--color-base-lighter);
}

.auction-tab-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-ink);
}

.auction-tab-icon {
  font-size: 1.5rem;
  color: var(--color-base);
  font-weight: 300;
}

.auction-tab-content {
  padding: 24px;
  background-color: var(--color-white);
}

.auction-tab-content[hidden] {
  display: none;
}

.auction-details-grid {
  display: grid;
  gap: 16px;
}

.auction-detail-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-base-lighter);
}

.auction-detail-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.auction-detail-row strong {
  flex: 0 0 180px;
  color: var(--color-base-darker);
}

.auction-detail-row span {
  flex: 1;
  min-width: 200px;
}

.auction-status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.875rem;
}

.auction-status-badge.auction-status--upcoming {
  background-color: #e7f6ec;
  color: #216e1f;
}

.auction-status-badge.auction-status--canceled,
.auction-status-badge.auction-status--cancelled {
  background-color: #f4e3db;
  color: var(--color-emergency);
}

.auction-asset-info {
  font-size: 1.06rem;
  line-height: 1.5;
}

.auction-description-text {
  margin-bottom: 8px;
}

.auction-location {
  color: var(--color-base-dark);
}

.auction-contact {
  background-color: var(--color-base-lightest);
  padding: 24px;
  border-radius: 0;
}

.auction-contact h2 {
  font-size: 1.125rem;
  margin-bottom: 16px;
  color: var(--color-ink);
}

.auction-contact-details p {
  margin-bottom: 8px;
}

.auction-contact-details p:last-child {
  margin-bottom: 0;
}

/* Utility margin classes */
.margin-bottom-2 {
  margin-bottom: 16px;
}

.margin-bottom-3 {
  margin-bottom: 24px;
}

.margin-top-3 {
  margin-top: 24px;
}

/* ============================================
   Additional USWDS Component Styles
   ============================================ */

/* Summary box */
.usa-summary-box {
  background-color: var(--color-info);
  border: 1px solid var(--color-info);
  border-radius: 0;
  padding: 24px;
  margin-bottom: 24px;
}

.usa-summary-box__heading {
  font-size: 1.34rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.usa-summary-box__text {
  font-size: 1.06rem;
  line-height: 1.5;
}

/* Process list */
.usa-process-list {
  list-style: none;
  padding-left: 40px;
  margin: 24px 0;
}

.usa-process-list__item {
  position: relative;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-left: 4px solid var(--color-base-lighter);
  padding-left: 24px;
}

.usa-process-list__item::before {
  content: counter(process-list);
  counter-increment: process-list;
  position: absolute;
  left: -22px;
  width: 40px;
  height: 40px;
  background: var(--color-primary);
  color: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.usa-process-list {
  counter-reset: process-list;
}

/* Alerts */
.usa-alert {
  padding: 24px;
  margin-bottom: 24px;
  border-radius: 0;
}

.usa-alert--info {
  background-color: #e1f3f8;
  border-left: 4px solid var(--color-info);
  border: none;
}

.usa-alert--success {
  background-color: #e7f6ec;
  border-left: 4px solid var(--color-success);
}

.usa-alert--warning {
  background-color: #fef0c7;
  border-left: 4px solid var(--color-warning);
}

.usa-alert--error {
  background-color: #f4e3db;
  border-left: 4px solid var(--color-emergency);
}

.usa-alert__heading {
  font-size: 1.34rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.usa-alert__text {
  font-size: 1.06rem;
  line-height: 1.5;
}

/* Tables */
.usa-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
}

.usa-table th,
.usa-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--color-base-lighter);
}

.usa-table th {
  background-color: var(--color-base-lightest);
  font-weight: 700;
}

.usa-table--striped tbody tr:nth-child(odd) {
  background-color: var(--color-base-lightest);
}

/* Breadcrumbs */
.usa-breadcrumb {
  padding: 16px 0;
  font-size: 0.875rem;
}

.usa-breadcrumb__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}

.usa-breadcrumb__list-item {
  display: flex;
  align-items: center;
}

.usa-breadcrumb__list-item::after {
  content: ">";
  margin: 0 8px;
  color: var(--color-base);
}

.usa-breadcrumb__list-item:last-child::after {
  display: none;
}

.usa-breadcrumb__link {
  color: var(--color-link);
  text-decoration: underline;
}

.usa-breadcrumb__link:hover {
  text-decoration: underline;
}

/* ============================================
   Ad Page Styles - Exact from live site
   ============================================ */

/* Two-column layout for ad pages */
.node--type-ad .grid-row {
  display: flex;
  flex-wrap: wrap;
}

.desktop\:grid-col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

@media (min-width: 1024px) {
  .desktop\:order-2 {
    order: 2;
  }
}

/* Field titles */
.field .title {
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-ink);
  margin: 0 !important;
}

.field--label-above .title {
  display: block;
  margin: 0;
}

.field__item {
  font-size: 1.06rem;
  line-height: 1.5;
}

/* Asset Info Section */
.asset.info h2 {
  font-size: 1.75rem;
  margin: 23.24px 0;
}

.asset.info .field {
  margin-bottom: 16px;
}

/* Datetime field styling - exact from live site */
.field--datetime {
  margin: 20px 0 0;
  font-size: 1rem;
  line-height: 1.15;
}

.field--datetime .title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.field--datetime time {
  font-weight: 400;
  color: var(--color-ink);
}

/* Icon styles - exact from live site */
i.schedule {
  display: block;
  width: 21px;
  height: 20px;
  margin-right: 8px;
  background-image: url("/img/schedule.svg");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

i.location {
  display: block;
  width: 21px;
  height: 22px;
  margin-right: 8px;
  background-image: url("/img/location_pin.svg");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

i.email {
  display: block;
  width: 21px;
  height: 15px;
  margin-right: 8px;
  background-image: url("/img/mail_outline.svg");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

i.phone {
  display: inline-block;
  width: 21px;
  height: 18px;
  margin-right: 8px;
  background-image: url("/img/phone-white.svg");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

#contact button.usa-button.display-flex {
  display: flex !important;
  flex-direction: row;
  align-items: center;
}

/* USA Accordion - exact from live site */
.usa-accordion {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Ad page accordion wrapper alignment */
.node--type-ad .usa-accordion.usa-accordion--bordered {
  margin-left: -8px;
  margin-right: -8px;
}

.usa-accordion--bordered {
  border: none;
  border-radius: 0;
}

.usa-accordion--bordered .usa-accordion__content {
  border: none;
}

/* Ad Tabs - Button strip above accordion - exact from live site */
#ad-tabs.ad-tabs {
  display: flex !important;
  border-bottom: none;
  margin-bottom: 0;
  padding-left: 8px;
}

#ad-tabs.ad-tabs.display-flex {
  display: flex !important;
}

#ad-tabs .usa-accordion__button,
.ad-tabs .usa-accordion__button,
section.ad-tabs button.usa-accordion__button {
  display: block !important;
  background-color: transparent !important;
  border: none;
  padding: 10px 10px 10px 0 !important;
  font-size: 1.06rem;
  font-weight: 700;
  color: rgb(27, 27, 27) !important;  /* Black by default */
  cursor: pointer;
  position: relative;
  border-radius: 0;
  margin: 0 8px 0 0 !important;  /* margin-right: 8px */
  text-decoration: none;
}

#ad-tabs .usa-accordion__button:last-child,
.ad-tabs .usa-accordion__button:last-child {
  margin-right: 0 !important;
}

#ad-tabs .usa-accordion__button:hover,
#ad-tabs .usa-accordion__button:focus,
#ad-tabs .usa-accordion__button:active {
  text-decoration: none !important;
  background-color: transparent;
  outline: none;
  box-shadow: none;
}

#ad-tabs .usa-accordion__button[aria-expanded="true"] {
  background-color: transparent;
  color: rgb(0, 45, 98) !important;  /* Blue when active */
  text-decoration: none !important;
  outline: none;
  box-shadow: none;
}

#ad-tabs .usa-accordion__button span,
#ad-tabs .usa-accordion__button span em {
  font-style: normal;
  font-weight: 700;
  text-decoration: none !important;
}

#ad-tabs .usa-accordion__button[aria-expanded="true"] span,
#ad-tabs .usa-accordion__button[aria-expanded="true"] span em {
  text-decoration: none !important;
  border: none !important;
}

#ad-tabs .usa-accordion__button::before,
#ad-tabs .usa-accordion__button::after {
  display: none !important;
}

/* Accordion Content */
.usa-accordion__content {
  padding: 24px;
  background-color: rgb(255, 255, 255);
  font-size: 1rem;
  margin: 0;
}

.usa-accordion__content.usa-prose {
  max-width: none;
}

.usa-accordion__content[hidden] {
  display: none;
}

/* Tabbed content section - extends to align with Contact Information card */
#show.tabbed.content {
  border: 2px solid #dfe1e2;
  margin-left: 8px;
  margin-right: -8px;
}

/* USA Alert - Info style with no icon - exact from live site */
.usa-alert--no-icon {
  padding: 0;
  border-radius: 0;
  margin: 0;
}

.usa-alert--no-icon.usa-alert--info {
  background-color: transparent;
  border: none;
}

.usa-alert--no-icon .usa-alert__body,
.usa-alert.usa-alert--info.usa-alert--no-icon .usa-alert__body,
div.usa-alert.usa-alert--info.usa-alert--no-icon > div.usa-alert__body {
  padding: 16px 64px 16px 29.3333px !important;
  background-color: rgb(231, 246, 248) !important;
  border-left: 8px solid #00bde3 !important;
}

.usa-alert--no-icon address {
  font-style: normal;
  line-height: 1.6;
}

/* Directions link */
.directions {
  margin-top: 12px;
}

.directions a {
  color: var(--color-link);
  text-decoration: underline;
}

.directions a:hover {
  text-decoration: underline;
}

/* External link SVG icon - viewBox 64x64 = 1:1 aspect ratio */
/* Target ALL external link icons by aria-label attribute */
svg[aria-label="(link is external)"],
svg.ext {
  width: 12px !important;
  height: 12px !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
  fill: currentColor !important;
  display: inline-block !important;
  max-width: 12px !important;
  max-height: 12px !important;
}

/* Mailto SVG icon */
svg.mailto {
  width: 16px;
  height: 16px;
  margin-left: 4px;
  vertical-align: middle;
  fill: var(--color-link);
}

/* Image Gallery / Photoswipe */
.photoswipe-gallery {
  margin-bottom: 24px;
}

.desktop\:grid-col-5 > .title {
  font-weight: 700;
}

.photoswipe-gallery .field__item {
  margin-bottom: 12px;
}

.photoswipe-gallery .field__item img {
  width: 78.422px;
  height: 45.922px;
  display: block;
  border: 1px solid var(--color-base-lighter);
}

.photoswipe-gallery a.photoswipe {
  display: block;
}

/* Contact Card - exact from live site */
#contact.contact {
  background-color: var(--color-white);
  margin: 32px -8px;
}

#contact .usa-card__container {
  border: 2px solid var(--color-card-border);
}

#contact .usa-card__body {
  padding: 24px;
}

#contact .pals.grid {
  display: grid;
  gap: 16px;
}

#contact .field {
  margin-bottom: 0;
}

#contact .field .title {
  font-weight: 700;
  margin-bottom: 4px;
}

#contact .given-name {
  font-weight: 400;
}

#contact a.mailto {
  color: var(--color-link);
  text-decoration: underline;
}

#contact a.mailto:hover {
  text-decoration: underline;
}

/* Additional Details Card - exact from live site */
#details.details {
  background-color: var(--color-white);
  margin-top: 32px;
  margin-bottom: 32px;
  margin-left: 0;
  margin-right: -8px;
}

#details .usa-card__container {
  border: 2px solid var(--color-card-border);
}

#details .usa-card__body {
  padding: 24px;
}

#details .usa-card__heading {
  font-size: 1.34rem;
  margin-bottom: 16px;
}

#details .field {
  margin-bottom: 16px;
}

#details .field:last-child {
  margin-bottom: 0;
}

#details .field .title {
  font-weight: 700;
  margin-bottom: 4px;
}

/* Firearms Prohibited Card */
.field--name-field-psa .usa-card__container {
  border: 2px solid var(--color-card-border);
}

.field--name-field-psa .usa-card__header {
  padding: 16px 24px 8px;
}

.field--name-field-psa .usa-card__body {
  padding: 8px 24px 24px;
}

.field--name-field-psa .usa-card__heading {
  font-size: 1.34rem;
  color: var(--color-ink);
}

/* Minimum Bid field */
.field--name-field-minimum-bid .title {
  font-weight: 700;
}

.field--name-field-minimum-bid .field__item {
  font-size: 1.06rem;
  font-weight: 400;
}

/* Notice Information */
.field--name-field-notice-information .title {
  font-weight: 700;
  margin-bottom: 8px;
}

.field--name-field-notice-information .field__item {
  line-height: 1.6;
}

/* Sale Location */
.field--name-field-sale-location .title {
  font-weight: 700;
  margin-bottom: 8px;
}

/* Terms of Sale */
.field--name-field-terms-of-sale .title {
  font-weight: 700;
  margin-bottom: 8px;
}

.field--name-field-terms-of-sale .field__item {
  line-height: 1.6;
}

/* Form of Payment */
.field--name-field-form-of-payment .title {
  font-weight: 700;
  margin-bottom: 8px;
}

.field--name-field-form-of-payment .field__item {
  line-height: 1.6;
}

/* Terms of Payment */
.field--name-field-the-terms-of-payment .title {
  font-weight: 700;
  margin-bottom: 8px;
}

.field--name-field-the-terms-of-payment .field__item {
  line-height: 1.6;
}

/* Utility classes */
.margin-y-4 {
  margin-top: 32px;
  margin-bottom: 32px;
}

.margin-right-1 {
  margin-right: 8px;
}

.margin-top-1 {
  margin-top: 8px;
}

/* USA Prose */
.usa-prose {
  max-width: 68ex;
}

.usa-prose > p {
  line-height: 1.6;
  margin-bottom: 16px;
}

/* Right column asset details */
.node--type-ad section > div:first-child h2 {
  font-size: 1.75rem;
  margin-top: 0;
  margin-bottom: 16px;
}

/* Asset description */
.field--name-field-asset-description {
  margin-bottom: 24px;
}

.field--name-field-asset-description .title {
  font-weight: 700;
  margin-bottom: 8px;
}

/* Property address */
.field--name-field-property-address {
  margin-bottom: 24px;
}

.field--name-field-property-address .title {
  font-weight: 700;
  margin-bottom: 8px;
}

/* Mobile responsive for ad pages */
@media (max-width: 1023px) {
  .desktop\:grid-col-5,
  .desktop\:grid-col-7 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .desktop\:order-2 {
    order: 0;
  }

  #ad-tabs.ad-tabs {
    flex-direction: column;
  }

  #ad-tabs .usa-accordion__button {
    width: 100%;
    border-radius: 0;
    margin-right: 0;
  }
}

/* Card footer for auction cards */
.usa-card__footer.no-min-bid {
  padding-top: 16px;
}

/* ============================================
   External Link Icons - Match live site
   viewBox is 64x64 so aspect ratio is 1:1
   Target by BOTH class and aria-label for full coverage
   ============================================ */
svg.ext,
svg[aria-label="(link is external)"] {
  fill: currentColor !important;
  margin-left: 0.25em !important;
  width: 12px !important;
  height: 12px !important;
  max-width: 12px !important;
  max-height: 12px !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

/* External links in footer */
.usa-footer__secondary-link svg.ext,
.usa-footer__secondary-link a svg.ext {
  fill: #71767a !important;
  width: 12px !important;
  height: 12px !important;
}

.usa-footer__secondary-link a:hover svg.ext {
  fill: var(--color-ink) !important;
}

/* External links in buttons */
button svg.ext,
.usa-button svg.ext,
button a svg.ext,
.usa-button a svg.ext {
  fill: var(--color-white) !important;
  width: 12px !important;
  height: 12px !important;
}

button svg.ext path,
.usa-button svg.ext path {
  stroke: var(--color-white) !important;
}

/* External links in header nav */
nav.header.menu svg.ext,
nav.header.menu a svg.ext {
  fill: var(--color-white) !important;
}

nav.header.menu svg.ext path {
  stroke: var(--color-white) !important;
}

/* External links in post footer nav */
nav.post.footer svg.ext,
nav.post.footer a svg.ext,
.menu--post-footer svg.ext {
  fill: var(--color-white) !important;
  width: 12px !important;
  height: 12px !important;
}

/* Subscribe banner external link icon */
.subscribe.block svg.ext,
.subscribe svg.ext,
.region-subscribe svg.ext {
  fill: var(--color-white) !important;
  width: 12px !important;
  height: 12px !important;
}

.subscribe.block svg.ext path,
.subscribe svg.ext path {
  stroke: var(--color-white) !important;
}

/* ============================================
   Search Results Page
   ============================================ */
/* Fix search input clear button (X) positioning */
.usa-search .usa-input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  height: 16px;
  width: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23565c65'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") center/contain no-repeat;
  cursor: pointer;
}



.search-page {
  max-width: 100%;
}

.search-page .page-title {
  font-size: 2rem;
  margin-bottom: 24px;
  font-family: var(--font-sans);
  font-weight: 700;
  color: var(--color-ink);
}

.search-page .usa-search--big {
  max-width: 100%;
}

.search-page .usa-search--big .usa-input {
  height: 48px;
  font-size: 1.06rem;
  padding: 12px 16px;
  border: 1px solid #565c65;
  flex: 1;
}

.search-page .usa-search--big .usa-button {
  height: 48px;
  padding: 0 24px;
  background-color: var(--color-primary);
  border: none;
  color: var(--color-white);
  font-weight: 700;
}

.search-page .usa-search--big .usa-button:hover {
  background-color: var(--color-primary-dark);
}

.search-results-count {
  font-size: 1.06rem;
  color: var(--color-base-dark);
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-base-lighter);
}

.search-results-items {
  list-style: none;
  padding: 0;
  margin: 0;
}

.search-result-item {
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--color-base-lighter);
}

.search-result-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.search-result-title {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: var(--font-sans);
}

.search-result-title a {
  color: var(--color-link);
  text-decoration: underline;
}

.search-result-title a:hover {
  color: var(--color-primary-dark);
}

.search-result-title a:visited {
  color: #54278f;
}

.search-result-meta {
  font-size: 0.875rem;
  color: var(--color-base);
}

.search-result-section {
  text-transform: capitalize;
}

.search-result-excerpt {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-ink);
}

.search-loading {
  font-style: italic;
  color: var(--color-base);
}

.search-no-results {
  font-size: 1.06rem;
  color: var(--color-base-dark);
}

.search-results-info {
  font-size: 1.06rem;
  color: var(--color-base-dark);
}

/* ============================================
   Pagination - Matching live site exactly
   ============================================ */
.usa-pagination {
  margin-bottom: 1rem;
  margin-top: 1rem;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.06rem;
  line-height: 1.5;
  display: flex;
  justify-content: center;
  width: 100%;
  text-align: center;
}

.usa-pagination__list {
  margin-bottom: 0;
  margin-top: 0;
  list-style-type: none;
  padding-left: 0;
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  width: auto;
  gap: 0;
}

.usa-pagination__item {
  display: inline-flex;
}

@media (min-width: 40em) {
  .usa-pagination__item {
    flex: unset;
  }
}


.usa-pagination__page-no {
  margin: 0;
}

.usa-pagination__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  width: auto;
  height: 40px;
  padding: 8px 16px;
  background-color: transparent;
  border: none;
  border-radius: 4px;
  color: #005ea2;
  text-decoration: none;
  font-weight: 400;
  cursor: pointer;
}

.usa-pagination__button:hover {
  background-color: #f0f0f0;
}

.usa-pagination__button.usa-current {
  background-color: #005ea2;
  color: #fff;
  font-weight: 700;
  pointer-events: none;
}

.usa-pagination__link {
  display: inline-flex;
  align-items: center;
  padding: 8px 0;
  color: #005ea2;
  text-decoration: none;
  cursor: pointer;
  height: 40px;
}

.usa-pagination__link:hover .usa-pagination__link-text {
  text-decoration: underline;
}

.usa-pagination__link .usa-icon {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.usa-pagination__previous-page .usa-icon {
  margin-right: 4px;
}

.usa-pagination__next-page .usa-icon {
  margin-left: 4px;
}

.usa-pagination__link-text {
  text-decoration: underline;
}

.usa-pagination__arrow {
  margin: 0;
}

.usa-pagination__overflow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 8px;
  color: #1b1b1b;
  font-weight: 400;
}

.usa-pagination__overflow span {
  display: flex;
  align-items: center;
  height: 40px;
  line-height: 40px;
}

/* ============================================
   Search Results - Horizontal Card Layout
   Matching live site display-grid style exactly
   ============================================ */

/* Search results list - full width cards */
ul.add-list-reset.search-results-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
}

ul.add-list-reset.search-results-list > li,
ul.add-list-reset.search-results-list > li.margin-bottom-2 {
  margin-bottom: 16px !important;
  padding: 0;
  width: 100%;
  max-width: 100%;
  display: block;
  box-sizing: border-box;
}

/* Horizontal card layout - matching live site exactly */
.node.override.irs-ad.usa-card__container.display-grid,
.irs-ad.usa-card__container.display-grid,
.irs-ad.node--view-mode-override {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border: 2px solid #dfe1e2;
  background: #fff;
  border-radius: 0;
  margin-left: 0;
  margin-right: 0;
  position: relative;
  height: 100%;
  box-sizing: border-box;
}

/* Tablet (40em / 640px) */
@media (min-width: 40em) {
  .node.override.irs-ad.usa-card__container.display-grid,
  .irs-ad.usa-card__container.display-grid,
  .irs-ad.node--view-mode-override {
    grid-template-columns: 300px 1fr;
  }
}

/* Desktop (64em / 1024px) */
@media (min-width: 64em) {
  .node.override.irs-ad.usa-card__container.display-grid,
  .irs-ad.usa-card__container.display-grid,
  .irs-ad.node--view-mode-override {
    grid-template-columns: 400px 1fr;
  }
}

/* Ensure search results container is full width */
#search-results .item-list {
  width: 100%;
}

#search-results .item-list ul {
  width: 100%;
}

/* Image/Media section */
.irs-ad.display-grid .media {
  grid-row: 1 / -1;
  overflow: hidden;
  background: #f0f0f0;
}

.irs-ad.display-grid .media .field--name-field-media-image {
  height: 100%;
}

.irs-ad.display-grid .media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 700 / 410;
}

/* Content wrapper */
.irs-ad.display-grid .wrap {
  display: flex;
  flex-direction: column;
  padding: 0;
  min-height: 140px;
}

/* Card header */
.irs-ad.display-grid .usa-card__header {
  order: 0;
  padding: 16px 16px 8px 16px;
  background: transparent;
}

.irs-ad.display-grid .usa-card__header .usa-card__heading {
  margin: 0;
  font-size: 1.34rem;
  line-height: 1.4;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
}

.irs-ad.display-grid .usa-card__header .usa-card__heading a {
  color: #00599c;
  text-decoration: underline;
}

.irs-ad.display-grid .usa-card__header .usa-card__heading a:hover {
  color: #1a4480;
}

/* Card body */
.irs-ad.display-grid .usa-card__body {
  order: 1;
  padding: 0 16px 8px 16px;
  flex: 1;
  font-size: 1.06rem;
}

.irs-ad.display-grid .usa-card__body address {
  font-style: normal;
  color: #1b1b1b;
  margin-bottom: 8px;
  font-size: 1.06rem;
}

.irs-ad.display-grid .usa-card__body .display-flex {
  display: flex;
  align-items: center;
}

.irs-ad.display-grid .usa-card__body i.schedule {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23565c65'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM9 10H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm-8 4H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

.irs-ad.display-grid .usa-card__body time {
  font-size: 1.06rem;
  color: #1b1b1b;
}

/* Card footer */
.irs-ad.display-grid .usa-card__footer {
  order: 2;
  padding: 8px 16px 16px 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  border-top: none;
  background: transparent;
}

.irs-ad.display-grid .usa-card__footer.no-min-bid {
  justify-content: flex-end;
}

/* Minimum Bid field */
.irs-ad.display-grid .usa-card__footer .field--name-field-minimum-bid {
  margin: 0;
  order: 1;
}

.irs-ad.display-grid .usa-card__footer .field--name-field-minimum-bid .title {
  font-size: 1rem;
  font-weight: 700;
  color: #1b1b1b;
  margin: 0;
}

.irs-ad.display-grid .usa-card__footer .field--name-field-minimum-bid .field__item {
  font-size: 1.06rem;
  font-weight: 400;
  color: #1b1b1b;
}

/* Notice of Sale button */
.irs-ad.display-grid .usa-card__footer .usa-button {
  order: 2;
  min-width: 180px !important;
  max-width: 160px !important;
  width: auto;
  margin: 0;
  padding: 10px 20px;
  background-color: #005ea2;
  border-radius: 4px;
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1;
}

.irs-ad.display-grid .usa-card__footer .usa-button a {
  color: #fff;
  text-decoration: none;
}

.irs-ad.display-grid .usa-card__footer .usa-button a.notice-of-sale {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.irs-ad.display-grid .usa-card__footer .usa-button a svg.ext {
  fill: #fff;
  width: 12px;
  height: 12px;
}

.irs-ad.display-grid .usa-card__footer .usa-button:hover {
  background-color: #1a4480;
}

/* External sale cards */
.irs-ad.external-sale.display-grid .usa-card__heading a svg.ext {
  fill: #00599c;
  margin-left: 4px;
}

.irs-ad.external-sale.display-grid .usa-card__heading a:hover svg.ext {
  fill: #1a4480;
}

/* Desktop (64em / 1024px) */
@media (min-width: 64em) {
  .irs-ad.display-grid .usa-card__footer {
    flex-wrap: nowrap;
  }
}

/* Mobile responsive for horizontal cards */
@media (max-width: 39.99em) {
  .irs-ad.display-grid .media {
    grid-row: auto;
    max-height: 220px;
  }

  .irs-ad.display-grid .media img {
    height: 220px;
    width: 100%;
  }

  .irs-ad.display-grid .usa-card__footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .irs-ad.display-grid .usa-card__footer .usa-button {
    margin-top: 8px;
  }
}

/* Notice cards (Page Not Located, Page Not Found, Notice of Public Auction Sale) */
.irs-ad.node--view-mode-teaser.usa-card__container.display-grid {
  grid-template-columns: 1fr !important;
  min-height: auto;
}

.irs-ad.node--view-mode-teaser .media {
  display: none;
}

@media (min-width: 40em) {
  .irs-ad.node--view-mode-teaser.usa-card__container.display-grid {
    grid-template-columns: 1fr !important;
    min-height: auto;
  }
}

@media (min-width: 64em) {
  .irs-ad.node--view-mode-teaser.usa-card__container.display-grid {
    grid-template-columns: 1fr !important;
    min-height: auto;
  }
}

.irs-ad.node--view-mode-teaser .wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  padding: 16px 20px;
  gap: 0 20px;
  height: 100%;
  box-sizing: border-box;
}

.irs-ad.node--view-mode-teaser .usa-card__header {
  grid-column: 1;
  grid-row: 1;
  padding: 0;
}

.irs-ad.node--view-mode-teaser .usa-card__heading {
  margin: 0;
  font-size: 1.34rem;
  line-height: 1.5;
}

.irs-ad.node--view-mode-teaser .usa-card__body {
  grid-column: 1;
  grid-row: 2;
  padding: 0;
  overflow: visible;
}

.irs-ad.node--view-mode-teaser .usa-card__body p {
  margin: 0;
  color: var(--color-base-dark);
  display: block;
}

.irs-ad.node--view-mode-teaser .usa-card__footer {
  grid-column: 2;
  grid-row: 1 / 3;
  padding: 0;
  align-self: center;
}

.irs-ad.node--view-mode-teaser .usa-card__footer .usa-button {
  margin: 0;
}

@media (max-width: 39.99em) {
  .irs-ad.node--view-mode-teaser .wrap {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .irs-ad.node--view-mode-teaser .usa-card__header {
    grid-column: 1;
    grid-row: 1;
  }

  .irs-ad.node--view-mode-teaser .usa-card__body {
    grid-column: 1;
    grid-row: 2;
  }

  .irs-ad.node--view-mode-teaser .usa-card__footer {
    grid-column: 1;
    grid-row: 3;
    margin-top: 8px;
    justify-self: start;
  }
}
