body {
    margin: 0;
    color: #2f2430;
    background: #fff8fa;
    font-family: "Nunito Sans", "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.font-display {
    font-family: "Cormorant Garamond", Georgia, serif;
}

.font-script {
    font-family: "Parisienne", cursive;
}

.site-header {
    transition: transform 280ms ease, box-shadow 280ms ease;
    will-change: transform;
}

.site-header.is-hidden {
    transform: translateY(-100%);
}

.hero-full-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.footer-full-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.category-card-image {
    transform-origin: center;
}

@supports (width: 100dvw) {
    .hero-full-bleed {
        width: 100dvw;
        margin-left: calc(50% - 50dvw);
    }

    .footer-full-bleed {
        width: 100dvw;
        margin-left: calc(50% - 50dvw);
    }
}

.site-main {
    width: min(calc(100% - 2rem), 1360px);
    margin-inline: auto;
}

.site-main {
    min-height: 100px;
    padding-block: 0;
}

.announcement-glow {
    background: linear-gradient(
        110deg,
        transparent 0%,
        transparent 35%,
        rgba(255, 255, 255, 0.28) 50%,
        transparent 65%,
        transparent 100%
    );
    animation: announcement-glow 4.5s ease-in-out infinite;
    transform: translateX(-100%);
}

@keyframes announcement-glow {
    0%,
    18% {
        transform: translateX(-100%);
    }

    55%,
    100% {
        transform: translateX(100%);
    }
}

.admin-body {
    font-family: "Nunito Sans", "Segoe UI", Arial, sans-serif;
}

.admin-main {
    overflow-x: hidden;
}

.admin-sidebar {
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}

.static-page-content {
    display: grid;
    gap: 1rem;
}

.static-page-content h2,
.static-page-content h3 {
    margin-top: 0.75rem;
    color: #4c0519;
    font-weight: 800;
    line-height: 1.25;
}

.static-page-content h2 {
    font-size: 1.25rem;
}

.static-page-content h3 {
    font-size: 1.05rem;
}

.static-page-content ul,
.static-page-content ol {
    display: grid;
    gap: 0.75rem;
    padding-left: 0;
    list-style: none;
}

.static-page-content li {
    border-radius: 1rem;
    background: #fff1f2;
    padding: 0.75rem 1rem;
}
