/* ============================================================================
   COMPONENT: homepage content widgets (A4) - SKIN tier - from site-buypopart-V2.0.css, original order
   Migrated 2026-07-06. Every rule whose selector targets a widget-exclusive
   class (widget-*, adc-artcard*, oua-artcard, exa-widget-grid, swiper_class,
   w-img-fill) - these classes render only in templates/includes/widgets/*
   and on the 8 homepage templates. Structure tier = static/css/widgets-base.css
   (pre-existing, base-linked x8). PHASE-A FIDELITY: verbatim relocation;
   tokenization is a recorded follow-up. Do not edit without a harness diff.
   ========================================================================= */

.widget-artist-spotlight {
    background: var(--frost);
    border: var(--bpa-border);
    border-radius: 0;
    box-shadow: none;
}

a.widget-artist-spotlight__portrait {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0;
    box-shadow: none;
}

.widget-artist-spotlight__art {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    margin: 0;
    text-align: center;
}

.widget-artist-spotlight__art > a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.widget-artist-spotlight__art-title {
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    padding: 0.35rem 0.4rem;
    z-index: 1;
}

.widget-artist-spotlight__title {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 400;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--ink);
}

.widget-artist-spotlight__bio {
    line-height: 1.55;
    font-size: 0.9rem;
    font-weight: 300;
    color: var(--charcoal);
}

.widget-pop10 {
    background: var(--white);
    border: var(--bpa-border);
    border-radius: 0;
    box-shadow: none;
}

.widget-pop10__portrait-wrap {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--iron);
    border-radius: 0;
    text-decoration: none;
}

.widget-pop10__portrait-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.widget-pop10__portrait-name {
    padding: 0.5rem 0.65rem;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
}

.widget-pop10__artist-title {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--ink);
    margin-bottom: 0.3rem;
}

.widget-pop10__artist-title a { color: var(--ink); text-decoration: none; }

.widget-pop10__artist-title a:hover,.widget-pop10__artist-title a:focus { text-decoration: underline; }

.widget-pop10__meta-description {
    font-family: var(--font-ui);
    font-size: 0.85rem;
    font-weight: 300;
    color: var(--charcoal);
    margin-bottom: 0.75rem;
    line-height: 1.55;
}

.widget-pop10__art-tile {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0;
    background: var(--smoke);
    text-decoration: none;
}

.widget-pop10__art-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.widget-pop10__art-meta { padding: 0.3rem 0.1rem 0; }

.widget-pop10__art-title {
    font-family: var(--font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.widget-pop10__art-artist {
    font-family: var(--font-ui);
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--charcoal);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.widget-pop10__art-artist a { color: inherit; text-decoration: none; }

.widget-pop10__art-artist a:hover,.widget-pop10__art-artist a:focus { text-decoration: underline; }

.widget-small-translated-field .w-100.bg-dark {
    background: var(--ink);
    font-family: var(--font-ui);
    font-weight: 700;
    font-size: 10px;
    letter-spacing: 0.18em;
    border-bottom: none;
}

.widget-reimagine-4-slider {
    background: var(--frost);
    border: var(--bpa-border);
    border-radius: 0;
    box-shadow: none;
}

.widget-reimagine-4-slider__title {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2vw, 1.3rem);
    font-weight: 400;
    color: var(--ink);
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.widget-reimagine-4-slider__cta {
    display: inline-block;
    width: 100%;
    text-align: center;
    font-family: var(--font-ui);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 14px 20px;
    border-radius: 0;
    background: var(--ink);
    color: #fff;
    text-decoration: none;
    border: var(--bpa-border);
    box-shadow: none;
    transition: opacity 0.2s;
}

.widget-reimagine-4-slider__cta:hover,.widget-reimagine-4-slider__cta:focus {
    opacity: 0.8;
    filter: none;
    color: #fff !important;
}

.widget-artist-spotlight-slider-movement {
    background: var(--frost);
    border: var(--bpa-border);
    border-radius: 0;
    box-shadow: none;
}

.widget-artist-spotlight-slider-movement__portrait {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0;
}

.widget-artist-spotlight-slider-movement__bio {
    font-family: var(--font-ui);
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.55;
    color: var(--charcoal);
}

.widget-artist-spotlight-slider-movement__title {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--ink);
}

.widget-museum-4p__title-line { color: #111; }

.widget-museum-4__label,.widget-museum-6h__label,.widget-museum-single__caption,.widget-artist-spotlight__art-title,.widget-pop10__art-title,.widget-famous10__art-title {
  font-family: var(--font-title, inherit);
  font-size: clamp(0.95rem, 1.2vw, 1.0625rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-transform: none;
  font-style: normal;
  font-synthesis: none;
}

/* ── A4 second pass (2026-07-06): widget ROOT-class rules (roots are set on the
   homepage markup, so they escaped the widget-exclusive census) ── */

.widget-quiz-artist__card {
    background: var(--frost);
    border: var(--bpa-border);
    border-radius: 0;
}

.widget-quiz-artist__img {
    border-radius: 0;
    overflow: hidden;
}

.widget-quiz-artist__img-inner {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    min-height: 0;
}

.widget-quiz-artist__title-top {
    z-index: 1;
    margin: 0;
    padding: 0.55rem 0.65rem 0.5rem;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.1;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    pointer-events: none;
}

.widget-quiz-artist__caption {
    z-index: 1;
    padding: 0.5rem 0.65rem 0.55rem;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    pointer-events: none;
}

.widget-quiz-artist__btn {
    background: var(--ink);
    border: none;
    color: #fff;
    font-family: var(--font-ui);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 0;
    transition: background 0.2s;
}

.widget-quiz-artist__btn:hover,.widget-quiz-artist__btn:focus {
    background: var(--iron);
    color: #fff;
}

.widget-quiz-artist__opt label { cursor: pointer; }

.widget-quiz-artist__question {
    font-family: var(--font-ui);
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--carbon);
    line-height: 1.5;
}

.widget-quiz-artist__meta {
    font-size: 0.82rem;
    font-weight: 300;
    color: var(--charcoal);
    line-height: 1.55;
}

.widget-faf {
    background: var(--frost);
    color: var(--carbon);
    border: var(--bpa-border);
    border-radius: 0;
}

.widget-faf__title {
    font-family: var(--font-ui);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--pewter);
    margin-bottom: 0.75rem;
}

.widget-faf__portrait,.widget-faf__painting {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--smoke);
    border-radius: 0;
}

.widget-faf__painting__cap {
    padding: 0.4rem 0.5rem;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    text-shadow: 0 1px 1px rgba(0,0,0,0.4);
}

.widget-faf__name {
    text-align: center;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--ink);
    margin-top: 0.5rem;
    margin-bottom: 0;
}

.widget-faf__name a { color: var(--ink); }

.widget-faf__meta {
    font-family: var(--font-ui);
    font-size: 0.82rem;
    font-weight: 300;
    line-height: 1.5;
    color: var(--charcoal);
}

.widget-faf__flash {
    margin: 0;
    padding-left: 1.1rem;
}

.widget-faf__flash li {
    font-family: var(--font-ui);
    font-size: 0.86rem;
    font-weight: 300;
    line-height: 1.5;
    color: var(--charcoal);
    margin-bottom: 0.4rem;
}

.widget-faf__ruler {
    height: 2px;
    background: var(--ink);
    margin: 0;
    border: 0;
    opacity: 1;
}

.widget-curated-choice {
    border: var(--bpa-border);
    border-radius: 0;
    box-shadow: none;
}

.widget-curated-choice__tile {
    position: relative;
    overflow: hidden;
    display: block;
    height: 100%;
    min-height: 0;
}

.widget-curated-choice__label {
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
    padding: 0.45rem 0.65rem;
}

.widget-curated-choice__label--small {
    font-size: 0.68rem;
    padding: 0.3rem 0.45rem;
}

.widget-curated-choice__head {
    font-family: var(--font-display);
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    font-weight: 400;
    color: var(--ink);
    letter-spacing: 0.07em;
    line-height: 1.05;
    text-transform: uppercase;
}

.widget-curated-choice__desc {
    font-family: var(--font-ui);
    font-size: 0.9rem;
    font-weight: 300;
    line-height: 1.7;
    color: var(--charcoal);
}

.widget-curated-choice__btn {
    background: var(--ink);
    color: #fff;
    border: none;
    text-transform: uppercase;
    font-family: var(--font-ui);
    font-weight: 700;
    letter-spacing: 0.12em;
    font-size: 11px;
    padding: 9px 16px;
    border-radius: 0;
    text-decoration: none;
    display: inline-block;
    transition: opacity 0.2s;
}

.widget-curated-choice__btn:hover,.widget-curated-choice__btn:focus {
    opacity: 0.8;
    color: #fff !important;
    filter: none;
}

.widget-stf__cell {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0;
    background: var(--iron);
}

.widget-stf__label {
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.4rem 0.5rem;
}

.bpa-home .bpa-widget .widget-artist-spotlight-slider-movement-swiper .swiper-slide {
  width: 144px;
}

.bpa-home .bpa-widget .widget-artist-spotlight-slider-movement-swiper .artist_slid_box > a img {
  width: 144px;
  height: 144px;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.widget-artist-otd5 { border: 1px solid #c4c4c7; background: #f5f5f6; }

.widget-artist-otd5__title { font-size: 1rem; font-weight: 700; margin-bottom: 0.75rem; color: #111; }

.widget-artist-otd5__left { min-width: 0; }

.widget-artist-otd5__media {
                position: relative;
                display: block;
                width: 100%;
                aspect-ratio: 1;
                overflow: hidden;
                background: #ddd;
              }

.widget-artist-otd5__overlay {
                padding: 0.5rem 0.6rem;
                color: #fff;
                font-size: 0.85rem;
                line-height: 1.25;
              }

.widget-artist-otd5__art {
                position: relative;
                width: 100%;
                aspect-ratio: 1;
                overflow: hidden;
                margin: 0;
              }

.widget-artist-otd5__art > a {
                display: block;
                position: relative;
                width: 100%;
                height: 100%;
                min-height: 0;
              }

.widget-artist-otd5__art-title {
                font-size: 0.72rem;
                line-height: 1.2;
                color: #fff;
                text-align: center;
                padding: 0.35rem 0.4rem;
              }

.widget-mpl__part { border-color: var(--mpl-border, var(--g400, #e0d8cc)); }

.widget-mpl__panel,.widget-mpl__min-h-panel { min-height: 14rem; }

.widget-mpl__min-h-half { min-height: 7rem; }

.widget-mpl__min-h-sm { min-height: 3.5rem; }

.widget-mpl__col-quarter { width: 25%; min-width: 0; }

.widget-mpl__col-half { width: 50%; min-width: 0; }

.widget-stf__header-band { letter-spacing: 0.04em; }

.widget-museum-6p__placeholder { min-height: 10rem; }

.widget-museum-4p__title { font-weight: 700; color: #111; }

.widget-museum-4p__meta { line-height: 1.5; color: #111; }

.widget-dqf__question { color: #111; line-height: 1.4; }

.widget-dqf__meta { color: #111; line-height: 1.45; }

@media (max-width: 991.98px) {
  .widget-mpl__col-quarter,.widget-mpl__col-half { width: 100%; }

  .widget-mpl__panel,.widget-mpl__min-h-panel { min-height: 10rem; }

  .widget-mpl__min-h-half { min-height: 6rem; }

}
@media (max-width: 767.98px) {
  .widget-imp10__movement-title { font-size: clamp(18px, 5vw, 24px); }

}
.widget-stf__label,.widget-stf__label a,.widget-mpl__category,.widget-mpl__category a,.widget-mpl__caption,.widget-mpl__caption a,.widget-tf-static__category,.widget-tf-static__category a,.widget-recent-own-static__category,.widget-recent-own-static__category a,.widget-stock-ready-static__category,.widget-stock-ready-static__category a,.widget-museum-4p__label,.widget-museum-6p__label,.widget-artist-otd5__label,.widget-artist-otd5__art-title,.widget-curated-choice__label,.widget-curated-choice__label--hero,.widget-curated-choice__label--small,.widget-imp10__art-title,.widget-quiz-artwork__caption {
  font-family: var(--font-title, inherit);
  font-size: clamp(0.95rem, 1.2vw, 1.0625rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-transform: none;
  font-style: normal;
  font-synthesis: none;
}

