@import url("https://fonts.googleapis.com/css2?family=Berkshire+Swash&family=Cinzel:wght@600;700&family=Cinzel+Decorative:wght@700&family=Creepster&family=Great+Vibes&family=Mountains+of+Christmas:wght@700&display=swap");

/* =========================================================
   THE MORRISON TEAM — SEASONAL HOLIDAY BANNERS
   Controlled by: /js/holiday-banner.js
   ========================================================= */

.holiday-banner {
    --holiday-image: none;
    --holiday-focus: center;
    --holiday-accent: #ffffff;
    --holiday-background: #26352d;
    --holiday-overlay-start: rgba(12, 20, 16, 0.94);
    --holiday-overlay-end: rgba(12, 20, 16, 0.42);
    --holiday-title-font: Georgia, "Times New Roman", serif;
    --holiday-title-weight: 500;
    --holiday-title-spacing: -0.025em;

    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    width: 100%;
    margin-top: 90px;
    min-height: 190px;
    overflow: hidden;
    color: #ffffff;
    background-color: var(--holiday-background);
    background-image: var(--holiday-image);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
    box-shadow:
        inset 0 -1px 0 rgba(255, 255, 255, 0.16),
        0 8px 24px rgba(0, 0, 0, 0.14);
    animation: holiday-banner-arrival 700ms ease both;
}

/* Soft lighting effect over the background image */
.holiday-banner::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 82% 30%,
            rgba(255, 255, 255, 0.18),
            transparent 32%
        ),
        linear-gradient(
            115deg,
            rgba(255, 255, 255, 0.06),
            transparent 42%
        );
}

/* Very subtle decorative border */
.holiday-banner::after {
    content: "";
    position: absolute;
    z-index: 3;
    right: 18px;
    bottom: 12px;
    left: 18px;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent,
        color-mix(in srgb, var(--holiday-accent) 75%, transparent),
        transparent
    );
}

.holiday-banner__overlay {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.08) 0%,
        rgba(0, 0, 0, 0.22) 50%,
        rgba(0, 0, 0, 0.08) 100%
    );
}

.holiday-banner__content {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 32px 0;
    text-align: center;
}

.holiday-banner__eyebrow {
    margin: 0 auto 8px;
    color: var(--holiday-accent);
    font-size: 2.00rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.42);
}

.holiday-banner__title {
    max-width: 820px;
    margin: 0 auto;
    color: #ffffff;
    font-family: var(--holiday-title-font);
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: var(--holiday-title-weight);
    line-height: 1.04;
    letter-spacing: var(--holiday-title-spacing);
    text-wrap: balance;
    text-shadow:
        0 2px 5px rgba(0, 0, 0, 0.58),
        0 8px 24px rgba(0, 0, 0, 0.32);
}

.holiday-banner__message {
    max-width: 760px;
    margin: 13px auto 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: clamp(0.94rem, 1.5vw, 1.08rem);
    font-weight: 500;
    line-height: 1.55;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.62);
}

/* =========================================================
   INDIVIDUAL HOLIDAY COLORS
   ========================================================= */

.holiday-banner--new-year {
    --holiday-title-font: "Cinzel Decorative", Georgia, serif;
    --holiday-title-weight: 700;
    --holiday-title-spacing: 0.015em;

    --holiday-accent: #e9c76f;
    --holiday-background: #17253a;
    --holiday-overlay-start: rgba(7, 17, 32, 0.95);
    --holiday-overlay-end: rgba(19, 34, 54, 0.38);

}

.holiday-banner--valentines {
    --holiday-title-font: "Great Vibes", "Segoe Script", cursive;
    --holiday-title-weight: 400;
    --holiday-title-spacing: 0;

    --holiday-accent: #ffd2df;
    --holiday-background: #6d203c;
    --holiday-overlay-start: rgba(71, 12, 36, 0.95);
    --holiday-overlay-end: rgba(116, 28, 59, 0.38);
}

.holiday-banner--memorial-day {
    --holiday-title-font: "Cinzel", Georgia, serif;
    --holiday-title-weight: 700;
    --holiday-title-spacing: 0.025em;

    --holiday-accent: #dfe9ff;
    --holiday-background: #213b5d;
    --holiday-overlay-start: rgba(11, 29, 53, 0.96);
    --holiday-overlay-end: rgba(42, 67, 99, 0.4);
}

.holiday-banner--july-fourth {
    --holiday-title-font: "Cinzel Decorative", Georgia, serif;
    --holiday-title-weight: 700;
    --holiday-title-spacing: 0.015em;

    --holiday-accent: #f0d68c;
    --holiday-background: #16335c;
    --holiday-overlay-start: rgba(8, 29, 60, 0.95);
    --holiday-overlay-end: rgba(46, 72, 112, 0.36);
}

.holiday-banner--labor-day {
    --holiday-title-font: "Cinzel", Georgia, serif;
    --holiday-title-weight: 700;
    --holiday-title-spacing: 0.02em;

    --holiday-accent: #f2cf83;
    --holiday-background: #394634;
    --holiday-overlay-start: rgba(28, 39, 27, 0.95);
    --holiday-overlay-end: rgba(63, 77, 58, 0.38);
}

.holiday-banner--halloween {
    --holiday-title-font: "Creepster", fantasy;
    --holiday-title-weight: 400;
    --holiday-title-spacing: 0.045em;

    --holiday-accent: #ffb14a;
    --holiday-background: #23182e;
    --holiday-overlay-start: rgba(20, 11, 29, 0.96);
    --holiday-overlay-end: rgba(59, 30, 70, 0.4);
}

.holiday-banner--thanksgiving {
    --holiday-title-font: "Berkshire Swash", Georgia, cursive;
    --holiday-title-weight: 400;
    --holiday-title-spacing: 0;

    --holiday-accent: #f1c078;
    --holiday-background: #58311f;
    --holiday-overlay-start: rgba(62, 28, 15, 0.96);
    --holiday-overlay-end: rgba(111, 61, 34, 0.4);
}

.holiday-banner--christmas {
    --holiday-title-font: "Mountains of Christmas", Georgia, cursive;
    --holiday-title-weight: 700;
    --holiday-title-spacing: 0.015em;

    --holiday-accent: #e4c775;
    --holiday-background: #173c2c;
    --holiday-overlay-start: rgba(8, 42, 28, 0.96);
    --holiday-overlay-end: rgba(27, 76, 53, 0.38);
}

/* Larger sizing for decorative holiday fonts */

.holiday-banner--valentines .holiday-banner__title,
.holiday-banner--thanksgiving .holiday-banner__title,
.holiday-banner--christmas .holiday-banner__title {
    font-size: clamp(2.7rem, 5vw, 4.25rem);
    line-height: 1.05;
}

.holiday-banner--halloween .holiday-banner__title {
    font-size: clamp(2.5rem, 5vw, 4rem);
}

/* =========================================================
   ANIMATION
   ========================================================= */

@keyframes holiday-banner-arrival {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================
   TABLET AND MOBILE
   ========================================================= */

@media (max-width: 768px) {
    .holiday-banner {
        min-height: 175px;
        background-position: center;
    }

.holiday-banner__overlay {
    background: rgba(0, 0, 0, 0.20);
        );
    }

    .holiday-banner__content {
        width: min(100% - 32px, 680px);
        padding: 28px 0;
        text-align: center;
    }

    .holiday-banner__eyebrow,
    .holiday-banner__title,
    .holiday-banner__message {
        margin-right: auto;
        margin-left: auto;
    }

    .holiday-banner__eyebrow {
        font-size: 0.68rem;
        letter-spacing: 0.17em;
    }

    .holiday-banner__title {
        font-size: clamp(1.75rem, 8vw, 2.55rem);
        line-height: 1.08;
    }

    .holiday-banner__message {
        max-width: 580px;
        margin-top: 10px;
        font-size: 0.92rem;
        line-height: 1.45;
    }

    .holiday-banner::after {
        right: 16px;
        bottom: 9px;
        left: 16px;
    }
}

@media (max-width: 420px) {
    .holiday-banner {
        min-height: 190px;
    }

    .holiday-banner__content {
        width: calc(100% - 28px);
        padding: 25px 0;
    }

    .holiday-banner__message {
        font-size: 0.88rem;
    }
}

/* Respect visitors who disable animations */
@media (prefers-reduced-motion: reduce) {
    .holiday-banner {
        animation: none;
    }
}

/* =========================================================
   FESTIVE HOLIDAY EYEBROW FONTS
   Keep this at the bottom so it overrides mobile styling.
   ========================================================= */

.holiday-banner--new-year .holiday-banner__eyebrow {
    font-family: "Cinzel Decorative", Georgia, serif;
    font-size: clamp(1rem, 2vw, 1.3rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.holiday-banner--valentines .holiday-banner__eyebrow {
    font-family: "Great Vibes", "Segoe Script", cursive;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    font-weight: 400;
    letter-spacing: 0.03em;
    text-transform: none;
}

.holiday-banner--memorial-day .holiday-banner__eyebrow {
    font-family: "Cinzel", Georgia, serif;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.holiday-banner--july-fourth .holiday-banner__eyebrow {
    font-family: "Cinzel Decorative", Georgia, serif;
    font-size: clamp(1rem, 2vw, 1.3rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.holiday-banner--labor-day .holiday-banner__eyebrow {
    font-family: "Cinzel", Georgia, serif;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.holiday-banner--halloween .holiday-banner__eyebrow {
    font-family: "Creepster", fantasy;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.holiday-banner--thanksgiving .holiday-banner__eyebrow {
    font-family: "Berkshire Swash", Georgia, cursive;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    font-weight: 400;
    letter-spacing: 0.025em;
    text-transform: none;
}

.holiday-banner--christmas .holiday-banner__eyebrow {
    font-family: "Mountains of Christmas", Georgia, cursive;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: none;
}