/* Explain: Base reset, typography, accessibility widget, and custom scrollbar styling. */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    color: var(--text-color);
    scroll-padding-top: 96px;
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--background-color);
    color: var(--text-color);
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

button,
a,
select {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

::selection {
    background: var(--accent-color);
    color: var(--on-accent);
}

.hero-grain {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(224, 169, 187, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(224, 169, 187, 0.06) 1px, transparent 1px);
    background-size: 92px 92px;
    -webkit-mask-image: radial-gradient(circle at 72% 24%, #000 0%, transparent 74%);
    mask-image: radial-gradient(circle at 72% 24%, #000 0%, transparent 74%);
    pointer-events: none;
}

/* Accessibility widget — pinned to the left edge, fully circular */
#site123-accessibility-widget,
#site123-accessibility-widget > div {
    left: 1rem !important;
    right: auto !important;
    border-radius: 9999px !important;
    overflow: visible !important;
}

#site123-accessibility-widget button,
#site123-accessibility-widget a,
#site123-accessibility-widget span,
#site123-accessibility-widget div,
#site123-accessibility-widget li {
    border-radius: 9999px !important;
}

/* Force the floating toggle itself into a perfect circle */
#site123-accessibility-widget > div > button,
#site123-accessibility-widget > div > a,
#site123-accessibility-widget > button,
#site123-accessibility-widget > a {
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    min-height: 3.5rem !important;
    border-radius: 9999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Custom scrollbar — primary pink accent */
html {
    scrollbar-width: auto;
    scrollbar-color: var(--accent-color) var(--background-color);
}

::-webkit-scrollbar {
    width: 16px;
    height: 16px;
}

::-webkit-scrollbar-track {
    background: var(--background-color);
}

::-webkit-scrollbar-thumb {
    border: 4px solid var(--background-color);
    border-radius: 999px;
    background: var(--accent-color);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary-hover);
}

::-webkit-scrollbar-corner {
    background: var(--background-color);
}