:where(.cwa-seasonal-section) {
--cwa-seasonal-primary: #19a99f;
--cwa-seasonal-secondary: #8ee3de;
--cwa-seasonal-surface: #fffaf0;
--cwa-seasonal-text: #17233c;
position: relative;
isolation: isolate;
box-sizing: border-box;
width: calc(100% - 48px);
max-width: 1200px;
margin: 32px auto;
padding: 28px;
overflow: hidden;
border: 1px solid color-mix(in srgb, var(--cwa-seasonal-primary) 25%, transparent);
border-radius: 24px;
background: linear-gradient(135deg, var(--cwa-seasonal-surface), #fff);
box-shadow: 0 8px 24px rgba(31, 41, 55, 0.06);
} .cwa-seasonal-section::before {
content: "";
position: absolute;
inset: 0;
z-index: 0;
border-radius: inherit;
background-image: var(--cwa-seasonal-background-image, none);
background-repeat: no-repeat;
background-position: center; background-size: 100% 100%;
pointer-events: none;
}
:where(.cwa-seasonal-shell) {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: minmax(0, 48%) minmax(0, 52%);
gap: 24px;
min-width: 0;
}
:where(.cwa-seasonal-feature) {
position: relative;
display: grid;
min-width: 0;
overflow: hidden;
border-radius: 18px;
background: #fff;
box-shadow: 0 5px 18px rgba(31, 41, 55, 0.08);
}
:where(.cwa-seasonal-feature__picture) {
grid-area: 1 / 1;
min-height: 350px;
}
:where(.cwa-seasonal-feature__picture img) {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
:where(.cwa-seasonal-feature__content) {
grid-area: 1 / 1;
z-index: 1;
display: flex;
padding: 34px;
flex-direction: column;
align-items: flex-start;
justify-content: center;
color: var(--cwa-seasonal-text);
background: linear-gradient(
90deg,
rgba(255, 255, 255, 0.96) 0%,
rgba(255, 255, 255, 0.82) 46%,
rgba(255, 255, 255, 0) 76%
);
}
:where(.cwa-seasonal-feature__title) {
max-width: 13ch;
margin: 0 0 12px;
font-size: clamp(30px, 3.2vw, 48px);
line-height: 1.06;
}
:where(.cwa-seasonal-feature__description) {
max-width: 28ch;
margin: 0 0 22px;
font-size: 17px;
line-height: 1.45;
} .cwa-seasonal-feature__cta,
.cwa-seasonal-feature__cta:link,
.cwa-seasonal-feature__cta:visited {
display: inline-flex;
min-height: 48px;
padding: 0 23px;
align-items: center;
justify-content: center;
gap: 10px;
border: 1px solid rgba(255, 255, 255, 0.72);
border-radius: 999px;
background: #168c88 !important;
background: color-mix(in srgb, var(--cwa-seasonal-primary) 60%, #07565a 40%) !important;
color: #fff !important;
opacity: 1 !important;
text-decoration: none !important;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14);
font-weight: 700;
box-shadow:
0 7px 18px color-mix(in srgb, var(--cwa-seasonal-primary) 30%, transparent),
inset 0 1px 0 rgba(255, 255, 255, 0.24);
transition:
transform 0.2s ease,
box-shadow 0.2s ease,
background-color 0.2s ease,
filter 0.2s ease;
}
:where(.cwa-seasonal-cards) {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
min-width: 0;
}
:where(.cwa-seasonal-card) {
display: flex;
min-width: 0;
overflow: hidden;
flex-direction: column;
border: 1px solid rgba(31, 41, 55, 0.1);
border-radius: 18px;
background: #fff;
color: var(--cwa-seasonal-text);
text-decoration: none;
box-shadow: 0 4px 14px rgba(31, 41, 55, 0.06);
transform: translateY(0);
transition:
transform 0.22s ease,
border-color 0.22s ease,
box-shadow 0.22s ease,
background-color 0.22s ease;
}
:where(.cwa-seasonal-card__image) {
display: block;
aspect-ratio: 3 / 4;
overflow: hidden;
background: #fff;
}
:where(.cwa-seasonal-card__image img) {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
transform: scale(1);
transition: transform 0.25s ease;
}
:where(.cwa-seasonal-card__content) {
display: grid;
min-height: 82px;
padding: 15px;
grid-template-columns: minmax(0, 1fr) 36px;
align-items: center;
gap: 8px;
background: linear-gradient(
135deg,
color-mix(in srgb, var(--cwa-seasonal-secondary) 20%, #fff),
#fff
);
transition: background 0.22s ease;
}
:where(.cwa-seasonal-card__title) {
font-weight: 700;
line-height: 1.25;
transition: color 0.2s ease;
}
:where(.cwa-seasonal-card__action) {
display: grid;
width: 34px;
height: 34px;
place-items: center;
border-radius: 50%;
background: #fff;
color: var(--cwa-seasonal-primary);
font-size: 20px;
transform: translateX(0);
transition:
transform 0.2s ease,
color 0.2s ease,
background-color 0.2s ease,
box-shadow 0.2s ease;
}
.cwa-seasonal-card:focus-visible,
.cwa-seasonal-feature__cta:focus-visible {
outline: 3px solid color-mix(in srgb, var(--cwa-seasonal-primary) 34%, transparent);
outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
.cwa-seasonal-card:hover {
border-color: color-mix(in srgb, var(--cwa-seasonal-primary) 42%, transparent);
background: rgba(255, 255, 255, 0.98);
box-shadow: 0 14px 30px rgba(31, 41, 55, 0.13);
transform: translateY(-5px);
}
.cwa-seasonal-card:hover .cwa-seasonal-card__image img {
transform: scale(1.025);
}
.cwa-seasonal-card:hover .cwa-seasonal-card__title {
color: var(--cwa-seasonal-primary);
}
.cwa-seasonal-card:hover .cwa-seasonal-card__action {
background: var(--cwa-seasonal-primary);
color: #fff;
box-shadow: 0 5px 12px color-mix(in srgb, var(--cwa-seasonal-primary) 28%, transparent);
transform: translateX(3px);
}
.cwa-seasonal-feature__cta:hover {
background: #0f7775 !important;
background: color-mix(in srgb, var(--cwa-seasonal-primary) 48%, #064d52 52%) !important;
color: #fff !important;
filter: none;
box-shadow:
0 10px 22px color-mix(in srgb, var(--cwa-seasonal-primary) 36%, transparent),
inset 0 1px 0 rgba(255, 255, 255, 0.28);
transform: translateY(-2px);
}
}
@media (max-width: 1024px) {
:where(.cwa-seasonal-section) {
width: calc(100% - 32px);
padding: 22px;
}
:where(.cwa-seasonal-shell) {
grid-template-columns: minmax(0, 1fr);
}
:where(.cwa-seasonal-feature__picture) {
min-height: 330px;
}
}
@media (max-width: 640px) {
:where(.cwa-seasonal-section) {
width: calc(100% - 20px);
padding: 14px;
border-radius: 18px;
} .cwa-seasonal-section::before {
opacity: 0.22;
}
:where(.cwa-seasonal-feature) {
display: flex;
flex-direction: column;
}
:where(.cwa-seasonal-feature__content) {
position: static;
order: 1;
padding: 22px;
background: #fff;
}
:where(.cwa-seasonal-feature__title) {
max-width: none;
font-size: 30px;
}
:where(.cwa-seasonal-feature__picture) {
order: 2;
min-height: 0;
}
:where(.cwa-seasonal-feature__picture img) {
height: auto;
aspect-ratio: auto;
object-fit: contain;
}
:where(.cwa-seasonal-cards) {
grid-auto-flow: column;
grid-auto-columns: min(78vw, 280px);
grid-template-columns: none;
gap: 14px;
overflow-x: auto;
overscroll-behavior-inline: contain;
padding: 2px 2px 10px;
scroll-snap-type: inline mandatory;
}
:where(.cwa-seasonal-card) {
scroll-snap-align: start;
}
}
@media (prefers-reduced-motion: reduce) {
:where(.cwa-seasonal-section *) {
scroll-behavior: auto !important;
transition: none !important;
}
.cwa-seasonal-card,
.cwa-seasonal-card:hover,
.cwa-seasonal-card__image img,
.cwa-seasonal-card:hover .cwa-seasonal-card__image img,
.cwa-seasonal-card__action,
.cwa-seasonal-card:hover .cwa-seasonal-card__action,
.cwa-seasonal-feature__cta,
.cwa-seasonal-feature__cta:hover {
transform: none !important;
}
}