/* Vtik Platform 1.13.343 — Canonical Commerce Typography & Readability System
 * System-font first for fast rendering, Vietnamese legibility and zero font dependency.
 */
:root{
  --vtik-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --vtik-text-primary:#f5f7f8;
  --vtik-text-secondary:#b4bcc4;
  --vtik-text-muted:#8f99a3;
  --vtik-text-subtle:#737d86;
  --vtik-text-on-light:#171a1f;
  --vtik-text-on-light-muted:#69727c;
  --vtik-link:#ff7547;
  --vtik-positive:#4fd19a;
  --vtik-warning:#f5bd57;
  --vtik-danger:#ff7188;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.vtik-ui,
body.vtik-ui button,
body.vtik-ui input,
body.vtik-ui textarea,
body.vtik-ui select{
  font-family:var(--vtik-font-sans)!important;
  font-variant-numeric:tabular-nums;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.vtik-ui{font-size:15px;line-height:1.5;letter-spacing:0;color:var(--vtik-text-primary)}
body.vtik-ui h1,body.vtik-ui h2,body.vtik-ui h3,body.vtik-ui h4{font-family:var(--vtik-font-sans)!important;color:var(--vtik-text-primary);letter-spacing:-.018em;text-wrap:balance}
body.vtik-ui h1{font-size:clamp(24px,2.2vw,30px)!important;line-height:1.18!important;font-weight:800!important}
body.vtik-ui h2{font-size:clamp(19px,1.7vw,23px)!important;line-height:1.25!important;font-weight:800!important}
body.vtik-ui h3{font-size:16px!important;line-height:1.35!important;font-weight:750!important}
body.vtik-ui h4{font-size:15px!important;line-height:1.4!important;font-weight:750!important}
body.vtik-ui p{line-height:1.55}
body.vtik-ui a,body.vtik-ui button{-webkit-tap-highlight-color:transparent}
body.vtik-ui button,body.vtik-ui input,body.vtik-ui textarea,body.vtik-ui select{font-size:14px;line-height:1.4}
body.vtik-ui input::placeholder,body.vtik-ui textarea::placeholder{color:#7f8992!important;opacity:1}
body.vtik-ui :focus-visible{outline:2px solid rgba(255,117,71,.9);outline-offset:2px}

/* Shared shell pages: consistent hierarchy and softer secondary text. */
.vtik-shell-scroll-page .vc-title p,.vtik-shell-scroll-page .vo-title p,.vtik-shell-scroll-page .vs-intro p,
.vtik-shell-scroll-page .vp-bio,.vtik-shell-scroll-page .vp-setting-row small,.vtik-shell-scroll-page .vp-note,
.vtik-shell-scroll-page .sp-sub,.vtik-shell-scroll-page .meta,.vtik-shell-scroll-page .description,
.vtik-shell-scroll-page .review small,.vtik-shell-scroll-page .seller-copy small{color:var(--vtik-text-secondary)!important}
.vtik-shell-scroll-page .hint,.vtik-shell-scroll-page .muted,.vtik-shell-scroll-page .vc-muted,
.vtik-shell-scroll-page .vo-muted,.vtik-shell-scroll-page .vs-meta,.vtik-shell-scroll-page .vp-meta,
.vtik-shell-scroll-page .vp-qr-url{color:var(--vtik-text-muted)!important}

/* Search */
.vs-logo{font-size:25px!important;font-weight:850!important;letter-spacing:-.7px!important}
.vs-input{font-size:14px!important;line-height:1.35!important}
.vs-submit{font-size:13px!important;font-weight:800!important}
.vs-tab{font-size:12.5px!important;font-weight:750!important;letter-spacing:0!important}
.vs-tab small{font-size:11px!important;font-weight:650!important}
.vs-intro h1{font-size:23px!important}
.vs-intro p{font-size:13px!important}
.vs-copy h3{font-size:14px!important;font-weight:750!important}
.vs-copy p{font-size:12px!important;color:var(--vtik-text-secondary)!important}
.vs-meta{font-size:11px!important}
.vs-type{font-size:9.5px!important;font-weight:800!important;letter-spacing:.03em!important}

/* Profile */
.vp-name h1{font-size:26px!important;font-weight:820!important}
.vp-handle,.vp-role,.vp-meta{font-size:12.5px!important;color:var(--vtik-text-muted)!important}
.vp-bio{font-size:14px!important;line-height:1.55!important}
.vp-stat strong{font-size:18px!important;font-weight:800!important}
.vp-stat span{font-size:11px!important;color:var(--vtik-text-muted)!important}
.vp-tab{font-size:12.5px!important;font-weight:750!important}
.vp-caption{font-size:12.5px!important;line-height:1.35!important}
.vp-setting-row strong{font-size:14px!important;font-weight:750!important}
.vp-setting-row small{font-size:12px!important;line-height:1.5!important}
.vp-form label{font-size:12.5px!important;font-weight:700!important}
.vp-form input,.vp-form textarea,.vp-select{font-size:14px!important}
.vp-link-row small,.vp-request-row small{font-size:11.5px!important;color:var(--vtik-text-muted)!important}

/* Shop, product and cart */
.logo,.brand{font-family:var(--vtik-font-sans)!important;font-weight:850!important;letter-spacing:-.7px!important}
.hero h1{font-size:27px!important}.hero p{font-size:14px!important;line-height:1.5!important}
.chip,.cat{font-size:12px!important;font-weight:650!important}
.card h3{font-size:15px!important;line-height:1.4!important;font-weight:700!important}
.price{font-size:18px!important;font-weight:850!important}.bigprice{font-size:27px!important;font-weight:850!important}
.product-info h1{font-size:26px!important;line-height:1.25!important;font-weight:800!important}
.product-tabs a{font-size:12.5px!important;font-weight:750!important}
.discount,.stock,.rating{font-size:12.5px!important}.benefit{font-size:11px!important;line-height:1.35!important}
.section h2{font-size:20px!important}.description{font-size:14px!important;line-height:1.7!important}
.specs{font-size:13px!important;line-height:1.45!important}.seller-copy strong{font-size:14px!important}
.review p{font-size:13.5px!important;line-height:1.55!important}
.buy-footer small{font-size:10px!important;font-weight:650!important}
.total{font-size:18px!important;font-weight:800!important}

/* Cart / checkout / orders */
.vc-title h1,.vo-title h1,.co-wrap h1{font-size:24px!important}
.vc-title p,.vo-title p{font-size:13px!important}
.vc-card h2,.co-card h2,.vo-card h2{font-size:17px!important}
.vc-item,.co-item,.vo-item{font-size:13.5px!important}
.vc-price,.co-price,.vo-price{font-weight:800!important}
.vc-secondary,.co-secondary,.vo-secondary{font-size:12.5px!important;font-weight:750!important}

/* Auth */
.va-page h1{font-size:27px!important}.va-page h2{font-size:20px!important}
.va-page p,.va-page .va-sub{font-size:13.5px!important;line-height:1.55!important;color:var(--vtik-text-secondary)!important}
.va-page label{font-size:12.5px!important;font-weight:700!important}
.va-page input{font-size:14px!important}.va-page button,.va-page .va-btn{font-size:14px!important;font-weight:800!important}

/* Seller Center */
.vtik-seller-ui{font-size:14px!important;line-height:1.5!important}
.vtik-seller-ui .brand{font-size:22px!important}.vtik-seller-ui .top h1{font-size:21px!important}
.vtik-seller-ui .nav a{font-size:13px!important;font-weight:700!important}
.vtik-seller-ui table{font-size:12.5px!important}.vtik-seller-ui label{font-size:12.5px!important}
.vtik-seller-ui small{font-size:11.5px!important;color:var(--vtik-text-muted)!important}

/* Upload */
.vtik-upload-page .brand{font-size:23px!important}.vtik-upload-page h1{font-size:23px!important}
.vtik-upload-page p{font-size:13.5px!important;color:var(--vtik-text-secondary)!important}
.vtik-upload-page .field>span{font-size:13px!important;font-weight:750!important}
.vtik-upload-page textarea,.vtik-upload-page input{font-size:14px!important}.vtik-upload-page .hint{font-size:12px!important}

/* Video feed: text must remain legible over moving imagery without oversized overlays. */
.vtik-platform-feed-page .vtik-brand{font-size:20px!important;font-weight:850!important}
.vtik-platform-feed-page .vtik-tabs button{font-size:14px!important;font-weight:750!important}
.vtik-platform-feed-page .vtik-author{font-size:14px!important;font-weight:750!important}
.vtik-platform-feed-page .vtik-caption{font-size:14px!important;line-height:1.42!important;font-weight:500!important}
.vtik-platform-feed-page .vtik-tags{font-size:12.5px!important;line-height:1.4!important;font-weight:650!important}
.vtik-platform-feed-page .vtik-action small{font-size:10.5px!important;font-weight:700!important}
.vtik-platform-feed-page .vtik-product-card strong{font-size:11.5px!important;line-height:1.25!important;font-weight:750!important}
.vtik-platform-feed-page .vtik-product-card b{font-size:11.5px!important;font-weight:850!important}

/* White navigation uses a light-surface palette independent of dark pages. */
.vtik-unified-nav{font-family:var(--vtik-font-sans)!important;color:var(--vtik-text-on-light)!important}
.vtik-unified-nav small{font-size:11px!important;line-height:1.1!important;font-weight:700!important;letter-spacing:0!important}
.vtik-unified-nav__item{color:#6b737c!important}.vtik-unified-nav__item.is-active{color:#111418!important}

@media(max-width:600px){
  body.vtik-ui{font-size:14px}
  body.vtik-ui h1{font-size:23px!important}body.vtik-ui h2{font-size:19px!important}body.vtik-ui h3{font-size:15px!important}
  .vp-name h1{font-size:23px!important}.vp-bio{font-size:13.5px!important}.vp-stat strong{font-size:17px!important}
  .vs-logo{font-size:22px!important}.vs-tab{font-size:12px!important}.vs-intro h1{font-size:21px!important}
  .product-info h1{font-size:21px!important}.bigprice{font-size:24px!important}.section h2{font-size:18px!important}
  .hero h1{font-size:23px!important}.hero p{font-size:13px!important}
  .vtik-platform-feed-page .vtik-caption{font-size:13.5px!important}.vtik-platform-feed-page .vtik-author{font-size:13.5px!important}
  .vtik-unified-nav small{font-size:10px!important}
}

@media(prefers-reduced-motion:reduce){body.vtik-ui *,body.vtik-ui *:before,body.vtik-ui *:after{scroll-behavior:auto!important}}


/* Vtik Platform 1.13.74 — iOS/mobile form viewport hardening.
 * Safari zooms the visual viewport when a focused editable control computes
 * below 16px. Keep desktop typography compact, but make every text-editable
 * Vtik control 16px on phones. Do not disable user zoom. */
@media(max-width:768px){
  body.vtik-ui input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]),
  body.vtik-ui textarea,
  body.vtik-ui select,
  body.vtik-ui [contenteditable="true"],
  body.vtik-ui .vs-input,
  body.vtik-ui .vp-form input,
  body.vtik-ui .vp-form textarea,
  body.vtik-ui .vp-form select,
  body.vtik-ui .vp-select,
  body.vtik-ui .va-page input,
  body.vtik-ui .vtik-upload-page input:not([type="file"]),
  body.vtik-ui .vtik-upload-page textarea{
    font-size:16px!important;
    line-height:1.35;
  }
  body.vtik-ui form,
  body.vtik-ui fieldset,
  body.vtik-ui label,
  body.vtik-ui input,
  body.vtik-ui textarea,
  body.vtik-ui select{
    min-width:0;
  }
  body.vtik-ui input,
  body.vtik-ui textarea,
  body.vtik-ui select{
    max-width:100%;
  }
  html:has(body.vtik-shell-scroll-page),
  body.vtik-shell-scroll-page{
    max-width:100%;
    overflow-x:hidden;
  }
  /* Profile/settings modals stay inside the keyboard-reduced VisualViewport.
     --vtik-vv-* is maintained by the shared address selector on these routes. */
  .vp-modal{
    overflow:hidden!important;
    padding:8px!important;
  }
  .vp-modal-card{
    width:100%!important;
    max-width:560px!important;
    min-width:0!important;
    max-height:calc(var(--vtik-vv-height,100dvh) - 16px)!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  [data-settings-modal] .vp-modal-card{max-width:760px!important}
}

/* 1.13.116 — Profile edit: keep the submit button scrollable ABOVE the
   unified mobile dock. Scope strictly to the edit dialog; do not move the dock. */
@media (max-width:899px){
  body.vtik-shell-scroll-page [data-edit-modal].vp-modal{
    z-index:1100!important;
    padding:8px 8px calc(var(--vtik-app-nav-h,58px) + var(--vtik-dock-safe,env(safe-area-inset-bottom,0px)) + 8px)!important;
    min-height:0!important;
  }
  body.vtik-shell-scroll-page [data-edit-modal] .vp-modal-card{
    max-height:calc(var(--vtik-vv-height,100dvh) - var(--vtik-app-nav-h,58px) - var(--vtik-dock-safe,env(safe-area-inset-bottom,0px)) - 24px)!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }
  body.vtik-shell-scroll-page [data-edit-modal] .vp-form{
    padding-bottom:12px;
  }
}
