.skd-seasonal-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--skd-seasonal-min-height, 520px);
    overflow: hidden;
    padding: clamp(64px, 8vw, 110px) 24px;
    background-color: var(--skd-seasonal-bg, #3a2b24);
    background-image: var(--skd-seasonal-image, none);
    background-size: cover;
    background-position: center;
    color: #fff;
}

.skd-seasonal-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(37, 25, 20, var(--skd-seasonal-overlay, .56));
}

.skd-seasonal-hero--color .skd-seasonal-hero__overlay {
    display: none;
}

.skd-seasonal-hero__inner {
    width: min(var(--skd-seasonal-content-width, 760px), 100%);
}

.skd-seasonal-hero--align-center .skd-seasonal-hero__inner { text-align: center; }
.skd-seasonal-hero--align-left .skd-seasonal-hero__inner { text-align: left; margin-right: auto; }
.skd-seasonal-hero--align-right .skd-seasonal-hero__inner { text-align: right; margin-left: auto; }

.skd-seasonal-hero__caption {
    margin-bottom: 14px;
    color: var(--skd-gold, #e0a525);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.4vw, 1.28rem);
    font-style: italic;
    letter-spacing: .02em;
}

.skd-seasonal-hero__title {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 5vw, 4.2rem);
    font-weight: 400;
    line-height: 1.08;
}

.skd-seasonal-hero__subtitle {
    margin-top: 18px;
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.65;
}

.skd-seasonal-hero__subtitle p { margin: 0; }

.skd-seasonal-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 32px;
    padding: 13px 32px;
    border-radius: 999px;
    background: var(--skd-gold, #e0a525);
    color: #2e211b;
    font-size: .98rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.skd-seasonal-hero__cta:hover,
.skd-seasonal-hero__cta:focus-visible {
    color: #2e211b;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    filter: brightness(1.04);
}

@media (max-width: 640px) {
    .skd-seasonal-hero {
        min-height: min(var(--skd-seasonal-min-height, 520px), 620px);
        padding-inline: 20px;
    }

    .skd-seasonal-hero__cta {
        width: 100%;
        max-width: 320px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .skd-seasonal-hero__cta { transition: none; }
    .skd-seasonal-hero__cta:hover { transform: none; }
}
