.offers .headline {
    grid-column: 2/span 12;
}

.offers .text-container {
    grid-column: 2/span 12;
    max-width: 64ch;
}

.offers .offers-container {
    grid-column: 2/span 12;
    counter-reset: offerCount;
    row-gap: var(--m-small);
}

.offers .offers-container .offer-item {
	padding: var(--m-60) var(--m-30) var(--m-30) var(--m-60);
	background: #fff;
	width: 100%;
	max-width: max(400px, calc((var(--grid-col-width) * 3) + (var(--grid-gap) * 2)));
	counter-increment: offerCount;
}

.offers .offers-container .offer-item::before {
	content: counter(offerCount);
	position: absolute;
	top: 0;
	right: var(--m-60);
	transform: translateY(-50%);
	font-size: var(--fs-22);
	line-height: 1.36;
	padding: .5ch;
	background: var(--olive);
	display: block;
	width: 2em;
	text-align: center;
	border-radius: 100%;
	border: 1px solid currentColor;
}

.offers .offers-container .offer-item::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: currentColor;
    position: absolute;
    left: 0;
    bottom: calc(var(--m-30) + ((var(--fs-22) * 1.36) + (max(8px, 0.5859375vw)) * 2) / 2);
}

.offers .offers-container .offer-item .sub-headline {
    margin-bottom: var(--m-30);
    text-wrap: balance;
}

.offers .offers-container .offer-item .offer-content {
	position: relative;
}

.offers .offers-container .offer-item .offer-content .content-inner {
    display: block;
	max-height: max(var(--fs-17) * 1.58 * 6);
	overflow: hidden;
	padding-bottom: 1em;
    transition: var(--def-trans);
}

.offers .offers-container .offer-item .offer-content.active .content-inner {
    max-height: 50em;
}

.offers .offers-container .offer-item .offer-content.is-overflowing::before {
    content: "";
    display: block;
    width: 100%;
    height: 3em;
    position: absolute;
    left: 0;
    bottom: 1em;
    z-index: 1;
    background: linear-gradient(0deg, #FFF 0%, rgba(255, 252, 248, 0.00) 100%);
}

.offers .offers-container .offer-item .offer-content.is-overflowing::after {
    content: "";
    display: block;
    width: calc(100% + var(--m-30) + var(--m-60));
    height: 1px;
    background: currentColor;
    position: absolute;
    left: calc(var(--m-60) * -1);
    bottom: 1em;
    z-index: 2;
}

.offers .offers-container .offer-item .read-more {
	display: block;
    align-self: center;
	width: 2em;
    height: 2em;
	background: var(--olive) url(../../img/icon-plus.svg) no-repeat center / 25%;
	border-radius: 100%;
	border: 1px solid currentColor;
    position: relative;
    z-index: 3;
    margin: 0 auto;
}

.offers .offers-container .offer-item:not(:has(.offer-content.is-overflowing)) .read-more {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.offers .offers-container .offer-item:has(.offer-content.active) .read-more {
    background-image: urL(../../img/icon-minus.svg);
}

.offers .offers-container .offer-item .offer-details {
    margin-top: var(--m-60);
    margin-bottom: auto;
}

.offers .offers-container .offer-item .offer-details ul li {
    padding-left: 1.8em;
}

.offers .offers-container .offer-item .offer-details ul li::before {
    height: .9em;
    aspect-ratio: 1/1;
    mask: url(../../img/icon-check.svg) no-repeat center/contain;
    -webkit-mask: url(../../img/icon-check.svg) no-repeat center/contain;
}

.offers .offers-container .offer-item .price-wrapper .price {
    margin-bottom: 0;
}

.offers .offers-container .offer-item .default-btn {
    margin-top: var(--m-60);
}