.dm-offer-ticker {
    color: var(--dm-ink, #281f1f);
    overflow: hidden;
}

.dm-offer-ticker__header {
    align-items: end;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin-bottom: clamp(1.6rem, 3vw, 2.6rem);
}

.dm-offer-ticker__header > div:first-child {
    max-width: 48rem;
}

.dm-offer-ticker__eyebrow {
    color: var(--dm-red, #9f1726);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    margin: 0 0 .5rem;
    text-transform: uppercase;
}

.dm-offer-ticker__header h2 {
    color: var(--dm-header, #541820);
    font-size: clamp(2rem, 4.8vw, 3.6rem);
    margin: 0 0 .7rem;
}

.dm-offer-ticker__header p:last-child {
    color: var(--dm-muted, #706565);
    font-size: 1.06rem;
    margin: 0;
}

.dm-offer-ticker__controls {
    display: flex;
    flex: 0 0 auto;
    gap: .55rem;
}

.dm-offer-ticker__controls button {
    align-items: center;
    background: var(--dm-header, #541820);
    border: 1px solid var(--dm-header, #541820);
    border-radius: 999px;
    color: #fffaf0;
    display: inline-flex;
    font-size: 1.25rem;
    height: 2.85rem;
    justify-content: center;
    transition: background-color .2s ease, transform .2s ease;
    width: 2.85rem;
}

.dm-offer-ticker__controls button:hover,
.dm-offer-ticker__controls button:focus-visible {
    background: var(--dm-header-hover, #421219);
    transform: translateY(-2px);
}

.dm-offer-ticker__track {
    display: grid;
    gap: clamp(1rem, 2vw, 1.45rem);
    grid-auto-columns: minmax(17.5rem, 29%);
    grid-auto-flow: column;
    margin: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: .35rem .15rem 1.35rem;
    scroll-padding-inline: .15rem;
    scroll-snap-type: inline mandatory;
    scrollbar-color: rgba(84, 24, 32, .38) transparent;
    scrollbar-width: thin;
}

.dm-offer-card {
    background: #fff;
    border: 1px solid rgba(84, 24, 32, .13);
    border-radius: 1.15rem;
    box-shadow: 0 14px 38px rgba(64, 20, 25, .09);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    scroll-snap-align: start;
}

.dm-offer-card__image {
    aspect-ratio: 4 / 3;
    background: #f4e8e8;
    display: block;
    overflow: hidden;
}

.dm-offer-card__image img {
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    width: 100%;
}

.dm-offer-card:hover .dm-offer-card__image img {
    transform: scale(1.035);
}

.dm-offer-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem;
}

.dm-offer-card__type {
    color: var(--dm-red, #9f1726);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    margin: 0 0 .45rem;
    text-transform: uppercase;
}

.dm-offer-card h3 {
    font-size: 1.25rem;
    margin: 0 0 .65rem;
}

.dm-offer-card h3 a {
    color: var(--dm-header, #541820);
    text-decoration: none;
}

.dm-offer-card__description {
    color: var(--dm-muted, #706565);
    font-size: .92rem;
    margin: 0 0 1rem;
}

.dm-offer-card__footer {
    align-items: end;
    border-top: 1px solid rgba(84, 24, 32, .1);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 1rem;
}

.dm-offer-card__price {
    color: var(--dm-header, #541820);
    font-size: .85rem;
    line-height: 1.25;
    max-width: 11rem;
}

.dm-offer-card__more {
    color: var(--dm-red-dark, #74101b);
    flex: 0 0 auto;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .dm-offer-ticker__track {
        grid-auto-columns: minmax(17rem, 44%);
    }
}

@media (max-width: 639.98px) {
    .dm-offer-ticker__header {
        align-items: start;
        flex-direction: column;
        gap: 1rem;
    }

    .dm-offer-ticker__track {
        grid-auto-columns: 86%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dm-offer-card__image img,
    .dm-offer-ticker__controls button {
        transition: none;
    }
}
