/* YETI drinkware badge geometry; the user chose USWING's existing brand font. */
/* Keep image overlays inside their card so sticky navigation/filter layers stay above them. */
.uswing-card-badges-host { position: relative; isolation: isolate; }
.uswing-card-badges {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  max-width: calc(100% - 28px);
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.uswing-card-badges > .uswing-card-badge {
  box-sizing: border-box;
  display: inline-block;
  flex: 0 0 auto;
  max-width: 100%;
  margin: 0;
  padding: 0 10px;
  border: 1px solid #002b45;
  border-radius: 6px;
  background: transparent;
  color: #002b45;
  font-family: var(--sort-title-font);
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 23px;
  letter-spacing: .7px;
  text-transform: uppercase;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  pointer-events: none;
}
/* Horizontal cards with small thumbnails keep the same tag above their title. */
.uswing-card-badges.uswing-card-badges--inline {
  position: static;
  max-width: 100%;
  align-self: flex-start;
  margin-bottom: 0;
}
/* Compact cards grow only when a badge is present, keeping titles and prices readable. */
.shopping-video__product-card:has(.uswing-card-badges) { height: auto; min-height: 76em; align-items: center; }
.shopping-video__product-card:has(.uswing-card-badges) .shopping-video__product-card-image { width: 56em; height: 56em; }
.shopping-video__product-card-title-wrapper:has(.uswing-card-badges) { min-width: 0; gap: 8px; }
.image-accordion__product-info:has(.uswing-card-badges) { min-width: 0; gap: 10px; }
.text-with-image__image-with-product-card:has(.uswing-card-badges) { height: auto; min-height: 80px; padding: 12px; }
.text-with-image__image-with-product-title-wrapper:has(.uswing-card-badges) { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.text-with-image__image-with-product-card:has(.uswing-card-badges) .text-with-image__image-with-product-image { flex: 0 0 72px; height: 72px; }
@media (max-width: 959px) {
  .uswing-card-badges { top: 10px; left: 10px; max-width: calc(100% - 20px); }
  .uswing-card-badges > .uswing-card-badge { padding: 0 6px; font-size: clamp(11px, 3.2vw, 12px); line-height: 20px; letter-spacing: .6px; }
  .text-with-image__image-with-product-card:has(.uswing-card-badges) { width: 250px; min-width: 0; max-width: calc(100% - 32px); }
  .text-with-image__image-with-product-title-wrapper.hidden-mobile:has(.uswing-card-badges) { display: flex; }
  .product-anchor--with-image .product-anchor__content:has(.uswing-card-badges) { width: min(280px, calc(100vw - 32px)); height: auto; padding: 12px; background: #fff; }
  .product-anchor--with-image .product-anchor__product-text:has(.uswing-card-badges) { display: flex; }
  .product-anchor--with-image .product-anchor__content:has(.uswing-card-badges) .product-anchor__product-image { flex: 0 0 72px; width: 72px; height: 72px; }
}
/* Mobile product media is 4:5 across card renderers; variant swatches are intentionally excluded. */
@media (max-width: 959px) {
  .uswing-card-badges-host > .block-product-image__image-wrapper,
  .uswing-card-badges-host > .block-product-card__image-wrapper,
  .uswing-card-badges-host > .product-card__image-wrapper,
  .predictive-search__product-image-wrap.uswing-card-badges-host {
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
  }
  .uswing-card-badges-host > .block-product-image__image-wrapper > .block-product-image__image,
  .uswing-card-badges-host > .block-product-card__image-wrapper > .block-product-card__image,
  .uswing-card-badges-host > .product-card__image-wrapper > .product-card__image,
  .predictive-search__product-image-wrap.uswing-card-badges-host > .predictive-search__product-image {
    object-fit: contain;
  }
  .image-accordion__product-card .image-accordion__product-thumb { aspect-ratio: 4 / 5; height: auto; object-fit: contain; }
  .shopping-video__product-card,
  .shopping-video__product-card:has(.uswing-card-badges) { height: auto; min-height: 90em; align-items: center; }
  .shopping-video__product-card .shopping-video__product-card-image,
  .shopping-video__product-card:has(.uswing-card-badges) .shopping-video__product-card-image { flex: 0 0 56em; width: 56em; height: 70em; aspect-ratio: 4 / 5; }
  .shopping-video__product-card .shopping-video__product-card-image > img { object-fit: contain; }
  .text-with-image__image-with-product-card,
  .text-with-image__image-with-product-card:has(.uswing-card-badges) { height: auto; min-height: 98px; }
  .text-with-image__image-with-product-card .text-with-image__image-with-product-image,
  .text-with-image__image-with-product-card:has(.uswing-card-badges) .text-with-image__image-with-product-image { width: 72px; height: 90px; aspect-ratio: 4 / 5; }
  .text-with-image__image-with-product-card .text-with-image__image-with-product-image > img { object-fit: contain; }
  .product-anchor--with-image .product-anchor__content:not(:has(.uswing-card-badges)) { height: 90px; }
  .product-anchor--with-image .product-anchor__content .product-anchor__product-image,
  .product-anchor--with-image .product-anchor__content:has(.uswing-card-badges) .product-anchor__product-image { aspect-ratio: 4 / 5; height: 90px; }
  .product-anchor--with-image .product-anchor__content .product-anchor__product-image > img { height: 100%; object-fit: contain; }
}
/* The shared renderer replaces optional legacy card blocks, without affecting product-detail badges. */
.uswing-card-badges-host .product-page-badges-container,
.uswing-card-badges-host .block-product-card__discount-tag,
.uswing-card-badges-host .block-product-card__sold-out { display: none; }
