/* YFL partner placements (F-030). Space is reserved from the first paint so a filled banner does not move
   the page. --yfl-d / --yfl-m are each placement's Desktop / Mobile shape from the Platform registry. */
.yfl-partner-wrap { padding-top: 2rem; padding-bottom: 2rem; }
.yfl-partner {
  position: relative;
  width: 100%;
  max-width: 1216px;
  margin: 0 auto;
  aspect-ratio: var(--yfl-d, 6) / 1;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
}
.yfl-partner--column { max-width: 736px; aspect-ratio: var(--yfl-d, 4) / 1; }
.yfl-partner.is-filled { background: transparent; }
/* Every banner of a placement sits in the same reserved box, so switching can never change the layout. */
.yfl-partner__item {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}
.yfl-partner__item.is-current { opacity: 1; visibility: visible; transition: opacity 0.6s ease, visibility 0s; }
@media (prefers-reduced-motion: reduce) { .yfl-partner__item, .yfl-partner__item.is-current { transition: none; } }
.yfl-partner__link, .yfl-partner__link picture, .yfl-partner__link img { display: block; width: 100%; height: 100%; }
.yfl-partner__link img { object-fit: cover; }
.yfl-partner__label {
  position: absolute;
  top: 6px;
  left: 8px;
  z-index: 1;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
}
@media (max-width: 767px) {
  .yfl-partner, .yfl-partner--column { aspect-ratio: var(--yfl-m, 3) / 1; }
  .yfl-partner-wrap { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}
