/* ===== VASEN INTRO ===== */
.vasen-intro {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--spacing-xl);
    align-items: start;
    padding-block: var(--spacing-2xl);
}

.vasen-intro__headline {
    font-size: var(--font-size-headline);
    font-weight: 700;
    color: var(--color-primary);
    margin-block-end: var(--spacing-l);
    line-height: var(--line-height-headline);
}

.vasen-intro__text {
    font-size: var(--font-size-copy);
    color: var(--color-text);
    line-height: var(--line-height-copy);
}

.vasen-intro__text strong {
    color: var(--color-text);
    font-weight: 600;
}

.vasen-intro__text a strong {
    color: inherit;
}

/* Geschenkgutschein-Box */
.voucher-box {
    background: var(--color-primary);
    color: #fff;
    padding: var(--spacing-l);
    width: 180px;
    flex-shrink: 0;
    text-align: center;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-s);
    border-radius: var(--radius-xl);
    transition: background var(--transition-base);
}

.voucher-box:hover { background: var(--color-primary-dark); }

.voucher-box__icon {
    width: 48px;
    height: 48px;
    color: #fff;
}

.voucher-box__label {
    font-size: var(--font-size-sm);
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.voucher-box__sub {
    font-size: var(--font-size-xs);
}

/* ===== VASEN PRODUKTE ===== */
.vasen-products {
    padding-block: var(--spacing-2xl);
}

.vasen-products__grid {
    --vasen-image-size: clamp(150px, 20vw, 230px);
    display: grid;
    grid-template-columns: repeat(4, var(--vasen-image-size));
    justify-content: space-between;
    gap: var(--spacing-l);
}

.vasen-products__grid img {
    width: 100%;
    height: auto;
    aspect-ratio: 240 / 325;
    object-fit: cover;
}

@media (max-width: 1023px) {
    .vasen-intro { grid-template-columns: 1fr; }
    .voucher-box { width: 100%; max-width: 220px; }
    .vasen-products__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 599px) {
    .vasen-products__grid { grid-template-columns: repeat(2, 1fr); }
}
