.elite-shop {
    --shop-ink: #171717;
    --shop-gold: #985313;
    display: grid;
    grid-template-columns: 560px minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    width: 100%;
    padding: 88px 68px 130px;
    overflow: hidden;
    color: var(--shop-ink);
    background: #f7eee7;
}

.elite-shop__intro { padding-top: 2px; }
.elite-shop__eyebrow {
    margin: 0 0 20px;
    color: var(--shop-gold);
    font: 700 18px/1.1 Manrope, Arial, sans-serif;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.elite-shop h2 {
    margin: 0;
    font: 400 46px/1.16 Georgia, 'Times New Roman', serif;
    letter-spacing: -.025em;
}
.elite-shop h2 em { font-weight: 400; }
.elite-shop__rule {
    display: block;
    width: 124px;
    height: 4px;
    margin: 20px 0;
    border-radius: 2px;
    background: #b87922;
}
.elite-shop__copy {
    margin: 0 0 28px;
    font: 400 17px/1.6 Manrope, Arial, sans-serif;
}
.elite-shop__collection {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 300px;
    min-height: 68px;
    padding: 0 28px;
    border-radius: 14px;
    color: #fff !important;
    background: #0c0d0e;
    font: 700 20px/1 Manrope, Arial, sans-serif;
    text-decoration: none !important;
}
.elite-shop__collection span { font-size: 28px; font-weight: 300; }

/*
 * All 5 products fit in one row (or, below 991px, a 2-column grid)
 * with no scrolling - this used to be a horizontal-scroll carousel
 * (grid-auto-flow:column + overflow-x:auto) sized for cards much
 * wider than what 5-across in the available width could actually
 * fit, which both required side-scrolling AND clipped card text
 * that didn't fit the real column width. Sized down at each range so
 * everything is visible at once instead.
 */
.elite-shop__products {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: start;
    gap: 16px;
    min-width: 0;
    padding: 45px 0 12px;
}
.elite-shop__card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #eee4dc;
    border-radius: 0 0 12px 12px;
    background: rgba(255,255,255,.42);
    box-shadow: 0 3px 8px rgba(75, 50, 30, .04);
}
.elite-shop__image-link { display: block; height: 320px; overflow: hidden; }
.elite-shop__image-link img { width: 100%; height: 100%; object-fit: cover; }
.elite-shop__card-body { display: flex; flex-direction: column; padding: 24px 18px 22px; }
.elite-shop__card h3 { margin: 0; font: 400 20px/1.2 Georgia, 'Times New Roman', serif; }
.elite-shop__card p { margin: 14px 0 0; font: 400 14px/1.35 Georgia, 'Times New Roman', serif; }
.elite-shop__card-body > a {
    margin-top: 12px;
    color: var(--shop-gold) !important;
    font: 600 15px/1 Manrope, Arial, sans-serif;
    text-decoration: none !important;
}
.elite-shop__card-body > a span { font-size: 19px; font-weight: 300; }

@media (max-width: 1599px) {
    .elite-shop { grid-template-columns: 430px minmax(0, 1fr); padding: 72px 46px 100px; }
    .elite-shop__eyebrow { font-size: 16px; margin-bottom: 16px; }
    .elite-shop h2 { font-size: 36px; }
    .elite-shop__rule { margin: 16px 0; }
    .elite-shop__copy { font-size: 15px; margin-bottom: 22px; }
    .elite-shop__collection { width: 240px; min-height: 56px; padding: 0 22px; font-size: 16px; }
    .elite-shop__collection span { font-size: 22px; }
    .elite-shop__products { gap: 10px; padding-top: 33px; }
    .elite-shop__image-link { height: 190px; }
    .elite-shop__card-body { padding: 14px 10px 14px; }
    .elite-shop__card h3 { font-size: 14px; }
    .elite-shop__card p { margin-top: 8px; font-size: 11px; }
    .elite-shop__card-body > a { margin-top: 8px; font-size: 11px; }
}

@media (max-width: 991px) {
    .elite-shop { display: block; padding: 64px 28px 80px; }
    .elite-shop__intro { max-width: 620px; }
    .elite-shop__products {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-top: 32px;
    }
    .elite-shop__image-link { height: 220px; }
    .elite-shop__card-body { padding: 16px 12px 16px; }
    .elite-shop__card h3 { font-size: 16px; }
    .elite-shop__card p { margin-top: 10px; font-size: 12px; }
    .elite-shop__card-body > a { margin-top: 10px; font-size: 12px; }
}

@media (max-width: 575px) {
    .elite-shop { padding: 48px 20px 64px; }
    .elite-shop__eyebrow { margin-bottom: 25px; font-size: 17px; }
    .elite-shop h2 { font-size: 43px; }
    .elite-shop__rule { width: 88px; height: 3px; margin: 31px 0; }
    .elite-shop__copy { margin-bottom: 35px; font-size: 17px; line-height: 1.55; }
    .elite-shop__desktop-break { display: none; }
    .elite-shop__collection { width: 100%; min-height: 70px; padding: 0 25px; font-size: 21px; }
}
