/*
 * VIPelanlar — Base
 * ---------------------------------------------------------------
 * Resets and bare element defaults. No component classes here.
 */

* { box-sizing: border-box; }

html { overflow-x: hidden; -webkit-text-size-adjust: 100%; }

html, body { height: auto; }

body.vip-theme {
    margin: 0;
    background: var(--vip-color-bg);
    color: var(--vip-color-text);
    font-family: var(--vip-font-sans);
    font-size: var(--vip-text-base);
    line-height: var(--vip-leading-normal);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

:where(.vip-theme) img { max-width: 100%; display: block; }

:where(.vip-theme) a { color: var(--vip-color-link); }

:where(.vip-theme) h1, :where(.vip-theme) h2, :where(.vip-theme) h3, :where(.vip-theme) h4 {
    margin: 0 0 var(--vip-space-xs);
    font-weight: var(--vip-weight-bold);
    line-height: var(--vip-leading-tight);
    letter-spacing: -.01em;
}

:where(.vip-theme) h1 { font-size: var(--vip-text-display); }
:where(.vip-theme) h2 { font-size: var(--vip-text-xl); }
:where(.vip-theme) h3 { font-size: var(--vip-text-lg); }
:where(.vip-theme) h4 { font-size: var(--vip-text-md); }

:where(.vip-theme) p { margin: 0 0 var(--vip-space-sm); }

:where(.vip-theme) ul, :where(.vip-theme) ol { margin: 0; padding: 0; }

:where(.vip-theme) input, :where(.vip-theme) select, :where(.vip-theme) textarea, :where(.vip-theme) button {
    font: inherit;
    color: inherit;
}

:where(.vip-theme) button { background: none; }

.vip-theme :focus-visible {
    outline: 3px solid var(--vip-color-focus);
    outline-offset: 2px;
    border-radius: var(--vip-radius-sm);
}

/* Respect reduced-motion preference across the theme */
@media (prefers-reduced-motion: reduce) {
    .vip-theme *, .vip-theme *::before, .vip-theme *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}
