/* =========================================================
   VIRTUAL WORLD — FASHION E-COMMERCE DESIGN SYSTEM
   Reference theme: premium orange / black / white
   Usage: load this file before all section/component CSS.
========================================================= */

:root {
/* Brand — Royal Blue Tiger */
--vw-color-primary: #1262b7;
--vw-color-primary-hover: #0d4f96;
--vw-color-primary-active: #083d77;
--vw-color-primary-soft: #edf5fe;
--vw-color-primary-muted: #cfe3f8;
--vw-color-accent: #55a8ff;

/* Neutrals */
--vw-color-black: #061225;
--vw-color-heading: #061225;
--vw-color-text: #23344a;
--vw-color-text-muted: #64748b;
--vw-color-text-light: #94a3b8;
--vw-color-white: #ffffff;
--vw-color-background: #ffffff;
--vw-color-surface: #ffffff;
--vw-color-surface-soft: #f5f8fc;
--vw-color-surface-warm: #eef5fc;
--vw-color-border: #dbe5f0;
--vw-color-border-strong: #c8d7e6;
--vw-color-overlay: rgba(6, 18, 37, 0.58);

/* Status */
--vw-color-success: #16794d;
--vw-color-success-soft: #eaf7f0;
--vw-color-warning: #b7791f;
--vw-color-warning-soft: #fff7e8;
--vw-color-danger: #b42318;
--vw-color-danger-soft: #fff1f0;
--vw-color-info: #1262b7;
--vw-color-info-soft: #edf5fe;

    /* Typography */
    --vw-font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    --vw-font-size-2xs: 0.6875rem;
    --vw-font-size-xs: 0.75rem;
    --vw-font-size-sm: 0.8125rem;
    --vw-font-size-base: 0.875rem;
    --vw-font-size-md: 1rem;
    --vw-font-size-lg: 1.125rem;
    --vw-font-size-xl: 1.375rem;
    --vw-font-size-2xl: clamp(1.625rem, 2.2vw, 2.25rem);
    --vw-font-size-3xl: clamp(2rem, 3.5vw, 3.75rem);
    --vw-font-size-hero: clamp(2.25rem, 4.8vw, 5rem);
    --vw-font-weight-regular: 400;
    --vw-font-weight-medium: 500;
    --vw-font-weight-semibold: 600;
    --vw-font-weight-bold: 700;
    --vw-font-weight-extrabold: 800;
    --vw-line-height-tight: 1.08;
    --vw-line-height-heading: 1.2;
    --vw-line-height-body: 1.65;
    --vw-letter-spacing-tight: -0.035em;
    --vw-letter-spacing-normal: 0;
    --vw-letter-spacing-wide: 0.12em;

    /* Spacing — 4px base scale */
    --vw-space-0: 0;
    --vw-space-1: 0.25rem;
    --vw-space-2: 0.5rem;
    --vw-space-3: 0.75rem;
    --vw-space-4: 1rem;
    --vw-space-5: 1.25rem;
    --vw-space-6: 1.5rem;
    --vw-space-7: 1.75rem;
    --vw-space-8: 2rem;
    --vw-space-10: 2.5rem;
    --vw-space-12: 3rem;
    --vw-space-14: 3.5rem;
    --vw-space-16: 4rem;
    --vw-space-20: 5rem;
    --vw-space-24: 6rem;
    --vw-section-space: clamp(3rem, 6vw, 6rem);
    --vw-container-gutter: clamp(1rem, 3vw, 2rem);

    /* Layout */
    --vw-container-max: 1440px;
    --vw-container-wide: 1680px;
    --vw-header-topbar-height: 36px;
    --vw-header-main-height: 78px;
    --vw-header-nav-height: 48px;
    --vw-mobile-header-height: 64px;
    --vw-control-height-sm: 36px;
    --vw-control-height: 44px;
    --vw-control-height-lg: 50px;

    /* Radius */
    --vw-radius-xs: 4px;
    --vw-radius-sm: 6px;
    --vw-radius-md: 10px;
    --vw-radius-lg: 16px;
    --vw-radius-xl: 24px;
    --vw-radius-pill: 999px;
    --vw-radius-circle: 50%;

    /* Borders */
    --vw-border-width: 1px;
    --vw-border: var(--vw-border-width) solid var(--vw-color-border);
    --vw-border-strong: var(--vw-border-width) solid var(--vw-color-border-strong);

    /* Shadows */
    --vw-shadow-xs: 0 2px 8px rgba(17, 17, 17, 0.05);
    --vw-shadow-sm: 0 6px 20px rgba(17, 17, 17, 0.07);
    --vw-shadow-md: 0 14px 36px rgba(17, 17, 17, 0.1);
    --vw-shadow-lg: 0 24px 64px rgba(17, 17, 17, 0.14);
    --vw-shadow-primary: 0 12px 28px rgba(18, 98, 183, 0.24);

    /* Motion */
    --vw-duration-fast: 160ms;
    --vw-duration-normal: 260ms;
    --vw-duration-slow: 420ms;
    --vw-ease: cubic-bezier(0.2, 0.65, 0.3, 1);
    --vw-transition-fast: var(--vw-duration-fast) var(--vw-ease);
    --vw-transition: var(--vw-duration-normal) var(--vw-ease);
    --vw-transition-slow: var(--vw-duration-slow) var(--vw-ease);

    /* Layers */
    --vw-z-base: 1;
    --vw-z-sticky: 100;
    --vw-z-dropdown: 300;
    --vw-z-header: 500;
    --vw-z-drawer: 800;
    --vw-z-modal: 1000;
    --vw-z-toast: 1200;



    
}

/* =========================================================
   GLOBAL FOUNDATION
========================================================= */

html {
    color-scheme: light;
    scroll-behavior: smooth;
}

body {
    margin: var(--vw-space-0);
    background: var(--vw-color-background);
    color: var(--vw-color-text);
    font-family: var(--vw-font-family);
    font-size: var(--vw-font-size-base);
    font-weight: var(--vw-font-weight-regular);
    line-height: var(--vw-line-height-body);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
svg,
video {
    max-width: 100%;
}

img {
    height: auto;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
}

button {
    color: inherit;
}

::selection {
    background: var(--vw-color-primary-muted);
    color: var(--vw-color-heading);
}

:focus-visible {
    outline: 2px solid var(--vw-color-primary);
    outline-offset: 3px;
}

/* =========================================================
   SHARED LAYOUT UTILITIES
========================================================= */

.vw-container,
.vw-container-wide {
    width: min(100%, var(--vw-container-max));
    margin-inline: auto;
    padding-inline: var(--vw-container-gutter);
}

.vw-container-wide {
    width: min(100%, var(--vw-container-wide));
}

.vw-section {
    padding-block: var(--vw-section-space);
}

.vw-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* =========================================================
   RESPONSIVE TOKEN OVERRIDES
========================================================= */

@media (max-width: 991.98px) {
    :root {
        --vw-header-topbar-height: 30px;
        --vw-header-main-height: 68px;
        --vw-header-nav-height: 42px;
        --vw-section-space: clamp(2.75rem, 7vw, 4.5rem);
    }
}

@media (max-width: 767.98px) {
    :root {
        --vw-font-size-base: 0.8125rem;
        --vw-font-size-hero: clamp(2rem, 10vw, 3.25rem);
        --vw-container-gutter: 1rem;
        --vw-section-space: 2.75rem;
        --vw-header-topbar-height: 26px;
        --vw-mobile-header-height: 60px;
        --vw-control-height: 42px;
        --vw-control-height-lg: 46px;
        --vw-radius-lg: 14px;
        --vw-radius-xl: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
