/* Shared seasonal layer; service titles and contact details stay evergreen. */
.halloween-site {
    --halloween-ink: #151a18;
    --halloween-green: #b8df84;
    --halloween-orange: #ffb563;
    letter-spacing: 0;
}

.halloween-site .navbar {
    background: #151a18 !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

.halloween-site .navbar-brand { min-width: 0; }
.halloween-site .navbar-brand-logo-text { font-size: 16px; }
.halloween-site .navbar-nav .nav-link { margin-left: 24px; padding: 26px 0; font-size: 16px; }
.halloween-site .navbar-nav .nav-link.active { color: #b8df84 !important; }
.halloween-site .navbar-nav .nav-link::before { background: #b8df84; height: 3px; }
.halloween-site .navbar .border-primary { border-color: #53634f !important; border-width: 1px !important; }
.halloween-site .navbar .dropdown-menu { border-radius: 6px; }
.halloween-site .navbar h6 { font-size: 14px; white-space: nowrap; }
.halloween-site .navbar h5 { font-size: 15px; }
.halloween-site .navbar a { text-decoration: none; }

.halloween-ribbon { background: #b8df84; color: #151a18; }
.halloween-ribbon .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 42px; padding-top: 9px; padding-bottom: 9px; font-size: 14px; }
.halloween-ribbon span:first-child { font-weight: 700; }
.halloween-ribbon .fa-ghost { margin-right: 8px; transform: rotate(-10deg); }
.halloween-ribbon a { color: #151a18 !important; font-weight: 700; text-decoration: none; white-space: nowrap; }
.halloween-ribbon a:hover { text-decoration: underline; }
.halloween-ribbon .fa-arrow-right { margin-left: 8px; }

.halloween-site .halloween-service-note { color: #ffb563 !important; font-weight: 700; margin: 18px 0 0; }
.halloween-service-note::before { content: "\f6e2"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: 9px; }

.halloween-site > .halloween-ribbon + .container-fluid {
    background-color: #151a18 !important;
    margin-bottom: 24px !important;
    padding-top: 24px !important;
    padding-bottom: 32px !important;
    border-bottom: 3px solid #ffb563;
}
.halloween-site > .halloween-ribbon + .container-fluid > .container { padding-top: 24px !important; padding-bottom: 24px !important; }
.halloween-site > .halloween-ribbon + .container-fluid h1 { color: #fff !important; font-size: 48px; line-height: 1.1; }
.halloween-site .service-kicker { color: #b8df84; letter-spacing: 0; }
.halloween-site .service-lead { color: #e1e7e2; line-height: 1.7; }
.halloween-site .service-gallery-image { border-radius: 6px; border-color: #52624c; box-shadow: none; }
.halloween-site > .halloween-ribbon + .container-fluid .service-gallery-image { height: 330px; min-height: 0; object-fit: cover; }
.halloween-site .btn { border-radius: 6px; }
.halloween-site .btn-trzaskowski { padding: 12px 22px; }
.halloween-site .btn-trzaskowski:hover { background: #b8df84; color: #151a18 !important; border-color: #b8df84; }
.halloween-site > .halloween-ribbon + .container-fluid .btn:first-child { color: #151a18 !important; background: #b8df84; border-color: #b8df84; }

.halloween-site .service-info-card,
.halloween-site .service-feature-card { border-radius: 6px; box-shadow: none; background: #151a18; border-color: #52624c; }
.halloween-site .service-info-card p,
.halloween-site .service-feature-card p { color: #e1e7e2; line-height: 1.7; }
.halloween-site .service-info-card h2,
.halloween-site .service-feature-card h2 { color: #b8df84 !important; }
.halloween-site .service-info-card h3,
.halloween-site .service-feature-card h3 { color: #ffb563 !important; }
.halloween-site .service-link-list a { border-radius: 6px; box-shadow: none; border-color: #52624c; }

.halloween-site .service-contact-strip {
    background: #151a18 url("../img/halloween/hero-2026.webp") center right / auto 100% no-repeat;
    border: 0;
    border-radius: 0;
    padding: 40px;
    min-height: 250px;
    box-shadow: none;
    text-align: left !important;
}
.halloween-site .service-contact-strip > * { max-width: 58%; }
.halloween-site .service-contact-strip > .d-flex { justify-content: flex-start !important; }
.halloween-site .service-contact-strip h2 { color: #fff !important; }
.halloween-site .service-contact-strip p { color: #e1e7e2 !important; }
.halloween-site .service-contact-strip a { font-size: 14px; }

.halloween-site .footer-orange { background: #151a18; border-top: 1px solid #455044; }
.halloween-site .footer-orange p,
.halloween-site .footer-orange a { color: #e1e7e2 !important; overflow-wrap: anywhere; }
.halloween-site .footer-orange h4,
.halloween-site .footer-orange h6 { color: #b8df84 !important; }
.halloween-site .footer-orange a:hover { color: #ffb563 !important; }
.halloween-site :focus-visible { outline: 3px solid #f2a44a !important; outline-offset: 4px; }

.halloween-gallery > .halloween-ribbon + .container-fluid {
    background: #151a18 url("../img/halloween/hero-2026.webp") right center / auto 100% no-repeat;
}
.halloween-gallery > .halloween-ribbon + .container-fluid .col-lg-8 { width: 58%; text-align: left !important; }

@media (min-width: 992px) and (max-width: 1250px) {
    .halloween-site .navbar { padding-left: 20px !important; padding-right: 20px !important; }
    .halloween-site .navbar-brand-logo-text { max-width: 186px; }
    .halloween-site .navbar-nav .nav-link { margin-left: 18px; }
    .halloween-site .navbar .d-lg-flex { padding-left: 16px !important; }
    .halloween-site .navbar .d-lg-flex > i { display: none; }
    .halloween-site > .container-fluid.d-lg-block .gap-3 { gap: 10px !important; font-size: 13px; }
}

@media (max-width: 991.98px) {
    .halloween-site .navbar { padding: 14px 20px !important; }
    .halloween-site .navbar-brand { max-width: calc(100% - 54px); margin-right: 8px; }
    .halloween-site .navbar-brand-logo-text { font-size: 15px; white-space: normal; }
    .halloween-site .navbar-brand img { height: 42px !important; flex-shrink: 0; }
    .halloween-site .navbar-toggler { width: 44px; height: 42px; padding: 4px; }
    .halloween-site .navbar .border-primary { border: 0 !important; }
    .halloween-site .navbar-nav .nav-link { margin-left: 0; padding: 12px 0; }
    .halloween-site > .halloween-ribbon + .container-fluid h1 { font-size: 38px; }
    .halloween-site > .halloween-ribbon + .container-fluid .service-gallery-image { max-height: 350px; height: auto; width: 100%; object-fit: contain; }
    .halloween-site .service-contact-strip { padding: 32px; }
    .halloween-gallery > .halloween-ribbon + .container-fluid .col-lg-8 { width: 65%; }
}

@media (max-width: 575.98px) {
    .halloween-ribbon .container { padding-left: 20px; padding-right: 20px; font-size: 12px; min-height: 38px; gap: 8px; }
    .halloween-ribbon span:nth-child(2) { display: none; }
    .halloween-site > .halloween-ribbon + .container-fluid h1 { font-size: 34px; }
    .halloween-site .service-contact-strip { padding: 28px 20px 190px; background-size: auto 225px; background-position: right bottom; }
    .halloween-site .service-contact-strip > * { max-width: 100%; }
    .halloween-site .service-info-card,
    .halloween-site .service-feature-card { padding: 24px; }
    .halloween-gallery > .halloween-ribbon + .container-fluid { background-size: auto 220px; background-position: right bottom; padding-bottom: 190px !important; }
    .halloween-gallery > .halloween-ribbon + .container-fluid .col-lg-8 { width: 100%; }
}

@media (max-width: 359.98px) {
    .halloween-site .navbar { padding-left: 12px !important; padding-right: 12px !important; }
    .halloween-site .navbar-brand-logo-text { font-size: 13px; }
    .halloween-site .navbar-brand img { height: 36px !important; margin-right: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .halloween-site *, .halloween-site *::before, .halloween-site *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
