/* ============ merged from css\google-fonts.css ============ */
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOuaBXso.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIO-aBXso.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofINeaB.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOuaBXso.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIO-aBXso.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofINeaB.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOuaBXso.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIO-aBXso.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofINeaB.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOuaBXso.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIO-aBXso.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofINeaB.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOOaBXso.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIMeaBXso.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIOuaBXso.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofIO-aBXso.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/XRXV3I6Li01BKofINeaB.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============ merged from css\store.css ============ */
/* ============================================
   LOADOK.COM Storefront — Vibrant & Playful
   Purple / Pink / Green on light airy white
   ============================================ */

/* Fonts loaded via google-fonts.css in layout */

:root {
    --wk-purple:     #8b5cf6;
    --wk-purple-soft:#ede9fe;
    --wk-pink:       #ec4899;
    --wk-pink-soft:  #fce7f3;
    --wk-green:      #10b981;
    --wk-green-soft: #d1fae5;
    --wk-yellow:     #f59e0b;
    --wk-red:        #ef4444;
    --wk-bg:         #ffffff;
    --wk-surface:    #ffffff;
    --wk-text:       #1e1b2e;
    --wk-muted:      #6b7280;
    --wk-border:     #e8e5df;
    --font:          'Nunito', sans-serif;
    --font-mono:     'JetBrains Mono', monospace;
    --radius:        14px;
    --radius-sm:     8px;
    --max-w:         1200px;
}

/* Ocean Blue */
[data-theme="ocean"] {
    --wk-purple:     #0ea5e9;
    --wk-purple-soft:#e0f2fe;
    --wk-pink:       #06b6d4;
    --wk-pink-soft:  #cffafe;
    --wk-green:      #10b981;
    --wk-green-soft: #d1fae5;
    --wk-yellow:     #f59e0b;
    --wk-red:        #ef4444;
    --wk-bg:         #ffffff;
    --wk-surface:    #ffffff;
    --wk-text:       #0c1e2e;
    --wk-muted:      #64748b;
    --wk-border:     #e0e7ef;
}

/* Forest Green */
[data-theme="forest"] {
    --wk-purple:     #16a34a;
    --wk-purple-soft:#dcfce7;
    --wk-pink:       #ca8a04;
    --wk-pink-soft:  #fef9c3;
    --wk-green:      #16a34a;
    --wk-green-soft: #dcfce7;
    --wk-yellow:     #ca8a04;
    --wk-red:        #dc2626;
    --wk-bg:         #ffffff;
    --wk-surface:    #ffffff;
    --wk-text:       #14261a;
    --wk-muted:      #6b7a6f;
    --wk-border:     #dde6da;
}

/* Sunset Orange */
[data-theme="sunset"] {
    --wk-purple:     #f97316;
    --wk-purple-soft:#fff7ed;
    --wk-pink:       #e11d48;
    --wk-pink-soft:  #ffe4e6;
    --wk-green:      #10b981;
    --wk-green-soft: #d1fae5;
    --wk-yellow:     #eab308;
    --wk-red:        #e11d48;
    --wk-bg:         #ffffff;
    --wk-surface:    #ffffff;
    --wk-text:       #2e1a0e;
    --wk-muted:      #78716c;
    --wk-border:     #ede5db;
}

/* Midnight Dark */
[data-theme="midnight"] {
    --wk-purple:     #a78bfa;
    --wk-purple-soft:#1e1b3a;
    --wk-pink:       #f472b6;
    --wk-pink-soft:  #2a1528;
    --wk-green:      #34d399;
    --wk-green-soft: #0d2e22;
    --wk-yellow:     #fbbf24;
    --wk-red:        #fb7185;
    --wk-bg:         #ffffff;
    --wk-surface:    #ffffff;
    --wk-text:       #1e1b2e;
    --wk-muted:      #6b7280;
    --wk-border:     #e8e5df;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font); background: var(--wk-bg); color: var(--wk-text); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* ── Branded Page Loader ────────────────────── */
.wk-page-loader {
    position: fixed; inset: 0; background: var(--wk-bg);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    z-index: 9999; gap: 16px;
    transition: opacity .2s, visibility .2s;
}
.wk-page-loader.done { opacity: 0; visibility: hidden; pointer-events: none; }
.wk-loader-spinner { display: block; }
.wk-loader-bar {
    width: 120px; height: 4px; background: var(--wk-border); border-radius: 2px; overflow: hidden;
}
.wk-loader-bar::after {
    content: ''; display: block; width: 40%; height: 100%;
    background: linear-gradient(90deg, var(--wk-purple), var(--wk-pink), var(--wk-green));
    border-radius: 2px; animation: loaderSlide 1s ease-in-out infinite;
}
@keyframes loaderSlide { 0%{transform:translateX(-100%)} 100%{transform:translateX(350%)} }

/* ── Header ─────────────────────────────────── */
.wk-header { background: var(--wk-surface); border-bottom: 1px solid var(--wk-border); position: sticky; top: 0; z-index: 100; }
.wk-header-inner {
    max-width: var(--max-w); margin: 0 auto; padding: 0 24px; height: 68px;
    display: flex; align-items: center; justify-content: space-between;
}
.wk-logo { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 900; }
.wk-logo-text {
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.wk-header-nav { display: flex; align-items: center; gap: 24px; }
.wk-header-nav > a, .wk-nav-dropdown-trigger { font-size: 14px; font-weight: 700; color: var(--wk-muted); transition: color .2s; text-decoration: none; }
.wk-header-nav > a:hover, .wk-nav-dropdown-trigger:hover { color: var(--wk-purple); }

/* App download banner (mobile only, hidden by JS on /app page or after dismiss) */
.wk-app-banner { display: none; }
@media (max-width: 768px) {
    .wk-app-banner:not([hidden]) {
        display: flex; align-items: center; gap: 8px;
        max-width: var(--max-w); margin: 0 auto; padding: 6px 10px 8px;
    }
    .wk-app-banner-main {
        flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px;
        background: linear-gradient(135deg, #f5f0ff, #fdf2f8);
        border: 1.5px solid #e9d5ff; border-radius: 12px; padding: 8px 12px;
        text-decoration: none;
    }
    .wk-app-banner-icon {
        flex-shrink: 0; width: 32px; height: 32px; border-radius: 9px;
        background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
        color: #fff; display: flex; align-items: center; justify-content: center;
    }
    .wk-app-banner-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
    .wk-app-banner-text strong { font-size: 13px; font-weight: 800; color: var(--wk-text); }
    .wk-app-banner-text em {
        font-style: normal; font-size: 11px; color: var(--wk-muted);
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .wk-app-banner-cta {
        flex-shrink: 0; font-size: 12px; font-weight: 800; color: #fff;
        background: var(--wk-purple); border-radius: 999px; padding: 6px 12px;
    }
    .wk-app-banner-close {
        flex-shrink: 0; width: 26px; height: 26px; border: none; border-radius: 50%;
        background: rgba(0,0,0,.06); color: var(--wk-muted); font-size: 12px;
        cursor: pointer; display: flex; align-items: center; justify-content: center;
    }
}

/* Category Dropdown */
.wk-nav-dropdown { position: relative; }
.wk-nav-dropdown-trigger { cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.wk-nav-dropdown-menu {
    display: none; position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%);
    background: var(--wk-surface); border: 2px solid var(--wk-border); border-radius: 12px;
    padding: 10px 0; min-width: 200px; box-shadow: 0 12px 32px rgba(0,0,0,.08);
    z-index: 200;
}
.wk-nav-dropdown-menu::before {
    content: ''; position: absolute; top: -8px; left: 50%; transform: translateX(-50%);
    border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid var(--wk-border);
}
.wk-nav-dropdown-menu::after {
    content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
    border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid var(--wk-surface);
}
.wk-nav-dropdown-menu a {
    display: block; padding: 8px 20px; font-size: 13px; font-weight: 600; color: var(--wk-text);
    transition: all .15s; text-decoration: none;
}
.wk-nav-dropdown-menu a:hover { background: var(--wk-purple-soft); color: var(--wk-purple); }
.wk-nav-dropdown-menu a.wk-nav-all { font-weight: 800; color: var(--wk-purple); }
.wk-nav-dropdown-menu a.wk-nav-child { font-weight: 700; }
.wk-nav-dropdown-menu a.wk-nav-grandchild { padding-left: 28px; font-size: 13px; color: var(--wk-text-muted); }
.wk-nav-dropdown:hover .wk-nav-dropdown-menu { display: block; }
.wk-nav-arrow { font-size: 9px; opacity: .5; }
/* Invisible bridge so mouse can travel from trigger to menu */
.wk-nav-dropdown::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 12px; }

/* Cart button */
.wk-cart-btn {
    position: relative; background: none; border: 2px solid var(--wk-border);
    border-radius: var(--radius-sm); cursor: pointer; padding: 8px 12px;
    font-family: var(--font); font-weight: 800; font-size: 13px;
    color: var(--wk-text); display: flex; align-items: center; gap: 6px;
    transition: all .2s;
}
.wk-cart-btn:hover { border-color: var(--wk-purple); color: var(--wk-purple); }
.wk-cart-count {
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    color: #fff; font-size: 10px; font-weight: 900;
    min-width: 20px; height: 20px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    transition: transform .3s cubic-bezier(.68,-.55,.27,1.55);
}
.wk-cart-count.bump { transform: scale(1.4); }

/* ── Container ──────────────────────────────── */
.wk-container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }

/* ── Hero ───────────────────────────────────── */
.wk-hero {
    background: linear-gradient(135deg, #1e1b2e 0%, #312e81 50%, #581c87 100%);
    padding: 72px 0; text-align: center; color: #fff;
    position: relative; overflow: hidden;
}
.wk-hero::before, .wk-hero::after {
    content: ''; position: absolute; border-radius: 50%;
    filter: blur(60px); opacity: .2; pointer-events: none;
}
.wk-hero::before { width: 300px; height: 300px; background: var(--wk-pink); top: -50px; right: 10%; }
.wk-hero::after { width: 250px; height: 250px; background: var(--wk-green); bottom: -80px; left: 15%; }
.wk-hero h1 {
    font-size: clamp(28px, 5vw, 48px); font-weight: 900;
    letter-spacing: -1px; margin-bottom: 12px; line-height: 1.1;
}
.wk-hero p { font-size: 17px; color: rgba(255,255,255,.7); max-width: 480px; margin: 0 auto 28px; }
.wk-hero-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    color: #fff; padding: 14px 32px; border-radius: var(--radius-sm);
    font-weight: 800; font-size: 15px;
    box-shadow: 0 4px 20px rgba(139,92,246,.4);
    transition: all .2s;
}
.wk-hero-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(139,92,246,.5); }

/* ── Section ────────────────────────────────── */
.wk-section { padding: 48px 0; }
.wk-section-title { font-size: 26px; font-weight: 900; letter-spacing: -.5px; margin-bottom: 6px; }
.wk-section-sub { color: var(--wk-muted); font-size: 15px; margin-bottom: 32px; font-weight: 600; }

/* ── Product Grid ───────────────────────────── */
.wk-product-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
@media (min-width: 640px) {
    .wk-product-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
@media (min-width: 1024px) {
    .wk-product-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; }
}

.wk-product-card {
    background: #fff; border: 1px solid #eee;
    border-radius: 8px; overflow: hidden;
    transition: all .3s cubic-bezier(.25,.8,.25,1);
    cursor: pointer;
    animation: cardReveal .5s ease backwards;
    position: relative;
}
.wk-product-card:nth-child(1) { animation-delay: .05s; }
.wk-product-card:nth-child(2) { animation-delay: .1s; }
.wk-product-card:nth-child(3) { animation-delay: .15s; }
.wk-product-card:nth-child(4) { animation-delay: .2s; }
.wk-product-card:nth-child(5) { animation-delay: .25s; }
.wk-product-card:nth-child(6) { animation-delay: .3s; }

@keyframes cardReveal { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

.wk-product-card:hover {
    transform: translateY(-4px);
    border-color: #ddd;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.wk-product-img {
    aspect-ratio: 1/1; background: #f8f8f8;
    overflow: hidden; position: relative;
}
.wk-product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.wk-product-card:hover .wk-product-img img { transform: scale(1.05); }

/* Promo tag on image - bottom left red bar */
.wk-product-badge {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: #e60023;
    color: #fff; font-size: 11px; font-weight: 700;
    padding: 5px 10px;
    text-transform: none; letter-spacing: 0;
    line-height: 1.2;
}
.wk-product-badge.featured { background: linear-gradient(135deg, var(--wk-green), #34d399); }

/* Round cart button - bottom right of image */
.wk-product-cart-btn {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    z-index: 2;
    font-size: 16px;
    padding: 0;
}
.wk-product-cart-btn:hover {
    background: var(--wk-purple);
    border-color: var(--wk-purple);
    color: #fff;
    transform: scale(1.1);
}
.wk-product-cart-btn.added {
    background: var(--wk-green);
    border-color: var(--wk-green);
    color: #fff;
}

.wk-product-info { padding: 10px 12px 12px; }
.wk-product-cat {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .5px; color: var(--wk-purple); margin-bottom: 3px;
}
/* Product name - single line truncate */
.wk-product-name {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
    line-height: 1.4;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Price row */
.wk-product-price {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.wk-product-price .current {
    font-size: 16px;
    font-weight: 800;
    color: #e60023;
    font-family: var(--font-mono);
}
.wk-product-price .original {
    font-size: 12px;
    color: #999;
    text-decoration: line-through;
    font-weight: 400;
}
.wk-product-price .discount {
    font-size: 11px;
    font-weight: 700;
    color: #e60023;
}

/* Legacy full-width add button - hide in new design */
.wk-add-btn {
    display: none;
}

/* ── Cart Drawer ────────────────────────────── */
.wk-cart-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,.35);
    backdrop-filter: blur(4px); z-index: 200;
    opacity: 0; visibility: hidden; transition: all .3s;
}
.wk-cart-overlay.open { opacity: 1; visibility: visible; }

.wk-cart-drawer {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 400px; max-width: 100vw;
    background: var(--wk-surface);
    box-shadow: -8px 0 40px rgba(0,0,0,.12);
    z-index: 201;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.25,.8,.25,1);
    display: flex; flex-direction: column;
}
.wk-cart-drawer.open { transform: translateX(0); }

.wk-cart-drawer-header {
    padding: 20px 24px; border-bottom: 1px solid var(--wk-border);
    display: flex; align-items: center; justify-content: space-between;
}
.wk-cart-drawer-header h2 { font-size: 18px; font-weight: 900; }
.wk-cart-close {
    background: var(--wk-bg); border: 1px solid var(--wk-border);
    border-radius: var(--radius-sm); padding: 6px 12px;
    cursor: pointer; font-size: 14px; font-weight: 800;
    color: var(--wk-text); transition: all .2s;
}
.wk-cart-close:hover { border-color: var(--wk-purple); color: var(--wk-purple); }

.wk-cart-items { flex: 1; overflow-y: auto; padding: 16px 24px; }

.wk-cart-item {
    display: flex; gap: 14px; padding: 14px 0;
    border-bottom: 1px solid var(--wk-border);
    animation: itemSlideIn .3s ease;
}
@keyframes itemSlideIn { from{opacity:0;transform:translateX(20px)} to{opacity:1;transform:translateX(0)} }

.wk-cart-item-img {
    width: 60px; height: 60px; border-radius: var(--radius-sm);
    background: var(--wk-bg); overflow: hidden; flex-shrink: 0;
}
.wk-cart-item-img img { width: 100%; height: 100%; object-fit: cover; }
.wk-cart-item-info { flex: 1; }
.wk-cart-item-name { font-weight: 800; font-size: 14px; margin-bottom: 2px; }
.wk-cart-item-price { font-family: var(--font-mono); font-size: 14px; font-weight: 700; }

.wk-qty-ctrl {
    display: inline-flex; border: 2px solid var(--wk-border); border-radius: var(--radius-sm);
    overflow: hidden; margin-top: 6px;
}
.wk-qty-btn {
    background: var(--wk-bg); border: none; width: 30px; height: 28px;
    cursor: pointer; font-size: 14px; font-weight: 800; color: var(--wk-text);
    transition: background .15s;
}
.wk-qty-btn:hover { background: var(--wk-purple-soft); color: var(--wk-purple); }
.wk-qty-val {
    width: 32px; height: 28px; text-align: center; border: none;
    background: var(--wk-surface); font-family: var(--font-mono); font-size: 13px; font-weight: 700;
}

.wk-cart-empty { text-align: center; padding: 60px 20px; color: var(--wk-muted); }
.wk-cart-empty-icon { font-size: 48px; margin-bottom: 12px; opacity: .4; }

.wk-cart-footer {
    padding: 20px 24px; border-top: 1px solid var(--wk-border); background: var(--wk-bg);
}
.wk-cart-total {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;
}
.wk-cart-total-label { font-size: 14px; font-weight: 700; color: var(--wk-muted); }
.wk-cart-total-value { font-size: 22px; font-weight: 900; font-family: var(--font-mono); }

.wk-checkout-btn {
    width: 100%; padding: 14px; border: none; border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    color: #fff; font-family: var(--font); font-size: 15px; font-weight: 800;
    cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
    box-shadow: 0 4px 15px rgba(139,92,246,.25); transition: all .2s;
}
.wk-checkout-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 25px rgba(139,92,246,.35); }

/* ── Hero Search Section ─────────────────────── */
.wk-hero-search {
    background: #4e4141;
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}
.wk-hero-search::before, .wk-hero-search::after {
    content: ''; position: absolute; border-radius: 50%;
    filter: blur(60px); opacity: .2; pointer-events: none;
}
.wk-hero-search::before { width: 300px; height: 300px; background: var(--wk-pink); top: -50px; right: 10%; }
.wk-hero-search::after { width: 250px; height: 250px; background: var(--wk-green); bottom: -80px; left: 15%; }
.wk-hero-search-content {
    position: relative; z-index: 2;
    text-align: center;
    display: flex; flex-direction: column;
    align-items: center; gap: 20px;
}
.wk-hero-tagline {
    color: #ef4444;
    font-size: clamp(20px, 3vw, 32px);
    font-weight: 900;
    line-height: 1.3;
    max-width: 800px;
    text-shadow: 0 2px 12px rgba(239,68,68,.3);
}
.wk-hero-search-form {
    display: flex;
    flex: 1;
    width: 100%;
    gap: 0;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
.wk-hero-search-input {
    flex: 1;
    border: none;
    padding: 16px 20px;
    font-family: var(--font);
    font-size: 15px;
    font-weight: 600;
    outline: none;
    color: var(--wk-text);
    background: #fff;
}
.wk-hero-search-input::placeholder { color: var(--wk-muted); font-weight: 500; }
.wk-hero-search-btn {
    border: none;
    padding: 0 28px;
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    color: #fff;
    font-family: var(--font);
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s;
}
.wk-hero-search-btn:hover { opacity: .9; }

.wk-hero-search-row {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 800px;
}
.wk-hero-qr {
    flex-shrink: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.wk-hero-qr-box {
    width: 90px;
    height: 90px;
    border-radius: 10px;
    border: 2px solid rgba(255,255,255,.2);
    background: #fff;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.wk-hero-qr-box svg { width: 100% !important; height: 100% !important; display: block; }
.wk-hero-qr-label {
    color: rgba(255,255,255,.7);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .wk-hero-search { padding: 40px 0; }
    .wk-hero-tagline { font-size: 18px; }
    .wk-hero-qr { display: none; }
    .wk-hero-search-form { max-width: 100%; }
    .wk-hero-search-input { padding: 14px 16px; font-size: 14px; }
    .wk-hero-search-btn { padding: 0 20px; font-size: 14px; }
}
@media (max-width: 480px) {
    .wk-hero-search { padding: 28px 0; }
    .wk-hero-tagline { font-size: 16px; }
    .wk-hero-search-input { padding: 12px 14px; font-size: 13px; }
    .wk-hero-search-btn { padding: 0 16px; font-size: 13px; }
}

/* ── Hero Carousel (legacy, kept for reference) ─── */
.wk-hero-carousel {
    position: relative;
    overflow: hidden;
    background: #0f0a1e;
}
.wk-carousel-track {
    display: flex;
    transition: transform .6s cubic-bezier(.25,.8,.25,1);
}
.wk-carousel-slide {
    min-width: 100%;
    flex-shrink: 0;
}
.wk-hero-slide {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
}
.wk-hero-slide-bg {
    position: absolute; inset: 0;
    z-index: 0;
}
.wk-hero-slide-bg img {
    width: 100%; height: 100%;
    object-fit: cover;
    filter: blur(40px) saturate(1.5);
    opacity: .35;
    transform: scale(1.2);
}
.wk-hero-slide-overlay {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(135deg, #0f0a1e 0%, transparent 100%);
    opacity: .92;
}
.wk-hero-slide-overlay::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    opacity: .2;
}
.wk-hero-slide-content {
    position: relative; z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    padding-top: 48px;
    padding-bottom: 64px;
}
.wk-hero-slide-text {
    color: #fff;
}
.wk-hero-badge {
    display: inline-block;
    background: var(--wk-pink);
    color: #fff;
    font-size: 12px; font-weight: 800;
    padding: 5px 14px;
    border-radius: 99px;
    margin-bottom: 16px;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.wk-hero-cat {
    font-size: 13px;
    font-weight: 700;
    color: rgba(255,255,255,.5);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}
.wk-hero-name {
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 12px;
    letter-spacing: -.5px;
    color: #fff;
}
.wk-hero-desc {
    font-size: 16px;
    color: rgba(255,255,255,.65);
    line-height: 1.6;
    margin-bottom: 20px;
    max-width: 440px;
}
.wk-hero-price {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 28px;
}
.wk-hero-price-current {
    font-size: clamp(28px, 3.5vw, 38px);
    font-weight: 900;
    color: #fff;
}
.wk-hero-price-original {
    font-size: 18px;
    color: rgba(255,255,255,.4);
    text-decoration: line-through;
}
.wk-hero-actions {
    display: flex; gap: 12px; flex-wrap: wrap;
}
.wk-hero-btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 32px;
    background: #fff;
    color: var(--wk-purple);
    border-radius: 12px;
    font-weight: 800; font-size: 15px;
    text-decoration: none;
    transition: all .2s;
    box-shadow: 0 4px 20px rgba(0,0,0,.2);
}
.wk-hero-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0,0,0,.3);
}
.wk-hero-btn-cart {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 28px;
    background: rgba(255,255,255,.12);
    color: #fff;
    border: 2px solid rgba(255,255,255,.25);
    border-radius: 12px;
    font-family: var(--font);
    font-weight: 800; font-size: 15px;
    cursor: pointer;
    transition: all .2s;
    backdrop-filter: blur(8px);
}
.wk-hero-btn-cart:hover {
    background: rgba(255,255,255,.2);
    border-color: rgba(255,255,255,.4);
    transform: translateY(-2px);
}
.wk-hero-btn-cart.added {
    background: var(--wk-green) !important;
    border-color: var(--wk-green) !important;
}
.wk-hero-slide-img {
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    position: relative;
}
.wk-hero-slide-img img {
    max-height: 400px;
    max-width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 20px 60px rgba(0,0,0,.5));
    transition: transform .5s cubic-bezier(.25,.8,.25,1);
}
.wk-hero-slide-img:hover img {
    transform: scale(1.05) translateY(-8px);
}

/* Hero arrows */
.wk-hero-carousel .wk-carousel-prev,
.wk-hero-carousel .wk-carousel-next {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 48px; height: 48px; border-radius: 50%;
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    border: 2px solid rgba(255,255,255,.2);
    font-size: 22px; font-weight: 700; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #fff; transition: all .2s;
    z-index: 3;
}
.wk-hero-carousel .wk-carousel-prev { left: 20px; }
.wk-hero-carousel .wk-carousel-next { right: 20px; }
.wk-hero-carousel .wk-carousel-prev:hover,
.wk-hero-carousel .wk-carousel-next:hover {
    background: rgba(255,255,255,.2);
    border-color: rgba(255,255,255,.4);
}

/* Hero dots */
.wk-hero-carousel .wk-carousel-dots {
    display: flex; justify-content: center; gap: 8px;
    position: absolute; bottom: 20px; left: 0; right: 0;
    z-index: 3;
    padding: 0;
}
.wk-hero-carousel .wk-carousel-dot,
.wk-carousel-dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: rgba(255,255,255,.3); border: none;
    cursor: pointer; transition: all .3s;
    padding: 0;
}
.wk-hero-carousel .wk-carousel-dot.active,
.wk-carousel-dot.active {
    background: #fff;
    transform: scale(1.2);
    box-shadow: 0 0 12px rgba(255,255,255,.5);
}

/* Slide counter */
.wk-hero-counter {
    position: absolute; top: 20px; right: 24px;
    z-index: 3;
    color: rgba(255,255,255,.5);
    font-size: 13px; font-weight: 700;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 768px) {
    .wk-hero-slide { min-height: auto; }
    .wk-hero-slide-content {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-top: 28px; padding-bottom: 40px;
    }
    .wk-hero-slide-img { order: -1; }
    .wk-hero-slide-img img { max-height: 200px; }
    .wk-hero-name { font-size: 22px; margin-bottom: 8px; }
    .wk-hero-desc { font-size: 13px; margin-bottom: 14px; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
    .wk-hero-cat { font-size: 11px; margin-bottom: 6px; }
    .wk-hero-badge { font-size: 10px; padding: 3px 10px; margin-bottom: 10px; }
    .wk-hero-price { margin-bottom: 18px; gap: 8px; }
    .wk-hero-price-current { font-size: 22px; }
    .wk-hero-price-original { font-size: 14px; }
    .wk-hero-actions { gap: 8px; }
    .wk-hero-btn-primary { padding: 10px 22px; font-size: 13px; }
    .wk-hero-btn-cart { padding: 10px 18px; font-size: 13px; }
    .wk-hero-carousel .wk-carousel-prev,
    .wk-hero-carousel .wk-carousel-next { width: 32px; height: 32px; font-size: 16px; }
    .wk-hero-carousel .wk-carousel-prev { left: 8px; }
    .wk-hero-carousel .wk-carousel-next { right: 8px; }
    .wk-hero-counter { font-size: 11px; top: 12px; right: 14px; }
    .wk-hero-carousel .wk-carousel-dots { bottom: 12px; gap: 6px; }
    .wk-hero-carousel .wk-carousel-dot { width: 7px; height: 7px; }
}

@media (max-width: 480px) {
    .wk-hero-slide-content {
        padding-top: 20px; padding-bottom: 32px;
        gap: 12px;
    }
    .wk-hero-slide-img img { max-height: 160px; }
    .wk-hero-name { font-size: 18px; }
    .wk-hero-desc { display: none; }
    .wk-hero-price-current { font-size: 18px; }
    .wk-hero-btn-primary { padding: 8px 18px; font-size: 12px; }
    .wk-hero-btn-cart { padding: 8px 14px; font-size: 12px; }
    .wk-hero-carousel .wk-carousel-prev,
    .wk-hero-carousel .wk-carousel-next { width: 28px; height: 28px; font-size: 14px; }
}

/* ── Skeleton Loader ────────────────────────── */
.wk-skel {
    background: linear-gradient(90deg, var(--wk-border) 25%, #f0ede8 50%, var(--wk-border) 75%);
    background-size: 200% 100%; animation: shimmer 1.5s ease-in-out infinite; border-radius: var(--radius-sm);
}
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── Footer ─────────────────────────────────── */
.wk-footer { background: var(--wk-text); color: rgba(255,255,255,.5); padding: 40px 0; margin-top: 60px; }
.wk-footer-inner {
    max-width: var(--max-w); margin: 0 auto; padding: 0 24px;
    display: flex; align-items: center; justify-content: space-between;
}
.wk-footer-brand { display: flex; align-items: center; gap: 8px; font-weight: 800; color: #fff; }
.wk-footer a { color: var(--wk-purple); }

/* ── Responsive ─────────────────────────────── */
@media (max-width: 768px) {
    .wk-header-nav { display: none; }
    .wk-product-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .wk-cart-drawer { width: 100vw; }
    .wk-hero h1 { font-size: 28px; }

    /* Header mobile adjustments */
    .wk-header-inner {
        padding: 0 12px;
        height: 56px;
        gap: 8px;
    }
    .wk-logo { font-size: 16px; }
    .wk-logo img { max-height: 28px !important; max-width: 120px !important; }

    /* Locale wrap: shrink on mobile */
    .wk-locale-wrap { gap: 6px; }
    .wk-locale-btn {
        padding: 5px 8px;
        font-size: 11px;
        gap: 4px;
    }
    .wk-locale-btn .wk-flag.sm { width: 16px; height: 12px; }
    .wk-locale-sep { display: none; }

    /* Cart button: hide text on mobile */
    .wk-cart-btn {
        padding: 6px 8px;
        font-size: 0;
    }
    .wk-cart-btn::before {
        content: '🛒';
        font-size: 16px;
    }

    /* Locale panel: fit on mobile */
    .wk-locale-panel {
        position: fixed;
        top: 56px;
        right: 12px;
        left: auto;
        width: 220px;
        max-width: calc(100vw - 24px);
        z-index: 1000;
        box-sizing: border-box;
    }

    /* Footer: tighter on mobile */
    .wk-footer-inner > div:first-child {
        gap: 16px;
    }

    /* Container: reduce padding on mobile */
    .wk-container { padding: 0 12px; }

    /* Sections: reduce padding on mobile */
    .wk-section { padding: 32px 0; }

    /* Account menu: compact on mobile */
    #accountMenu button {
        padding: 5px 8px !important;
        font-size: 12px !important;
    }
    #accountDrop {
        width: 180px !important;
        right: 0 !important;
    }
}

@media (max-width: 480px) {
    .wk-product-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }

    .wk-header-inner { padding: 0 10px; height: 52px; }
    .wk-logo { font-size: 14px; }

    /* Locale: only show flag + currency symbol on smallest screens */
    .wk-locale-btn #wkLocaleBtnLang { display: none; }
    .wk-locale-btn { padding: 4px 6px; }

    /* Locale panel: adjust for 480px screen */
    .wk-locale-panel {
        top: 52px;
        right: 10px;
        width: 220px;
        max-width: calc(100vw - 20px);
    }

    .wk-cart-btn { padding: 5px 7px; }
    .wk-cart-btn::before { font-size: 14px; }

    /* Account menu: even more compact on smallest screens */
    #accountMenu button {
        padding: 4px 6px !important;
        font-size: 11px !important;
    }
    #accountMenu button > span:first-child { display: none; }
}

/* ── Category Grid ─────────────────────────── */
.wk-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 24px;
}
.wk-category-card {
    display: block;
    text-decoration: none;
    background: var(--wk-surface);
    border: 2px solid var(--wk-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all .2s;
}
.wk-category-card:hover { border-color: var(--wk-purple); transform: translateY(-2px); }
.wk-category-img {
    height: 140px;
    overflow: hidden;
    background: var(--wk-bg);
}
.wk-category-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.wk-category-card:hover .wk-category-img img { transform: scale(1.05); }
.wk-category-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 40px; opacity: .15;
}
.wk-category-info { padding: 14px 16px; }
.wk-category-name { font-weight: 800; font-size: 15px; color: var(--wk-text); }
.wk-category-count { font-size: 12px; color: var(--wk-muted); margin-top: 2px; }

/* ── 3-Level Category Tree ─────────────────── */
.wk-cat-tree {
    background: transparent;
    border: none;
    border-radius: 0;
    margin-top: 16px;
    overflow: visible;
}
.wk-cat-tree-l1 {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    background: transparent;
    text-decoration: none;
    transition: opacity .2s;
    border-bottom: 1px solid var(--wk-border);
}
.wk-cat-tree-l1:hover { opacity: .75; }
.wk-cat-tree-img {
    width: 36px; height: 36px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}
.wk-cat-tree-icon {
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; flex-shrink: 0;
}
.wk-cat-tree-name {
    font-weight: 800;
    font-size: 16px;
    color: var(--wk-text);
    flex: 1;
}
.wk-cat-tree-arrow {
    font-size: 20px;
    color: var(--wk-muted);
    flex-shrink: 0;
    transition: transform .2s;
}
.wk-cat-tree-l1:hover .wk-cat-tree-arrow {
    color: var(--wk-purple);
    transform: translateX(3px);
}
.wk-cat-tree-l2-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 12px 0;
}
.wk-cat-tree-l2-group {
    flex: 1 1 200px;
    min-width: 180px;
    padding: 0 0 12px 0;
    border-right: none;
}
.wk-cat-tree-l2-group:last-child { border-right: none; }
.wk-cat-tree-l2 {
    display: block;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    color: var(--wk-purple);
    margin-bottom: 8px;
    transition: opacity .2s;
}
.wk-cat-tree-l2:hover { opacity: .7; }
.wk-cat-tree-l3-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}
.wk-cat-tree-l3 {
    display: block;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    color: var(--wk-text);
    background: var(--wk-purple-soft);
    padding: 6px 12px;
    border-radius: 999px;
    text-align: center;
    transition: all .15s;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wk-cat-tree-l3:hover {
    color: #fff;
    background: var(--wk-purple);
}

/* ── Homepage Brand Strip ─────────────────── */
.wk-brand-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 24px;
}
.wk-brand-strip-item {
    flex: 1 1 140px;
    min-width: 120px;
    max-width: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px 12px;
    background: var(--wk-surface);
    border: 2px solid var(--wk-border);
    border-radius: 14px;
    text-decoration: none;
    transition: all .2s;
}
.wk-brand-strip-item:hover {
    border-color: var(--wk-purple);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.wk-brand-strip-item img {
    width: 64px;
    height: 64px;
    object-fit: contain;
}
/* White background behind logos (overrides the gray lazy-loading placeholder) */
.wk-brand-strip-item img.wk-lazy {
    background: #fff;
}
.wk-brand-strip-letter {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 900;
    color: var(--wk-purple);
    background: var(--wk-purple-soft);
    border-radius: 12px;
}
.wk-brand-strip-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--wk-text);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.wk-brand-strip-item:hover .wk-brand-strip-name { color: var(--wk-purple); }

/* ── On Sale Horizontal List ───────────────── */
.wk-onsale-list {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
}
.wk-onsale-item {
    flex: 0 0 220px;
    scroll-snap-align: start;
    background: var(--wk-surface);
    border: 2px solid var(--wk-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all .2s;
}
.wk-onsale-item:hover { border-color: var(--wk-purple); }
.wk-onsale-img {
    height: 180px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    background: var(--wk-bg);
}
.wk-onsale-img img { width: 100%; height: 100%; object-fit: cover; }
.wk-onsale-badge {
    position: absolute; top: 10px; left: 10px;
    background: #ef4444; color: #fff;
    font-size: 12px; font-weight: 800;
    padding: 4px 10px; border-radius: 8px;
}
.wk-onsale-info { padding: 14px 16px; cursor: pointer; }
.wk-hot-badge {
    position: absolute; top: 10px; right: 10px;
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    color: #fff;
    font-size: 11px; font-weight: 800;
    padding: 4px 8px; border-radius: 8px;
    box-shadow: 0 2px 8px rgba(239,68,68,.3);
}
.wk-onsale-name {
    font-weight: 800; font-size: 14px; color: var(--wk-text);
    margin-bottom: 6px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ── Mobile: Categories & On Sale ──────────── */
@media (max-width: 768px) {
    .wk-category-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 10px;
        margin-top: 16px;
    }
    .wk-category-img { height: 90px; }
    .wk-category-info { padding: 8px 10px; }
    .wk-category-name { font-size: 13px; }
    .wk-category-count { font-size: 11px; }

    .wk-cat-tree-l1 { padding: 12px 14px; }
    .wk-cat-tree-name { font-size: 15px; }
    .wk-cat-tree-l2-group { flex: 1 1 100%; border-right: none; border-bottom: 1px solid var(--wk-border); }
    .wk-cat-tree-l2-group:last-child { border-bottom: none; }

    .wk-brand-strip-item { flex: 1 1 100px; min-width: 90px; padding: 14px 8px; }
    .wk-brand-strip-item img, .wk-brand-strip-letter { width: 48px; height: 48px; }
    .wk-brand-strip-letter { font-size: 22px; }
    .wk-brand-strip-name { font-size: 12px; }

    .wk-onsale-item { flex: 0 0 160px; }
    .wk-onsale-img { height: 130px; }
    .wk-onsale-info { padding: 10px 12px; }
    .wk-onsale-name { font-size: 13px; }
    .wk-onsale-badge { font-size: 10px; padding: 3px 8px; top: 8px; left: 8px; }

    .wk-section { padding: 32px 0; }
    .wk-section-title { font-size: 20px; }
    .wk-section-sub { font-size: 13px; margin-bottom: 20px; }
}
@media (max-width: 480px) {
    .wk-category-grid {
        grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
        gap: 8px;
    }
    .wk-category-img { height: 75px; }
    .wk-category-info { padding: 6px 8px; }
    .wk-category-name { font-size: 12px; }
    .wk-category-count { font-size: 10px; }

    .wk-onsale-item { flex: 0 0 140px; }
    .wk-onsale-img { height: 110px; }
    .wk-onsale-info { padding: 8px 10px; }
    .wk-onsale-name { font-size: 12px; }
    .wk-onsale-badge { font-size: 9px; padding: 2px 6px; }
    .wk-hot-badge { font-size: 9px; padding: 2px 6px; top: 6px; right: 6px; }

    .wk-section { padding: 24px 0; }
    .wk-section-title { font-size: 18px; }
    .wk-section-sub { font-size: 12px; margin-bottom: 16px; }
}

/* ── Checkout Mobile Responsive ─────────────── */
@media (max-width: 768px) {
    /* Main form: 2 columns → 1 column */
    #checkoutForm {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    /* ALL inner grids: 2 columns → 1 column */
    #checkoutForm [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    /* Reduce card padding on mobile */
    #checkoutForm > div > div {
        padding: 16px !important;
    }
    /* Order summary: remove sticky, show after form */
    #checkoutForm > div:last-child > div {
        position: static !important;
        top: auto !important;
    }
    /* Section headings */
    #checkoutForm h1 { font-size: 20px !important; margin-bottom: 16px !important; }
    #checkoutForm h2 { font-size: 15px !important; margin-bottom: 14px !important; }
    /* Exception: keep 2-column grids for name/state/city rows on mobile */
    #checkoutForm .wk-checkout-grid-2 {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }
    #checkoutForm .wk-checkout-grid-2 input,
    #checkoutForm .wk-checkout-grid-2 .wk-dd-trigger {
        padding: 8px 10px !important;
        font-size: 13px !important;
        min-height: 38px !important;
    }
}
@media (max-width: 480px) {
    #checkoutForm { gap: 12px !important; }
    #checkoutForm > div > div {
        padding: 14px !important;
    }
    /* Inputs: full width, slightly smaller */
    #checkoutForm input,
    #checkoutForm select {
        width: 100% !important;
        font-size: 16px !important; /* prevents iOS zoom */
    }
}

/* ── Mobile Sub-Navigation (categories + search) ─── */
.wk-mobile-subnav { display: none; }

@media (max-width: 768px) {
    .wk-mobile-subnav {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 10px 16px;
        background: var(--wk-surface);
    }
    .wk-mobile-subnav-row1 {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .wk-mobile-back {
        flex-shrink: 0;
        color: var(--wk-purple);
        font-weight: 700;
        font-size: 13px;
        text-decoration: none;
        white-space: nowrap;
    }
    .wk-mobile-subnav-cats {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        flex: 1;
        min-width: 0;
    }
    .wk-mobile-subnav-cats::-webkit-scrollbar { display: none; }
    .wk-mobile-subnav-cat {
        flex-shrink: 0;
        padding: 5px 12px;
        border-radius: 20px;
        background: var(--wk-bg);
        color: var(--wk-text);
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        transition: all .15s;
    }
    .wk-mobile-subnav-cat:active,
    .wk-mobile-subnav-cat:hover {
        background: var(--wk-purple);
        color: #fff;
    }
    .wk-mobile-subnav-search {
        display: flex;
        gap: 0;
        align-items: stretch;
    }
    .wk-mobile-subnav-search input {
        flex: 1;
        padding: 8px 12px;
        border: 2px solid var(--wk-border);
        border-right: none;
        border-radius: 8px 0 0 8px;
        font-size: 14px;
        font-family: var(--font);
        background: var(--wk-bg);
        outline: none;
        box-sizing: border-box;
    }
    .wk-mobile-subnav-search input:focus {
        border-color: var(--wk-purple);
    }
    .wk-mobile-subnav-search button {
        flex-shrink: 0;
        padding: 0 12px;
        border: 2px solid var(--wk-border);
        border-left: none;
        border-radius: 0 8px 8px 0;
        background: var(--wk-surface);
        color: var(--wk-muted);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }
}

/* ── Locale Selector ──────────────────────────── */
.wk-locale-wrap { display:flex; align-items:center; gap:12px; }
.wk-locale-menu { position:relative; }
.wk-locale-btn {
    display:flex; align-items:center; gap:6px;
    padding:6px 10px;
    border:2px solid var(--wk-border); border-radius:6px;
    font-family:var(--font); font-size:12px; font-weight:700;
    background:var(--wk-surface); color:var(--wk-text);
    cursor:pointer;
}
.wk-locale-panel {
    display:none; position:absolute; right:0; top:calc(100% + 8px);
    background:var(--wk-surface);
    border:2px solid var(--wk-border); border-radius:10px;
    box-shadow:0 12px 40px rgba(0,0,0,.12);
    width:280px; z-index:300; overflow:hidden;
}
.wk-locale-section { padding:10px 14px; border-bottom:1px solid var(--wk-border); }
.wk-locale-section:last-child { border-bottom:none; border-top:1px solid var(--wk-border); }
.wk-locale-label {
    font-size:11px; font-weight:800;
    color:var(--wk-muted);
    text-transform:uppercase; letter-spacing:.5px;
    margin-bottom:8px;
}
.wk-locale-select {
    width:100%; padding:7px 10px;
    border:2px solid var(--wk-border); border-radius:6px;
    font-family:var(--font); font-size:12px; font-weight:700;
    background:var(--wk-surface); color:var(--wk-text);
    cursor:pointer; outline:none;
}
.wk-locale-country-list { max-height:180px; overflow-y:auto; }
.wk-locale-country {
    display:flex; align-items:center; gap:8px;
    padding:7px 8px; border-radius:6px;
    cursor:pointer;
    font-size:12px; font-weight:600; color:var(--wk-text);
    transition:background .15s;
}
.wk-locale-country:hover { background:var(--wk-purple-soft); }
.wk-locale-country-name { flex:1; }
.wk-locale-check { color:var(--wk-purple); font-size:14px; }
.wk-locale-sep { color:var(--wk-muted); }
.wk-locale-arrow { font-size:10px; }

/* ── Locale: Mobile Overrides (must come after base styles) ── */
@media (max-width: 768px) {
    .wk-locale-panel {
        position: fixed !important;
        top: 56px;
        right: 12px;
        left: auto;
        width: 220px !important;
        max-width: calc(100vw - 24px);
        z-index: 1000;
        box-sizing: border-box;
    }
}
@media (max-width: 480px) {
    .wk-locale-panel {
        top: 52px;
        right: 10px;
        width: 220px !important;
        max-width: calc(100vw - 20px);
    }
}

/* ── Footer Centered Layout ─────────────────── */
.wk-footer-centered {
    flex-direction: column;
    gap: 24px;
    text-align: center;
}
.wk-footer-links {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}
.wk-footer-link-main {
    font-weight: 700;
    color: rgba(255,255,255,.7);
    text-decoration: none;
    transition: color .2s;
}
.wk-footer-link-main:hover {
    color: #fff;
}
.wk-footer-links-sub {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    font-size: 12px;
}
.wk-footer-link-sub {
    color: rgba(255,255,255,.5);
    text-decoration: none;
    transition: color .2s;
}
.wk-footer-link-sub:hover {
    color: rgba(255,255,255,.8);
}
.wk-footer-copy {
    font-size: 12px;
    color: rgba(255,255,255,.5);
}

/* ── Chatbot Widget ─────────────────────────── */
#wkChatToggle {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0,0,0,.2);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    transition: transform .2s;
}
#wkChatToggle:hover {
    transform: scale(1.1);
}
#wkChatWindow {
    display: none;
    position: fixed;
    bottom: 96px;
    right: 24px;
    width: 380px;
    max-height: 520px;
    background: var(--wk-surface);
    border: 2px solid var(--wk-border);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0,0,0,.15);
    z-index: 9999;
    overflow: hidden;
    flex-direction: column;
}
.wk-chat-header {
    background: linear-gradient(135deg, var(--wk-purple), var(--wk-pink));
    color: #fff;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.wk-chat-title {
    font-weight: 800;
    font-size: 15px;
}
.wk-chat-subtitle {
    font-size: 11px;
    opacity: .8;
}
.wk-chat-close {
    background: rgba(255,255,255,.2);
    border: none;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.wk-chat-close:hover {
    background: rgba(255,255,255,.3);
}
#wkChatMessages {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    max-height: 340px;
    min-height: 250px;
}
.wk-chat-input-wrap {
    border-top: 1px solid var(--wk-border);
    padding: 12px;
    display: flex;
    gap: 8px;
}
#wkChatInput {
    flex: 1;
    padding: 10px 14px;
    border: 2px solid var(--wk-border);
    border-radius: 8px;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 600;
    outline: none;
    background: var(--wk-surface);
    color: var(--wk-text);
    transition: border-color .2s;
}
#wkChatInput:focus {
    border-color: var(--wk-purple);
}
.wk-chat-send {
    background: var(--wk-purple);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    cursor: pointer;
    font-weight: 800;
    font-size: 13px;
    font-family: var(--font);
    transition: background .2s;
}
.wk-chat-send:hover {
    background: var(--wk-purple-dark);
}

/* Chat messages */
.wk-chat-msg-row {
    display: flex;
    margin-bottom: 12px;
}
.wk-chat-msg-row-user {
    justify-content: flex-end;
}
.wk-chat-bubble {
    max-width: 80%;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.6;
    word-wrap: break-word;
}
.wk-chat-bubble-user {
    background: var(--wk-purple);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.wk-chat-bubble-bot {
    background: var(--wk-bg);
    color: var(--wk-text);
    border-bottom-left-radius: 4px;
}
.wk-chat-link {
    color: var(--wk-purple);
    text-decoration: underline;
}
.wk-chat-bubble-user .wk-chat-link {
    color: #fff;
}

/* Chat actions */
.wk-chat-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.wk-chat-action-btn {
    background: var(--wk-surface);
    border: 2px solid var(--wk-border);
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 700;
    color: var(--wk-text);
    cursor: pointer;
    font-family: var(--font);
    transition: all .2s;
}
.wk-chat-action-btn:hover,
.wk-chat-action-btn-hover {
    border-color: var(--wk-purple);
    color: var(--wk-purple);
}

/* Typing indicator */
.wk-chat-typing-row {
    margin-bottom: 12px;
}
.wk-chat-typing {
    background: var(--wk-bg);
    color: var(--wk-muted);
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 12px;
    display: inline-block;
}

/* Chatbot mobile */
@media (max-width: 480px) {
    #wkChatWindow {
        width: calc(100vw - 24px);
        right: 12px;
        left: 12px;
        bottom: 88px;
        max-height: 70vh;
    }
    #wkChatToggle {
        width: 52px;
        height: 52px;
        bottom: 16px;
        right: 16px;
        font-size: 20px;
    }
}

/* ============ merged from css\wk-lazyload.css ============ */
/* ============================================================
 * wk-lazyload.css — 图片懒加载样式
 * ============================================================ */

img.wk-lazy {
    transition: opacity 0.4s ease, filter 0.4s ease;
    opacity: 0.6;
    filter: blur(2px);
    background: #f3f0eb;
}

img.wk-lazy.wk-lazy-loaded {
    opacity: 1;
    filter: blur(0);
}

img.wk-lazy.wk-lazy-error {
    opacity: 0.3;
    filter: none;
}

/* 背景图懒加载 */
.wk-lazy-bg {
    transition: opacity 0.4s ease;
    opacity: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.wk-lazy-bg.wk-lazy-loaded {
    opacity: 1;
}

/* 商品卡片图片容器 — 保持比例，防止布局跳动 */
.wk-product-img {
    position: relative;
    overflow: hidden;
    background: #f3f0eb;
}

.wk-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============ merged from css\wk-dropdown.css ============ */
/* ── WkDropdown — A-Z Grouped Dropdown Component ── */

.wk-dd-wrap {
    position: relative;
    width: 100%;
}

/* Trigger button — mimics the existing select style */
.wk-dd-trigger {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid var(--wk-border, #e5e7eb);
    border-radius: 8px;
    background: var(--wk-surface, #fff);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    transition: border-color .2s;
    box-sizing: border-box;
    min-height: 42px;
}

.wk-dd-trigger:hover {
    border-color: var(--wk-purple, #8b5cf6);
}

.wk-dd-trigger.wk-dd-open {
    border-color: var(--wk-purple, #8b5cf6);
}

.wk-dd-trigger-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    overflow: hidden;
    font-family: var(--font, sans-serif);
    font-size: 14px;
    font-weight: 600;
    color: var(--wk-text, #1f2937);
    white-space: nowrap;
    text-overflow: ellipsis;
}

.wk-dd-arrow {
    font-size: 10px;
    color: var(--wk-muted, #9ca3af);
    flex-shrink: 0;
    transition: transform .2s;
}

.wk-dd-trigger.wk-dd-open .wk-dd-arrow {
    transform: rotate(180deg);
}

/* Flag icons in trigger and list (uses CSS sprite from flags.css) */
.wk-dd-flag {
    border-radius: 2px;
    border: 1px solid rgba(0,0,0,.08);
}

.wk-dd-label {
    overflow: hidden;
    text-overflow: ellipsis;
}

.wk-dd-placeholder {
    color: var(--wk-muted, #9ca3af);
    font-weight: 500;
}

/* Dropdown panel — uses fixed positioning to escape parent overflow */
.wk-dd-panel {
    position: fixed;
    z-index: 99999;
    background: var(--wk-surface, #fff);
    border: 2px solid var(--wk-border, #e5e7eb);
    border-radius: 8px;
    box-shadow: 0 12px 40px rgba(0,0,0,.18);
    overflow: hidden;
    max-height: 450px;
    display: flex;
    flex-direction: column;
    min-width: 280px;
}

/* Search bar */
.wk-dd-search-wrap {
    position: relative;
    padding: 8px;
    border-bottom: 1px solid var(--wk-border, #e5e7eb);
    flex-shrink: 0;
}

.wk-dd-search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px;
    opacity: .4;
    pointer-events: none;
}

.wk-dd-search {
    width: 100%;
    padding: 8px 12px 8px 34px;
    border: 1px solid var(--wk-border, #e5e7eb);
    border-radius: 6px;
    font-family: var(--font, sans-serif);
    font-size: 13px;
    font-weight: 600;
    outline: none;
    box-sizing: border-box;
    background: var(--wk-bg, #f9fafb);
    color: var(--wk-text, #1f2937);
}

.wk-dd-search:focus {
    border-color: var(--wk-purple, #8b5cf6);
}

/* List container — max-height is set dynamically by JS so overflow-y:auto always triggers */
.wk-dd-list {
    overflow-y: auto;
    /* Make scrollbar always visible and prominent */
    scrollbar-width: auto;
    scrollbar-color: var(--wk-purple, #8b5cf6) #f0f0f0;
}

.wk-dd-list::-webkit-scrollbar {
    width: 10px;
    -webkit-appearance: none;
}

.wk-dd-list::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 5px;
}

.wk-dd-list::-webkit-scrollbar-thumb {
    background: var(--wk-purple, #8b5cf6);
    border-radius: 5px;
    border: 2px solid #f0f0f0;
}

.wk-dd-list::-webkit-scrollbar-thumb:hover {
    background: #7c3aed;
}

/* Letter section header */
.wk-dd-letter {
    position: sticky;
    top: 0;
    background: var(--wk-bg, #f3f4f6);
    color: var(--wk-purple, #8b5cf6);
    font-size: 12px;
    font-weight: 900;
    padding: 4px 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 1;
    border-bottom: 1px solid var(--wk-border, #e5e7eb);
}

/* List item */
.wk-dd-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    cursor: pointer;
    transition: background .12s;
    font-family: var(--font, sans-serif);
    font-size: 14px;
    font-weight: 600;
    color: var(--wk-text, #1f2937);
}

.wk-dd-item:hover {
    background: rgba(139, 92, 246, .06);
}

.wk-dd-item.wk-dd-selected {
    background: rgba(139, 92, 246, .1);
    color: var(--wk-purple, #8b5cf6);
}

.wk-dd-item .wk-dd-check {
    margin-left: auto;
    color: var(--wk-purple, #8b5cf6);
    font-size: 13px;
    flex-shrink: 0;
}

/* Empty state */
.wk-dd-empty {
    padding: 24px 14px;
    text-align: center;
    color: var(--wk-muted, #9ca3af);
    font-size: 13px;
    font-weight: 600;
}

/* ============ merged from css\flags.css ============ */
/* Auto-generated flag sprite — 244 countries */
.wk-flag {
  display:inline-block;
  width:20px; height:14px;
  background:url("../img/flags-sprite.webp?v=2") no-repeat;
  background-size: 4880px 14px;
  vertical-align:middle;
  border-radius:1px;
  flex-shrink:0;
  object-fit:cover;
}

.wk-flag.sm { width:18px; height:12px; background-size: 4392px 12px; }
.wk-flag.sm { background-image: url("../img/flags-sprite-sm.webp?v=2"); }

.wk-flag.ad { background-position: -0px center; }
.wk-flag.ae { background-position: -20px center; }
.wk-flag.af { background-position: -40px center; }
.wk-flag.ag { background-position: -60px center; }
.wk-flag.ai { background-position: -80px center; }
.wk-flag.al { background-position: -100px center; }
.wk-flag.am { background-position: -120px center; }
.wk-flag.ao { background-position: -140px center; }
.wk-flag.aq { background-position: -160px center; }
.wk-flag.ar { background-position: -180px center; }
.wk-flag.as { background-position: -200px center; }
.wk-flag.at { background-position: -220px center; }
.wk-flag.au { background-position: -240px center; }
.wk-flag.aw { background-position: -260px center; }
.wk-flag.ax { background-position: -280px center; }
.wk-flag.az { background-position: -300px center; }
.wk-flag.ba { background-position: -320px center; }
.wk-flag.bb { background-position: -340px center; }
.wk-flag.bd { background-position: -360px center; }
.wk-flag.be { background-position: -380px center; }
.wk-flag.bf { background-position: -400px center; }
.wk-flag.bg { background-position: -420px center; }
.wk-flag.bh { background-position: -440px center; }
.wk-flag.bi { background-position: -460px center; }
.wk-flag.bj { background-position: -480px center; }
.wk-flag.bl { background-position: -500px center; }
.wk-flag.bm { background-position: -520px center; }
.wk-flag.bn { background-position: -540px center; }
.wk-flag.bo { background-position: -560px center; }
.wk-flag.bq { background-position: -580px center; }
.wk-flag.br { background-position: -600px center; }
.wk-flag.bs { background-position: -620px center; }
.wk-flag.bt { background-position: -640px center; }
.wk-flag.bv { background-position: -660px center; }
.wk-flag.bw { background-position: -680px center; }
.wk-flag.by { background-position: -700px center; }
.wk-flag.bz { background-position: -720px center; }
.wk-flag.ca { background-position: -740px center; }
.wk-flag.cc { background-position: -760px center; }
.wk-flag.cd { background-position: -780px center; }
.wk-flag.cg { background-position: -800px center; }
.wk-flag.ch { background-position: -820px center; }
.wk-flag.ci { background-position: -840px center; }
.wk-flag.ck { background-position: -860px center; }
.wk-flag.cl { background-position: -880px center; }
.wk-flag.cm { background-position: -900px center; }
.wk-flag.cn { background-position: -920px center; }
.wk-flag.co { background-position: -940px center; }
.wk-flag.cr { background-position: -960px center; }
.wk-flag.cu { background-position: -980px center; }
.wk-flag.cv { background-position: -1000px center; }
.wk-flag.cx { background-position: -1020px center; }
.wk-flag.cy { background-position: -1040px center; }
.wk-flag.cz { background-position: -1060px center; }
.wk-flag.de { background-position: -1080px center; }
.wk-flag.dj { background-position: -1100px center; }
.wk-flag.dk { background-position: -1120px center; }
.wk-flag.dm { background-position: -1140px center; }
.wk-flag.do { background-position: -1160px center; }
.wk-flag.dz { background-position: -1180px center; }
.wk-flag.ec { background-position: -1200px center; }
.wk-flag.ee { background-position: -1220px center; }
.wk-flag.eg { background-position: -1240px center; }
.wk-flag.eh { background-position: -1260px center; }
.wk-flag.er { background-position: -1280px center; }
.wk-flag.es { background-position: -1300px center; }
.wk-flag.et { background-position: -1320px center; }
.wk-flag.fi { background-position: -1340px center; }
.wk-flag.fj { background-position: -1360px center; }
.wk-flag.fk { background-position: -1380px center; }
.wk-flag.fm { background-position: -1400px center; }
.wk-flag.fo { background-position: -1420px center; }
.wk-flag.fr { background-position: -1440px center; }
.wk-flag.ga { background-position: -1460px center; }
.wk-flag.gb { background-position: -1480px center; }
.wk-flag.gd { background-position: -1500px center; }
.wk-flag.ge { background-position: -1520px center; }
.wk-flag.gf { background-position: -1540px center; }
.wk-flag.gg { background-position: -1560px center; }
.wk-flag.gh { background-position: -1580px center; }
.wk-flag.gi { background-position: -1600px center; }
.wk-flag.gl { background-position: -1620px center; }
.wk-flag.gm { background-position: -1640px center; }
.wk-flag.gn { background-position: -1660px center; }
.wk-flag.gp { background-position: -1680px center; }
.wk-flag.gq { background-position: -1700px center; }
.wk-flag.gr { background-position: -1720px center; }
.wk-flag.gs { background-position: -1740px center; }
.wk-flag.gt { background-position: -1760px center; }
.wk-flag.gu { background-position: -1780px center; }
.wk-flag.gw { background-position: -1800px center; }
.wk-flag.gy { background-position: -1820px center; }
.wk-flag.hk { background-position: -1840px center; }
.wk-flag.hm { background-position: -1860px center; }
.wk-flag.hn { background-position: -1880px center; }
.wk-flag.hr { background-position: -1900px center; }
.wk-flag.ht { background-position: -1920px center; }
.wk-flag.hu { background-position: -1940px center; }
.wk-flag.id { background-position: -1960px center; }
.wk-flag.ie { background-position: -1980px center; }
.wk-flag.il { background-position: -2000px center; }
.wk-flag.im { background-position: -2020px center; }
.wk-flag.in { background-position: -2040px center; }
.wk-flag.io { background-position: -2060px center; }
.wk-flag.iq { background-position: -2080px center; }
.wk-flag.ir { background-position: -2100px center; }
.wk-flag.is { background-position: -2120px center; }
.wk-flag.it { background-position: -2140px center; }
.wk-flag.jm { background-position: -2160px center; }
.wk-flag.jo { background-position: -2180px center; }
.wk-flag.jp { background-position: -2200px center; }
.wk-flag.ke { background-position: -2220px center; }
.wk-flag.kg { background-position: -2240px center; }
.wk-flag.kh { background-position: -2260px center; }
.wk-flag.ki { background-position: -2280px center; }
.wk-flag.km { background-position: -2300px center; }
.wk-flag.kn { background-position: -2320px center; }
.wk-flag.kp { background-position: -2340px center; }
.wk-flag.kr { background-position: -2360px center; }
.wk-flag.kw { background-position: -2380px center; }
.wk-flag.ky { background-position: -2400px center; }
.wk-flag.kz { background-position: -2420px center; }
.wk-flag.la { background-position: -2440px center; }
.wk-flag.lb { background-position: -2460px center; }
.wk-flag.lc { background-position: -2480px center; }
.wk-flag.li { background-position: -2500px center; }
.wk-flag.lk { background-position: -2520px center; }
.wk-flag.lr { background-position: -2540px center; }
.wk-flag.ls { background-position: -2560px center; }
.wk-flag.lt { background-position: -2580px center; }
.wk-flag.lu { background-position: -2600px center; }
.wk-flag.lv { background-position: -2620px center; }
.wk-flag.ly { background-position: -2640px center; }
.wk-flag.ma { background-position: -2660px center; }
.wk-flag.mc { background-position: -2680px center; }
.wk-flag.md { background-position: -2700px center; }
.wk-flag.me { background-position: -2720px center; }
.wk-flag.mg { background-position: -2740px center; }
.wk-flag.mh { background-position: -2760px center; }
.wk-flag.mk { background-position: -2780px center; }
.wk-flag.ml { background-position: -2800px center; }
.wk-flag.mm { background-position: -2820px center; }
.wk-flag.mn { background-position: -2840px center; }
.wk-flag.mo { background-position: -2860px center; }
.wk-flag.mp { background-position: -2880px center; }
.wk-flag.mq { background-position: -2900px center; }
.wk-flag.mr { background-position: -2920px center; }
.wk-flag.ms { background-position: -2940px center; }
.wk-flag.mt { background-position: -2960px center; }
.wk-flag.mu { background-position: -2980px center; }
.wk-flag.mv { background-position: -3000px center; }
.wk-flag.mw { background-position: -3020px center; }
.wk-flag.mx { background-position: -3040px center; }
.wk-flag.my { background-position: -3060px center; }
.wk-flag.mz { background-position: -3080px center; }
.wk-flag.na { background-position: -3100px center; }
.wk-flag.nc { background-position: -3120px center; }
.wk-flag.ne { background-position: -3140px center; }
.wk-flag.nf { background-position: -3160px center; }
.wk-flag.ng { background-position: -3180px center; }
.wk-flag.ni { background-position: -3200px center; }
.wk-flag.nl { background-position: -3220px center; }
.wk-flag.no { background-position: -3240px center; }
.wk-flag.np { background-position: -3260px center; }
.wk-flag.nr { background-position: -3280px center; }
.wk-flag.nu { background-position: -3300px center; }
.wk-flag.nz { background-position: -3320px center; }
.wk-flag.om { background-position: -3340px center; }
.wk-flag.pa { background-position: -3360px center; }
.wk-flag.pe { background-position: -3380px center; }
.wk-flag.pf { background-position: -3400px center; }
.wk-flag.pg { background-position: -3420px center; }
.wk-flag.ph { background-position: -3440px center; }
.wk-flag.pk { background-position: -3460px center; }
.wk-flag.pl { background-position: -3480px center; }
.wk-flag.pm { background-position: -3500px center; }
.wk-flag.pn { background-position: -3520px center; }
.wk-flag.pr { background-position: -3540px center; }
.wk-flag.pt { background-position: -3560px center; }
.wk-flag.pw { background-position: -3580px center; }
.wk-flag.py { background-position: -3600px center; }
.wk-flag.qa { background-position: -3620px center; }
.wk-flag.re { background-position: -3640px center; }
.wk-flag.ro { background-position: -3660px center; }
.wk-flag.rs { background-position: -3680px center; }
.wk-flag.ru { background-position: -3700px center; }
.wk-flag.rw { background-position: -3720px center; }
.wk-flag.sa { background-position: -3740px center; }
.wk-flag.sb { background-position: -3760px center; }
.wk-flag.sc { background-position: -3780px center; }
.wk-flag.sd { background-position: -3800px center; }
.wk-flag.se { background-position: -3820px center; }
.wk-flag.sg { background-position: -3840px center; }
.wk-flag.sh { background-position: -3860px center; }
.wk-flag.si { background-position: -3880px center; }
.wk-flag.sj { background-position: -3900px center; }
.wk-flag.sk { background-position: -3920px center; }
.wk-flag.sl { background-position: -3940px center; }
.wk-flag.sm { background-position: -3960px center; }
.wk-flag.sn { background-position: -3980px center; }
.wk-flag.so { background-position: -4000px center; }
.wk-flag.sr { background-position: -4020px center; }
.wk-flag.ss { background-position: -4040px center; }
.wk-flag.st { background-position: -4060px center; }
.wk-flag.sv { background-position: -4080px center; }
.wk-flag.sx { background-position: -4100px center; }
.wk-flag.sz { background-position: -4120px center; }
.wk-flag.tc { background-position: -4140px center; }
.wk-flag.td { background-position: -4160px center; }
.wk-flag.tf { background-position: -4180px center; }
.wk-flag.tg { background-position: -4200px center; }
.wk-flag.th { background-position: -4220px center; }
.wk-flag.tj { background-position: -4240px center; }
.wk-flag.tk { background-position: -4260px center; }
.wk-flag.tl { background-position: -4280px center; }
.wk-flag.tm { background-position: -4300px center; }
.wk-flag.tn { background-position: -4320px center; }
.wk-flag.to { background-position: -4340px center; }
.wk-flag.tr { background-position: -4360px center; }
.wk-flag.tt { background-position: -4380px center; }
.wk-flag.tv { background-position: -4400px center; }
.wk-flag.tw { background-position: -4420px center; }
.wk-flag.tz { background-position: -4440px center; }
.wk-flag.ua { background-position: -4460px center; }
.wk-flag.ug { background-position: -4480px center; }
.wk-flag.um { background-position: -4500px center; }
.wk-flag.us { background-position: -4520px center; }
.wk-flag.uy { background-position: -4540px center; }
.wk-flag.uz { background-position: -4560px center; }
.wk-flag.va { background-position: -4580px center; }
.wk-flag.vc { background-position: -4600px center; }
.wk-flag.ve { background-position: -4620px center; }
.wk-flag.vg { background-position: -4640px center; }
.wk-flag.vi { background-position: -4660px center; }
.wk-flag.vn { background-position: -4680px center; }
.wk-flag.vu { background-position: -4700px center; }
.wk-flag.wf { background-position: -4720px center; }
.wk-flag.ws { background-position: -4740px center; }
.wk-flag.xk { background-position: -4760px center; }
.wk-flag.ye { background-position: -4780px center; }
.wk-flag.yt { background-position: -4800px center; }
.wk-flag.za { background-position: -4820px center; }
.wk-flag.zm { background-position: -4840px center; }
.wk-flag.zw { background-position: -4860px center; }

/* Small flag sprite — 244 countries (scaled from regular) */
.wk-flag.sm.ad { background-position: -0px center; }
.wk-flag.sm.ae { background-position: -18px center; }
.wk-flag.sm.af { background-position: -36px center; }
.wk-flag.sm.ag { background-position: -54px center; }
.wk-flag.sm.ai { background-position: -72px center; }
.wk-flag.sm.al { background-position: -90px center; }
.wk-flag.sm.am { background-position: -108px center; }
.wk-flag.sm.ao { background-position: -126px center; }
.wk-flag.sm.aq { background-position: -144px center; }
.wk-flag.sm.ar { background-position: -162px center; }
.wk-flag.sm.as { background-position: -180px center; }
.wk-flag.sm.at { background-position: -198px center; }
.wk-flag.sm.au { background-position: -216px center; }
.wk-flag.sm.aw { background-position: -234px center; }
.wk-flag.sm.ax { background-position: -252px center; }
.wk-flag.sm.az { background-position: -270px center; }
.wk-flag.sm.ba { background-position: -288px center; }
.wk-flag.sm.bb { background-position: -306px center; }
.wk-flag.sm.bd { background-position: -324px center; }
.wk-flag.sm.be { background-position: -342px center; }
.wk-flag.sm.bf { background-position: -360px center; }
.wk-flag.sm.bg { background-position: -378px center; }
.wk-flag.sm.bh { background-position: -396px center; }
.wk-flag.sm.bi { background-position: -414px center; }
.wk-flag.sm.bj { background-position: -432px center; }
.wk-flag.sm.bl { background-position: -450px center; }
.wk-flag.sm.bm { background-position: -468px center; }
.wk-flag.sm.bn { background-position: -486px center; }
.wk-flag.sm.bo { background-position: -504px center; }
.wk-flag.sm.bq { background-position: -522px center; }
.wk-flag.sm.br { background-position: -540px center; }
.wk-flag.sm.bs { background-position: -558px center; }
.wk-flag.sm.bt { background-position: -576px center; }
.wk-flag.sm.bv { background-position: -594px center; }
.wk-flag.sm.bw { background-position: -612px center; }
.wk-flag.sm.by { background-position: -630px center; }
.wk-flag.sm.bz { background-position: -648px center; }
.wk-flag.sm.ca { background-position: -666px center; }
.wk-flag.sm.cc { background-position: -684px center; }
.wk-flag.sm.cd { background-position: -702px center; }
.wk-flag.sm.cg { background-position: -720px center; }
.wk-flag.sm.ch { background-position: -738px center; }
.wk-flag.sm.ci { background-position: -756px center; }
.wk-flag.sm.ck { background-position: -774px center; }
.wk-flag.sm.cl { background-position: -792px center; }
.wk-flag.sm.cm { background-position: -810px center; }
.wk-flag.sm.cn { background-position: -828px center; }
.wk-flag.sm.co { background-position: -846px center; }
.wk-flag.sm.cr { background-position: -864px center; }
.wk-flag.sm.cu { background-position: -882px center; }
.wk-flag.sm.cv { background-position: -900px center; }
.wk-flag.sm.cx { background-position: -918px center; }
.wk-flag.sm.cy { background-position: -936px center; }
.wk-flag.sm.cz { background-position: -954px center; }
.wk-flag.sm.de { background-position: -972px center; }
.wk-flag.sm.dj { background-position: -990px center; }
.wk-flag.sm.dk { background-position: -1008px center; }
.wk-flag.sm.dm { background-position: -1026px center; }
.wk-flag.sm.do { background-position: -1044px center; }
.wk-flag.sm.dz { background-position: -1062px center; }
.wk-flag.sm.ec { background-position: -1080px center; }
.wk-flag.sm.ee { background-position: -1098px center; }
.wk-flag.sm.eg { background-position: -1116px center; }
.wk-flag.sm.eh { background-position: -1134px center; }
.wk-flag.sm.er { background-position: -1152px center; }
.wk-flag.sm.es { background-position: -1170px center; }
.wk-flag.sm.et { background-position: -1188px center; }
.wk-flag.sm.fi { background-position: -1206px center; }
.wk-flag.sm.fj { background-position: -1224px center; }
.wk-flag.sm.fk { background-position: -1242px center; }
.wk-flag.sm.fm { background-position: -1260px center; }
.wk-flag.sm.fo { background-position: -1278px center; }
.wk-flag.sm.fr { background-position: -1296px center; }
.wk-flag.sm.ga { background-position: -1314px center; }
.wk-flag.sm.gb { background-position: -1332px center; }
.wk-flag.sm.gd { background-position: -1350px center; }
.wk-flag.sm.ge { background-position: -1368px center; }
.wk-flag.sm.gf { background-position: -1386px center; }
.wk-flag.sm.gg { background-position: -1404px center; }
.wk-flag.sm.gh { background-position: -1422px center; }
.wk-flag.sm.gi { background-position: -1440px center; }
.wk-flag.sm.gl { background-position: -1458px center; }
.wk-flag.sm.gm { background-position: -1476px center; }
.wk-flag.sm.gn { background-position: -1494px center; }
.wk-flag.sm.gp { background-position: -1512px center; }
.wk-flag.sm.gq { background-position: -1530px center; }
.wk-flag.sm.gr { background-position: -1548px center; }
.wk-flag.sm.gs { background-position: -1566px center; }
.wk-flag.sm.gt { background-position: -1584px center; }
.wk-flag.sm.gu { background-position: -1602px center; }
.wk-flag.sm.gw { background-position: -1620px center; }
.wk-flag.sm.gy { background-position: -1638px center; }
.wk-flag.sm.hk { background-position: -1656px center; }
.wk-flag.sm.hm { background-position: -1674px center; }
.wk-flag.sm.hn { background-position: -1692px center; }
.wk-flag.sm.hr { background-position: -1710px center; }
.wk-flag.sm.ht { background-position: -1728px center; }
.wk-flag.sm.hu { background-position: -1746px center; }
.wk-flag.sm.id { background-position: -1764px center; }
.wk-flag.sm.ie { background-position: -1782px center; }
.wk-flag.sm.il { background-position: -1800px center; }
.wk-flag.sm.im { background-position: -1818px center; }
.wk-flag.sm.in { background-position: -1836px center; }
.wk-flag.sm.io { background-position: -1854px center; }
.wk-flag.sm.iq { background-position: -1872px center; }
.wk-flag.sm.ir { background-position: -1890px center; }
.wk-flag.sm.is { background-position: -1908px center; }
.wk-flag.sm.it { background-position: -1926px center; }
.wk-flag.sm.jm { background-position: -1944px center; }
.wk-flag.sm.jo { background-position: -1962px center; }
.wk-flag.sm.jp { background-position: -1980px center; }
.wk-flag.sm.ke { background-position: -1998px center; }
.wk-flag.sm.kg { background-position: -2016px center; }
.wk-flag.sm.kh { background-position: -2034px center; }
.wk-flag.sm.ki { background-position: -2052px center; }
.wk-flag.sm.km { background-position: -2070px center; }
.wk-flag.sm.kn { background-position: -2088px center; }
.wk-flag.sm.kp { background-position: -2106px center; }
.wk-flag.sm.kr { background-position: -2124px center; }
.wk-flag.sm.kw { background-position: -2142px center; }
.wk-flag.sm.ky { background-position: -2160px center; }
.wk-flag.sm.kz { background-position: -2178px center; }
.wk-flag.sm.la { background-position: -2196px center; }
.wk-flag.sm.lb { background-position: -2214px center; }
.wk-flag.sm.lc { background-position: -2232px center; }
.wk-flag.sm.li { background-position: -2250px center; }
.wk-flag.sm.lk { background-position: -2268px center; }
.wk-flag.sm.lr { background-position: -2286px center; }
.wk-flag.sm.ls { background-position: -2304px center; }
.wk-flag.sm.lt { background-position: -2322px center; }
.wk-flag.sm.lu { background-position: -2340px center; }
.wk-flag.sm.lv { background-position: -2358px center; }
.wk-flag.sm.ly { background-position: -2376px center; }
.wk-flag.sm.ma { background-position: -2394px center; }
.wk-flag.sm.mc { background-position: -2412px center; }
.wk-flag.sm.md { background-position: -2430px center; }
.wk-flag.sm.me { background-position: -2448px center; }
.wk-flag.sm.mg { background-position: -2466px center; }
.wk-flag.sm.mh { background-position: -2484px center; }
.wk-flag.sm.mk { background-position: -2502px center; }
.wk-flag.sm.ml { background-position: -2520px center; }
.wk-flag.sm.mm { background-position: -2538px center; }
.wk-flag.sm.mn { background-position: -2556px center; }
.wk-flag.sm.mo { background-position: -2574px center; }
.wk-flag.sm.mp { background-position: -2592px center; }
.wk-flag.sm.mq { background-position: -2610px center; }
.wk-flag.sm.mr { background-position: -2628px center; }
.wk-flag.sm.ms { background-position: -2646px center; }
.wk-flag.sm.mt { background-position: -2664px center; }
.wk-flag.sm.mu { background-position: -2682px center; }
.wk-flag.sm.mv { background-position: -2700px center; }
.wk-flag.sm.mw { background-position: -2718px center; }
.wk-flag.sm.mx { background-position: -2736px center; }
.wk-flag.sm.my { background-position: -2754px center; }
.wk-flag.sm.mz { background-position: -2772px center; }
.wk-flag.sm.na { background-position: -2790px center; }
.wk-flag.sm.nc { background-position: -2808px center; }
.wk-flag.sm.ne { background-position: -2826px center; }
.wk-flag.sm.nf { background-position: -2844px center; }
.wk-flag.sm.ng { background-position: -2862px center; }
.wk-flag.sm.ni { background-position: -2880px center; }
.wk-flag.sm.nl { background-position: -2898px center; }
.wk-flag.sm.no { background-position: -2916px center; }
.wk-flag.sm.np { background-position: -2934px center; }
.wk-flag.sm.nr { background-position: -2952px center; }
.wk-flag.sm.nu { background-position: -2970px center; }
.wk-flag.sm.nz { background-position: -2988px center; }
.wk-flag.sm.om { background-position: -3006px center; }
.wk-flag.sm.pa { background-position: -3024px center; }
.wk-flag.sm.pe { background-position: -3042px center; }
.wk-flag.sm.pf { background-position: -3060px center; }
.wk-flag.sm.pg { background-position: -3078px center; }
.wk-flag.sm.ph { background-position: -3096px center; }
.wk-flag.sm.pk { background-position: -3114px center; }
.wk-flag.sm.pl { background-position: -3132px center; }
.wk-flag.sm.pm { background-position: -3150px center; }
.wk-flag.sm.pn { background-position: -3168px center; }
.wk-flag.sm.pr { background-position: -3186px center; }
.wk-flag.sm.pt { background-position: -3204px center; }
.wk-flag.sm.pw { background-position: -3222px center; }
.wk-flag.sm.py { background-position: -3240px center; }
.wk-flag.sm.qa { background-position: -3258px center; }
.wk-flag.sm.re { background-position: -3276px center; }
.wk-flag.sm.ro { background-position: -3294px center; }
.wk-flag.sm.rs { background-position: -3312px center; }
.wk-flag.sm.ru { background-position: -3330px center; }
.wk-flag.sm.rw { background-position: -3348px center; }
.wk-flag.sm.sa { background-position: -3366px center; }
.wk-flag.sm.sb { background-position: -3384px center; }
.wk-flag.sm.sc { background-position: -3402px center; }
.wk-flag.sm.sd { background-position: -3420px center; }
.wk-flag.sm.se { background-position: -3438px center; }
.wk-flag.sm.sg { background-position: -3456px center; }
.wk-flag.sm.sh { background-position: -3474px center; }
.wk-flag.sm.si { background-position: -3492px center; }
.wk-flag.sm.sj { background-position: -3510px center; }
.wk-flag.sm.sk { background-position: -3528px center; }
.wk-flag.sm.sl { background-position: -3546px center; }
.wk-flag.sm.sm { background-position: -3564px center; }
.wk-flag.sm.sn { background-position: -3582px center; }
.wk-flag.sm.so { background-position: -3600px center; }
.wk-flag.sm.sr { background-position: -3618px center; }
.wk-flag.sm.ss { background-position: -3636px center; }
.wk-flag.sm.st { background-position: -3654px center; }
.wk-flag.sm.sv { background-position: -3672px center; }
.wk-flag.sm.sx { background-position: -3690px center; }
.wk-flag.sm.sz { background-position: -3708px center; }
.wk-flag.sm.tc { background-position: -3726px center; }
.wk-flag.sm.td { background-position: -3744px center; }
.wk-flag.sm.tf { background-position: -3762px center; }
.wk-flag.sm.tg { background-position: -3780px center; }
.wk-flag.sm.th { background-position: -3798px center; }
.wk-flag.sm.tj { background-position: -3816px center; }
.wk-flag.sm.tk { background-position: -3834px center; }
.wk-flag.sm.tl { background-position: -3852px center; }
.wk-flag.sm.tm { background-position: -3870px center; }
.wk-flag.sm.tn { background-position: -3888px center; }
.wk-flag.sm.to { background-position: -3906px center; }
.wk-flag.sm.tr { background-position: -3924px center; }
.wk-flag.sm.tt { background-position: -3942px center; }
.wk-flag.sm.tv { background-position: -3960px center; }
.wk-flag.sm.tw { background-position: -3978px center; }
.wk-flag.sm.tz { background-position: -3996px center; }
.wk-flag.sm.ua { background-position: -4014px center; }
.wk-flag.sm.ug { background-position: -4032px center; }
.wk-flag.sm.um { background-position: -4050px center; }
.wk-flag.sm.us { background-position: -4068px center; }
.wk-flag.sm.uy { background-position: -4086px center; }
.wk-flag.sm.uz { background-position: -4104px center; }
.wk-flag.sm.va { background-position: -4122px center; }
.wk-flag.sm.vc { background-position: -4140px center; }
.wk-flag.sm.ve { background-position: -4158px center; }
.wk-flag.sm.vg { background-position: -4176px center; }
.wk-flag.sm.vi { background-position: -4194px center; }
.wk-flag.sm.vn { background-position: -4212px center; }
.wk-flag.sm.vu { background-position: -4230px center; }
.wk-flag.sm.wf { background-position: -4248px center; }
.wk-flag.sm.ws { background-position: -4266px center; }
.wk-flag.sm.xk { background-position: -4284px center; }
.wk-flag.sm.ye { background-position: -4302px center; }
.wk-flag.sm.yt { background-position: -4320px center; }
.wk-flag.sm.za { background-position: -4338px center; }
.wk-flag.sm.zm { background-position: -4356px center; }
.wk-flag.sm.zw { background-position: -4374px center; }

