/* =========================================================
 * SPVIET Restaurant Theme V9.9.51
 * Responsive Device Context Foundation Pro
 * Purpose: central responsive tokens + safe device context hooks.
 * This file intentionally avoids aggressive layout rewrites in v9.9.51.
 * ========================================================= */

:root{
  /* Canonical SPVIET breakpoints */
  --spv-bp-phone-max: 767px;
  --spv-bp-tablet-min: 768px;
  --spv-bp-tablet-max: 1180px;
  --spv-bp-desktop-min: 1181px;

  /* Shared spacing tokens */
  --spv-safe-top: env(safe-area-inset-top, 0px);
  --spv-safe-right: env(safe-area-inset-right, 0px);
  --spv-safe-bottom: env(safe-area-inset-bottom, 0px);
  --spv-safe-left: env(safe-area-inset-left, 0px);
  --spv-gap-xs: 6px;
  --spv-gap-sm: 10px;
  --spv-gap-md: 14px;
  --spv-gap-lg: 20px;
  --spv-gap-xl: 28px;

  /* Component size tokens */
  --spv-header-h-phone: 68px;
  --spv-header-h-tablet: 76px;
  --spv-header-h-desktop: 84px;
  --spv-footer-h-phone: 74px;
  --spv-footer-h-tablet: 72px;
  --spv-content-max-tablet: 1080px;
  --spv-content-max-desktop: 1280px;
  --spv-card-radius-phone: 14px;
  --spv-card-radius-tablet: 18px;
  --spv-card-radius-desktop: 22px;
  --spv-touch-target-min: 44px;
  --spv-touch-target-comfort: 52px;

  /* Z-index registry to stop future layer conflicts */
  --spv-z-header: 900;
  --spv-z-footer: 920;
  --spv-z-drawer: 950;
  --spv-z-chat: 960;
  --spv-z-modal: 980;
  --spv-z-debug: 2147483000;

  /* Motion */
  --spv-motion-fast: 140ms;
  --spv-motion-normal: 220ms;
}

html.spviet-rwd-preflight,
html.spviet-rwd-ready{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.spviet-rwd-foundation{
  min-width: 0;
  overflow-x: clip;
}

/* Expose context to future component layers without breaking existing UI. */
html.spviet-device-phone body{
  --spv-current-header-h: var(--spv-header-h-phone);
  --spv-current-footer-h: calc(var(--spv-footer-h-phone) + var(--spv-safe-bottom));
  --spv-current-gap: var(--spv-gap-sm);
  --spv-current-card-radius: var(--spv-card-radius-phone);
  --spv-current-content-max: 100%;
}

html.spviet-device-tablet body{
  --spv-current-header-h: var(--spv-header-h-tablet);
  --spv-current-footer-h: var(--spv-footer-h-tablet);
  --spv-current-gap: var(--spv-gap-md);
  --spv-current-card-radius: var(--spv-card-radius-tablet);
  --spv-current-content-max: var(--spv-content-max-tablet);
}

html.spviet-device-desktop body{
  --spv-current-header-h: var(--spv-header-h-desktop);
  --spv-current-footer-h: auto;
  --spv-current-gap: var(--spv-gap-lg);
  --spv-current-card-radius: var(--spv-card-radius-desktop);
  --spv-current-content-max: var(--spv-content-max-desktop);
}

html.spviet-touch a,
html.spviet-touch button,
html.spviet-touch input,
html.spviet-touch select,
html.spviet-touch textarea,
html.spviet-touch [role="button"]{
  touch-action: manipulation;
}

html.spviet-touch button,
html.spviet-touch .button,
html.spviet-touch input[type="button"],
html.spviet-touch input[type="submit"]{
  min-height: var(--spv-touch-target-min);
}

html.spviet-reduced-motion *,
html.spviet-reduced-motion *::before,
html.spviet-reduced-motion *::after{
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: 0.001ms !important;
}

/* Container-query foundation for upcoming follow versions. */
.spviet-site-main,
.spviet-theme-header,
.spviet-theme-footer,
.spviet-menu-page,
.spviet-wc-menu-pro,
.spviet-home-section,
.spviet-map-fanpage-section{
  container-type: inline-size;
}

/* Conservative base helpers only; major component changes begin from v9.9.52. */
@media (max-width: 767px){
  body.spviet-rwd-foundation{
    --spv-viewport-mode: phone;
  }
}

@media (min-width: 768px) and (max-width: 1180px){
  body.spviet-rwd-foundation{
    --spv-viewport-mode: tablet;
  }
}

@media (min-width: 1181px){
  body.spviet-rwd-foundation{
    --spv-viewport-mode: desktop;
  }
}

@media (pointer: coarse){
  body.spviet-rwd-foundation{
    --spv-input-mode: touch;
  }
}

@media (hover: hover) and (pointer: fine){
  body.spviet-rwd-foundation{
    --spv-input-mode: mouse;
  }
}

.spviet-device-debug-badge{
  position: fixed;
  right: max(10px, var(--spv-safe-right));
  bottom: max(10px, calc(var(--spv-safe-bottom) + 10px));
  z-index: var(--spv-z-debug);
  display: grid;
  gap: 2px;
  min-width: 168px;
  max-width: min(280px, calc(100vw - 20px));
  padding: 9px 11px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(20, 20, 24, .88);
  color: #fff;
  font: 12px/1.25 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  pointer-events: none;
}

.spviet-device-debug-badge strong{
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.spviet-device-debug-badge span{
  font-weight: 800;
  font-size: 13px;
}

.spviet-device-debug-badge small{
  opacity: .86;
}

html:not(.spviet-rwd-ready) .spviet-device-debug-badge{
  display: none !important;
}

/* =========================================================
 * SPVIET Restaurant Theme V9.9.52
 * Mobile Layout Scientific Redesign Pro
 * Scope: phone layout only. Tablet/PC remain controlled by existing theme.
 * ========================================================= */
:root{
  --spv-mobile-bottom-nav-h: 76px;
  --spv-mobile-bottom-nav-bg: #0f3f8f;
  --spv-mobile-bottom-nav-accent: #f0d478;
  --spv-mobile-sheet-radius: 24px;
}

@media (max-width: 767px){
  html.spviet-device-phone body,
  body.spviet-mobile-layout-pro-v9952{
    padding-bottom: calc(var(--spv-mobile-bottom-nav-h) + var(--spv-safe-bottom) + 12px) !important;
    background: #fffaf0;
  }

  html.spviet-device-phone .spviet-theme-header{
    z-index: var(--spv-z-header) !important;
    background: rgba(255,247,232,.98) !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  html.spviet-device-phone .spviet-header-inner{
    min-height: var(--spv-header-h-phone) !important;
    padding: 8px 76px 8px 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
  }

  html.spviet-device-phone .spviet-logo{
    min-width: 0 !important;
    gap: 10px !important;
  }

  html.spviet-device-phone .spviet-logo-mark{
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    flex: 0 0 auto !important;
  }

  html.spviet-device-phone .spviet-logo-text{
    max-width: calc(100vw - 152px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: clamp(17px, 5vw, 22px) !important;
    line-height: 1.1 !important;
  }

  html.spviet-device-phone .spviet-order-btn,
  html.spviet-device-phone .spviet-primary-nav.is-desktop{
    display: none !important;
  }

  html.spviet-device-phone .spviet-menu-toggle{
    position: absolute !important;
    right: 10px !important;
    top: 8px !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 22px rgba(139,7,20,.18) !important;
  }

  html.spviet-device-phone .spviet-mobile-panel{
    max-height: calc(100dvh - var(--spv-header-h-phone) - var(--spv-safe-top) - 12px) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    border-bottom-left-radius: 22px !important;
    border-bottom-right-radius: 22px !important;
    box-shadow: 0 18px 36px rgba(64,15,18,.18) !important;
  }

  html.spviet-device-phone .spviet-site-main{
    overflow-x: clip !important;
  }

  html.spviet-device-phone .spviet-full-slider-section,
  html.spviet-device-phone .spviet-home-hero{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html.spviet-device-phone .spviet-full-slider,
  html.spviet-device-phone .spviet-slider{
    border-radius: 22px !important;
    padding: 8px !important;
    box-shadow: 0 14px 34px rgba(64,15,18,.10) !important;
  }

  html.spviet-device-phone .spviet-full-slider-track,
  html.spviet-device-phone .spviet-slider-track{
    min-height: clamp(190px, 58vw, 270px) !important;
  }

  html.spviet-device-phone .spviet-full-slider img,
  html.spviet-device-phone .spviet-slide img{
    aspect-ratio: 16/11 !important;
    border-radius: 18px !important;
  }

  html.spviet-device-phone .spviet-slide-overlay{
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
  }

  html.spviet-device-phone .spviet-slide-overlay strong{font-size: 15px !important;}
  html.spviet-device-phone .spviet-slide-overlay em{font-size: 12px !important;}

  html.spviet-device-phone .spviet-quick-links-section,
  html.spviet-device-phone .spviet-quick-links-under-slider,
  html.spviet-device-phone .spviet-latest-news-section,
  html.spviet-device-phone .spviet-feature-grid,
  html.spviet-device-phone .spviet-shortcode-area{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  html.spviet-device-phone .spviet-quick-links-grid,
  html.spviet-device-phone .spviet-quick-links-under-slider .spviet-quick-links-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }

  html.spviet-device-phone .spviet-quick-link,
  html.spviet-device-phone .spviet-quick-links-under-slider .spviet-quick-link{
    min-height: 58px !important;
    border-radius: 18px !important;
    padding: 12px 12px !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.08) !important;
  }

  html.spviet-device-phone .spviet-quick-link span,
  html.spviet-device-phone .spviet-quick-links-under-slider .spviet-quick-link span{
    font-size: clamp(14px, 4.1vw, 17px) !important;
    line-height: 1.15 !important;
  }

  html.spviet-device-phone .spviet-quick-link b,
  html.spviet-device-phone .spviet-quick-links-under-slider .spviet-quick-link b{
    font-size: 18px !important;
  }

  html.spviet-device-phone .spviet-mobile-footer-nav{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: var(--spv-z-footer) !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(68px,1fr)) !important;
    min-height: calc(var(--spv-mobile-bottom-nav-h) + var(--spv-safe-bottom)) !important;
    padding: 6px 6px calc(6px + var(--spv-safe-bottom)) !important;
    background: linear-gradient(180deg, #125047, var(--spv-mobile-bottom-nav-bg)) !important;
    border-top: 3px solid var(--spv-mobile-bottom-nav-accent) !important;
    box-shadow: 0 -10px 28px rgba(0,0,0,.18) !important;
  }

  html.spviet-device-phone .spviet-mobile-footer-nav a{
    min-width: 0 !important;
    min-height: 62px !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 4px !important;
    padding: 6px 4px !important;
    border-radius: 16px !important;
    color: #fff !important;
    border-right: 0 !important;
    text-decoration: none !important;
  }

  html.spviet-device-phone .spviet-mobile-footer-nav a.is-active,
  html.spviet-device-phone .spviet-mobile-footer-nav a:active{
    background: rgba(240,212,120,.18) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14) !important;
  }

  html.spviet-device-phone .spviet-mobile-footer-nav .icon{
    font-size: 20px !important;
    line-height: 1 !important;
  }

  html.spviet-device-phone .spviet-mobile-footer-nav .label{
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* WooCommerce/Menu mobile: restore filters as a professional bottom sheet instead of hiding them. */
  html.spviet-device-phone .spviet-wc-menu-pro{
    padding: 12px 8px calc(var(--spv-mobile-bottom-nav-h) + 24px) !important;
  }

  html.spviet-device-phone .spviet-wc-menu-shell{
    width: 100% !important;
    padding: 12px !important;
    border-radius: 22px !important;
  }

  html.spviet-device-phone .spviet-wc-menu-head{
    margin-bottom: 12px !important;
  }

  html.spviet-device-phone .spviet-wc-menu-head h1{
    font-size: clamp(26px, 8vw, 36px) !important;
  }

  html.spviet-device-phone .spviet-wc-menu-head p{
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  html.spviet-device-phone .spviet-wc-toolbar{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin: 12px 0 8px !important;
  }

  html.spviet-device-phone .spviet-wc-search,
  html.spviet-device-phone .spviet-wc-toolbar select{
    min-height: 48px !important;
    border-radius: 16px !important;
  }

  .spviet-mobile-filter-toggle-v9952{
    display: none;
  }

  html.spviet-device-phone .spviet-mobile-filter-toggle-v9952{
    width: 100% !important;
    min-height: 54px !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-areas: "icon title" "icon desc" !important;
    align-items: center !important;
    column-gap: 12px !important;
    margin: 10px 0 8px !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg,#10463b,#0f3f8f) !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(15,63,143,.16) !important;
    text-align: left !important;
  }

  html.spviet-device-phone .spviet-mobile-filter-toggle-v9952 span{grid-area:icon;font-size:22px;}
  html.spviet-device-phone .spviet-mobile-filter-toggle-v9952 strong{grid-area:title;font-size:15px;line-height:1.1;}
  html.spviet-device-phone .spviet-mobile-filter-toggle-v9952 small{grid-area:desc;font-size:12px;opacity:.88;}

  html.spviet-device-phone .spviet-wc-filter-panel,
  html.spviet-device-phone body .spviet-wc-filter-panel,
  html.spviet-device-phone body .spviet-wc-menu-mode-shop .spviet-wc-filter-panel,
  html.spviet-device-phone body .spviet-woo-shop-catalog-card .spviet-wc-filter-panel{
    display: grid !important;
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: calc(var(--spv-safe-bottom) + 8px) !important;
    z-index: var(--spv-z-modal) !important;
    max-height: min(74dvh, 620px) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    gap: 12px !important;
    padding: 12px !important;
    border-radius: var(--spv-mobile-sheet-radius) !important;
    background: rgba(255,250,240,.98) !important;
    box-shadow: 0 26px 70px rgba(0,0,0,.28) !important;
    transform: translateY(calc(100% + 24px)) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform var(--spv-motion-normal) ease, opacity var(--spv-motion-normal) ease !important;
  }

  html.spviet-device-phone.spviet-wc-filter-open .spviet-wc-filter-panel{
    transform: translateY(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  html.spviet-device-phone.spviet-wc-filter-open::after{
    content: "";
    position: fixed;
    inset: 0;
    z-index: calc(var(--spv-z-modal) - 1);
    background: rgba(16,20,24,.46);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }

  .spviet-mobile-filter-close-v9952{
    display: none;
  }

  html.spviet-device-phone .spviet-mobile-filter-close-v9952{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #8b0714 !important;
    color: #fff !important;
    font-weight: 950 !important;
  }

  html.spviet-device-phone .spviet-mobile-filter-close-v9952 span{
    font-size: 22px !important;
    line-height: 1 !important;
  }

  html.spviet-device-phone .spviet-wc-filter-card{
    border-radius: 18px !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.08) !important;
  }

  html.spviet-device-phone .spviet-wc-filter-card h3{
    font-size: 15px !important;
    padding: 12px 14px !important;
  }

  html.spviet-device-phone .spviet-wc-filter-card label{
    min-height: 46px !important;
    padding: 9px 14px !important;
  }

  html.spviet-device-phone .spviet-wc-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  html.spviet-device-phone .spviet-wc-menu-card{
    border-radius: 20px !important;
  }

  html.spviet-device-phone .spviet-wc-card-media{
    aspect-ratio: 16/10 !important;
  }

  html.spviet-device-phone .spviet-wc-card-body{
    padding: 14px !important;
    gap: 8px !important;
  }

  html.spviet-device-phone .spviet-wc-card-body h3{
    font-size: 17px !important;
  }

  /* Floating widgets: keep language/chat above the bottom navigation. */
  html.spviet-device-phone .gtranslate_wrapper,
  html.spviet-device-phone .gt_float_switcher,
  html.spviet-device-phone .gt_switcher_wrapper,
  html.spviet-device-phone .translatepress-floating-language-switcher,
  html.spviet-device-phone .trp-language-switcher-container,
  html.spviet-device-phone [class*="gtranslate"],
  html.spviet-device-phone [id*="gtranslate"]{
    bottom: calc(var(--spv-mobile-bottom-nav-h) + var(--spv-safe-bottom) + 14px) !important;
    right: 10px !important;
    z-index: var(--spv-z-chat) !important;
    max-width: min(190px, calc(100vw - 20px)) !important;
  }

  html.spviet-device-phone .spviet-device-debug-badge{
    bottom: calc(var(--spv-mobile-bottom-nav-h) + var(--spv-safe-bottom) + 14px) !important;
  }
}

@media (max-width: 374px){
  html.spviet-device-phone .spviet-mobile-footer-nav .label{font-size: 9.5px !important;}
  html.spviet-device-phone .spviet-logo-text{font-size: 17px !important;}
  html.spviet-device-phone .spviet-quick-links-grid,
  html.spviet-device-phone .spviet-quick-links-under-slider .spviet-quick-links-grid{gap: 8px !important;}
}
@media (max-width: 767px){
  html.spviet-device-phone.spviet-wc-filter-open,
  html.spviet-device-phone.spviet-wc-filter-open body{
    overflow: hidden !important;
  }
}

/* =========================================================
 * SPVIET Restaurant Theme V9.9.53
 * Tablet Adaptive Layout Pro
 * Scope: tablet/iPad 768-1180px only. Phone and desktop rules remain isolated.
 * ========================================================= */
:root{
  --spv-tablet-shell-pad: clamp(18px, 3vw, 32px);
  --spv-tablet-section-gap: clamp(18px, 2.4vw, 30px);
  --spv-tablet-card-radius: 24px;
  --spv-tablet-sidebar-w: 238px;
  --spv-tablet-touch-target: 48px;
}

@media (min-width: 768px) and (max-width: 1180px){
  html.spviet-device-tablet body,
  body.spviet-tablet-layout-pro-v9953{
    padding-bottom: 0 !important;
    overflow-x: clip !important;
    background: linear-gradient(180deg,#fff8eb 0%,#fffdf8 48%,#fff7e8 100%) !important;
  }

  html.spviet-device-tablet .spviet-mobile-footer-nav,
  html.spviet-device-tablet .spviet-mobile-footer-nav-v9952,
  html.spviet-device-tablet .spviet-mobile-footer-nav[data-spviet-tablet-hidden="1"]{
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.spviet-device-tablet .spviet-theme-header{
    position: sticky !important;
    top: 0 !important;
    z-index: var(--spv-z-header) !important;
    background: rgba(255,247,232,.97) !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  body.admin-bar html.spviet-device-tablet .spviet-theme-header,
  html.spviet-device-tablet body.admin-bar .spviet-theme-header{top: 32px !important;}

  html.spviet-device-tablet .spviet-header-inner{
    width: min(100%, var(--spv-content-max-tablet)) !important;
    max-width: var(--spv-content-max-tablet) !important;
    min-height: var(--spv-header-h-tablet) !important;
    padding: 12px var(--spv-tablet-shell-pad) !important;
    gap: 14px !important;
  }

  html.spviet-device-tablet .spviet-logo{min-width: 0 !important;}
  html.spviet-device-tablet .spviet-logo-mark{width: 44px !important;height: 44px !important;border-radius: 15px !important;}
  html.spviet-device-tablet .spviet-logo-text{
    font-size: clamp(20px, 2.4vw, 26px) !important;
    max-width: min(38vw, 360px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html.spviet-device-tablet .spviet-menu-toggle{
    display: flex !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 18px !important;
    position: static !important;
    flex: 0 0 auto !important;
  }

  html.spviet-device-tablet .spviet-mobile-panel{
    width: min(440px, calc(100vw - 32px)) !important;
    right: var(--spv-tablet-shell-pad) !important;
    border-radius: 0 0 24px 24px !important;
  }

  html.spviet-device-tablet .spviet-full-slider-track{
    min-height: clamp(360px, 42vw, 540px) !important;
  }

  html.spviet-device-tablet .spviet-full-slide-caption{
    width: min(760px, calc(100% - 56px)) !important;
    bottom: 24px !important;
    padding: 16px 20px !important;
  }

  html.spviet-device-tablet .spviet-quick-links-section,
  html.spviet-device-tablet .spviet-latest-news-section,
  html.spviet-device-tablet .spviet-feature-grid,
  html.spviet-device-tablet .spviet-shortcode-area,
  html.spviet-device-tablet .spviet-page-shell{
    max-width: var(--spv-content-max-tablet) !important;
    padding-left: var(--spv-tablet-shell-pad) !important;
    padding-right: var(--spv-tablet-shell-pad) !important;
  }

  html.spviet-device-tablet .spviet-quick-links-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 14px !important;
  }

  html.spviet-device-tablet .spviet-quick-link{
    min-height: 76px !important;
    border-radius: 20px !important;
    padding: 18px 20px !important;
  }

  html.spviet-device-tablet .spviet-quick-link span{font-size: clamp(20px, 2.6vw, 26px) !important;}
  html.spviet-device-tablet .spviet-feature-grid{grid-template-columns: repeat(2, minmax(0,1fr)) !important;gap: 18px !important;}
  html.spviet-device-tablet .spviet-news-head h2{font-size: clamp(26px, 3vw, 32px) !important;}

  html.spviet-device-tablet .spviet-theme-footer{margin-top: 24px !important;}
  html.spviet-device-tablet .spviet-footer-inner{
    max-width: var(--spv-content-max-tablet) !important;
    padding: 22px var(--spv-tablet-shell-pad) 28px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
  }

  html.spviet-device-tablet .spviet-footer-links{justify-content: flex-end !important;gap: 10px !important;}
  html.spviet-device-tablet .spviet-footer-links a{min-height: 44px !important;padding: 10px 13px !important;}

  html.spviet-device-tablet .spviet-wc-menu-pro{padding: 20px var(--spv-tablet-shell-pad) 44px !important;}
  html.spviet-device-tablet .spviet-wc-menu-shell{
    width: 100% !important;
    max-width: var(--spv-content-max-tablet) !important;
    border-radius: 28px !important;
    padding: clamp(18px, 2.4vw, 26px) !important;
  }

  html.spviet-device-tablet .spviet-wc-toolbar{
    grid-template-columns: minmax(0,1fr) minmax(180px, 230px) !important;
    max-width: 920px !important;
  }

  html.spviet-device-tablet .spviet-wc-filter-panel{
    display: grid !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  html.spviet-device-tablet .spviet-mobile-filter-toggle-v9952,
  html.spviet-device-tablet .spviet-mobile-filter-close-v9952{display: none !important;}

  html.spviet-device-tablet .spviet-wc-layout{
    display: grid !important;
    grid-template-columns: var(--spv-tablet-sidebar-w) minmax(0,1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }

  html.spviet-device-tablet .spviet-wc-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 18px !important;
  }

  html.spviet-device-tablet .spviet-wc-menu-card{
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  html.spviet-device-tablet .spviet-wc-card-media{min-height: 170px !important;aspect-ratio: 4/3 !important;}
  html.spviet-device-tablet .spviet-wc-card-body{min-height: 0 !important;padding: 16px !important;}
  html.spviet-device-tablet .spviet-wc-card-body h3{font-size: clamp(18px, 2.1vw, 21px) !important;}
  html.spviet-device-tablet .spviet-wc-card-body p{-webkit-line-clamp: 3 !important;}
  html.spviet-device-tablet .spviet-wc-card-actions{grid-template-columns: 1fr !important;}

  html.spviet-device-tablet .spviet-map-fanpage-section{
    margin: 42px auto 56px !important;
    padding-left: var(--spv-tablet-shell-pad) !important;
    padding-right: var(--spv-tablet-shell-pad) !important;
  }

  html.spviet-device-tablet .spviet-map-fanpage-inner{
    max-width: var(--spv-content-max-tablet) !important;
    gap: 22px !important;
  }

  html.spviet-device-tablet .spviet-map-fanpage-card{
    border-radius: var(--spv-tablet-card-radius) !important;
    padding: 22px !important;
  }

  html.spviet-device-tablet .spviet-map-frame{height: clamp(330px, 42vw, 430px) !important;}
  html.spviet-device-tablet .spviet-fanpage-company-grid{gap: 20px !important;}
  html.spviet-device-tablet .spviet-fanpage-frame,
  html.spviet-device-tablet .spviet-fanpage-frame iframe{height: 430px !important;}
  html.spviet-device-tablet .spviet-company-info-block{min-height: 430px !important;padding: 22px !important;}

  html.spviet-device-tablet .spviet-device-debug-badge{
    bottom: max(12px, var(--spv-safe-bottom)) !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px) and (orientation: portrait){
  html.spviet-device-tablet .spviet-header-inner{grid-template-columns: minmax(0,1fr) auto !important;}
  html.spviet-device-tablet .spviet-primary-nav.is-desktop,
  html.spviet-device-tablet .spviet-order-btn{display: none !important;}

  html.spviet-device-tablet .spviet-full-slider-track{min-height: clamp(340px, 52vw, 460px) !important;}
  html.spviet-device-tablet .spviet-wc-layout{grid-template-columns: 1fr !important;}
  html.spviet-device-tablet .spviet-wc-filter-panel{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 14px !important;
  }
  html.spviet-device-tablet .spviet-wc-filter-small{grid-column: 1 / -1 !important;}
  html.spviet-device-tablet .spviet-wc-grid{grid-template-columns: repeat(2, minmax(0,1fr)) !important;}
  html.spviet-device-tablet .spviet-map-fanpage-inner{grid-template-columns: 1fr !important;}
  html.spviet-device-tablet .spviet-fanpage-company-grid{grid-template-columns: 1fr !important;}
  html.spviet-device-tablet .spviet-fanpage-posts{grid-template-columns: repeat(2, minmax(0,1fr)) !important;}
  html.spviet-device-tablet .spviet-footer-inner{grid-template-columns: 1fr !important;align-items: start !important;}
  html.spviet-device-tablet .spviet-footer-links{justify-content: flex-start !important;margin-top: 12px !important;}
}

@media (min-width: 900px) and (max-width: 1180px) and (orientation: landscape){
  html.spviet-device-tablet .spviet-header-inner{grid-template-columns: auto minmax(0,1fr) auto !important;}
  html.spviet-device-tablet .spviet-primary-nav.is-desktop{
    display: block !important;
    overflow: hidden !important;
  }
  html.spviet-device-tablet .spviet-menu-list{
    justify-content: center !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 6px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  html.spviet-device-tablet .spviet-menu-list::-webkit-scrollbar{display:none;}
  html.spviet-device-tablet .spviet-menu-list>li>a{
    padding: 9px 11px !important;
    font-size: 14px !important;
  }
  html.spviet-device-tablet .spviet-menu-toggle{display: none !important;}
  html.spviet-device-tablet .spviet-order-btn{display: inline-flex !important;padding: 11px 16px !important;}
  html.spviet-device-tablet .spviet-logo-text{max-width: min(24vw, 260px) !important;}
  html.spviet-device-tablet .spviet-quick-links-grid{grid-template-columns: repeat(3, minmax(0,1fr)) !important;}
  html.spviet-device-tablet .spviet-wc-grid{grid-template-columns: repeat(3, minmax(0,1fr)) !important;}
  html.spviet-device-tablet .spviet-home-products-grid{grid-template-columns: repeat(3, minmax(0,1fr)) !important;}
  html.spviet-device-tablet .spviet-map-fanpage-inner{grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;align-items: stretch !important;}
  html.spviet-device-tablet .spviet-fanpage-company-grid{grid-template-columns: 1fr !important;}
  html.spviet-device-tablet .spviet-company-info-block{min-height: auto !important;}
}

@media (min-width: 768px) and (max-width: 899px) and (orientation: landscape){
  html.spviet-device-tablet .spviet-primary-nav.is-desktop,
  html.spviet-device-tablet .spviet-order-btn{display: none !important;}
  html.spviet-device-tablet .spviet-wc-layout{grid-template-columns: 1fr !important;}
  html.spviet-device-tablet .spviet-wc-filter-panel{grid-template-columns: repeat(2, minmax(0,1fr)) !important;}
}

/* =========================================================
 * SPVIET Restaurant Theme V9.9.53
 * Tablet Adaptive Layout Pro
 * Scope: tablet/iPad 768-1180px only. Phone and desktop rules remain isolated.
 * ========================================================= */
:root{
  --spv-tablet-shell-pad: clamp(18px, 3vw, 32px);
  --spv-tablet-section-gap: clamp(18px, 2.4vw, 30px);
  --spv-tablet-card-radius: 24px;
  --spv-tablet-sidebar-w: 238px;
  --spv-tablet-touch-target: 48px;
}

@media (min-width: 768px) and (max-width: 1180px){
  html.spviet-device-tablet body,
  body.spviet-tablet-layout-pro-v9953{padding-bottom:0!important;overflow-x:clip!important;background:linear-gradient(180deg,#fff8eb 0%,#fffdf8 48%,#fff7e8 100%)!important;}
  html.spviet-device-tablet .spviet-mobile-footer-nav,
  html.spviet-device-tablet .spviet-mobile-footer-nav-v9952,
  html.spviet-device-tablet .spviet-mobile-footer-nav[data-spviet-tablet-hidden="1"]{display:none!important;visibility:hidden!important;pointer-events:none!important;}
  html.spviet-device-tablet .spviet-theme-header{position:sticky!important;top:0!important;z-index:var(--spv-z-header)!important;background:rgba(255,247,232,.97)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}
  html.spviet-device-tablet body.admin-bar .spviet-theme-header{top:32px!important;}
  html.spviet-device-tablet .spviet-header-inner{width:min(100%,var(--spv-content-max-tablet))!important;max-width:var(--spv-content-max-tablet)!important;min-height:var(--spv-header-h-tablet)!important;padding:12px var(--spv-tablet-shell-pad)!important;gap:14px!important;}
  html.spviet-device-tablet .spviet-logo{min-width:0!important;}
  html.spviet-device-tablet .spviet-logo-mark{width:44px!important;height:44px!important;border-radius:15px!important;}
  html.spviet-device-tablet .spviet-logo-text{font-size:clamp(20px,2.4vw,26px)!important;max-width:min(38vw,360px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  html.spviet-device-tablet .spviet-menu-toggle{display:flex!important;width:64px!important;height:64px!important;border-radius:18px!important;position:static!important;flex:0 0 auto!important;}
  html.spviet-device-tablet .spviet-mobile-panel{width:min(440px,calc(100vw - 32px))!important;right:var(--spv-tablet-shell-pad)!important;border-radius:0 0 24px 24px!important;}
  html.spviet-device-tablet .spviet-full-slider-track{min-height:clamp(360px,42vw,540px)!important;}
  html.spviet-device-tablet .spviet-full-slide-caption{width:min(760px,calc(100% - 56px))!important;bottom:24px!important;padding:16px 20px!important;}
  html.spviet-device-tablet .spviet-quick-links-section,
  html.spviet-device-tablet .spviet-latest-news-section,
  html.spviet-device-tablet .spviet-feature-grid,
  html.spviet-device-tablet .spviet-shortcode-area,
  html.spviet-device-tablet .spviet-page-shell{max-width:var(--spv-content-max-tablet)!important;padding-left:var(--spv-tablet-shell-pad)!important;padding-right:var(--spv-tablet-shell-pad)!important;}
  html.spviet-device-tablet .spviet-quick-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  html.spviet-device-tablet .spviet-quick-link{min-height:76px!important;border-radius:20px!important;padding:18px 20px!important;}
  html.spviet-device-tablet .spviet-quick-link span{font-size:clamp(20px,2.6vw,26px)!important;}
  html.spviet-device-tablet .spviet-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
  html.spviet-device-tablet .spviet-news-head h2{font-size:clamp(26px,3vw,32px)!important;}
  html.spviet-device-tablet .spviet-theme-footer{margin-top:24px!important;}
  html.spviet-device-tablet .spviet-footer-inner{max-width:var(--spv-content-max-tablet)!important;padding:22px var(--spv-tablet-shell-pad) 28px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;}
  html.spviet-device-tablet .spviet-footer-links{justify-content:flex-end!important;gap:10px!important;}
  html.spviet-device-tablet .spviet-footer-links a{min-height:44px!important;padding:10px 13px!important;}
  html.spviet-device-tablet .spviet-wc-menu-pro{padding:20px var(--spv-tablet-shell-pad) 44px!important;}
  html.spviet-device-tablet .spviet-wc-menu-shell{width:100%!important;max-width:var(--spv-content-max-tablet)!important;border-radius:28px!important;padding:clamp(18px,2.4vw,26px)!important;}
  html.spviet-device-tablet .spviet-wc-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,230px)!important;max-width:920px!important;}
  html.spviet-device-tablet .spviet-wc-filter-panel{display:grid!important;visibility:visible!important;position:static!important;transform:none!important;opacity:1!important;pointer-events:auto!important;max-height:none!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;padding:0!important;}
  html.spviet-device-tablet .spviet-mobile-filter-toggle-v9952,
  html.spviet-device-tablet .spviet-mobile-filter-close-v9952{display:none!important;}
  html.spviet-device-tablet .spviet-wc-layout{display:grid!important;grid-template-columns:var(--spv-tablet-sidebar-w) minmax(0,1fr)!important;gap:20px!important;align-items:start!important;}
  html.spviet-device-tablet .spviet-wc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
  html.spviet-device-tablet .spviet-wc-menu-card{min-height:0!important;border-radius:22px!important;}
  html.spviet-device-tablet .spviet-wc-card-media{min-height:170px!important;aspect-ratio:4/3!important;}
  html.spviet-device-tablet .spviet-wc-card-body{min-height:0!important;padding:16px!important;}
  html.spviet-device-tablet .spviet-wc-card-body h3{font-size:clamp(18px,2.1vw,21px)!important;}
  html.spviet-device-tablet .spviet-wc-card-body p{-webkit-line-clamp:3!important;}
  html.spviet-device-tablet .spviet-wc-card-actions{grid-template-columns:1fr!important;}
  html.spviet-device-tablet .spviet-map-fanpage-section{margin:42px auto 56px!important;padding-left:var(--spv-tablet-shell-pad)!important;padding-right:var(--spv-tablet-shell-pad)!important;}
  html.spviet-device-tablet .spviet-map-fanpage-inner{max-width:var(--spv-content-max-tablet)!important;gap:22px!important;}
  html.spviet-device-tablet .spviet-map-fanpage-card{border-radius:var(--spv-tablet-card-radius)!important;padding:22px!important;}
  html.spviet-device-tablet .spviet-map-frame{height:clamp(330px,42vw,430px)!important;}
  html.spviet-device-tablet .spviet-fanpage-company-grid{gap:20px!important;}
  html.spviet-device-tablet .spviet-fanpage-frame,
  html.spviet-device-tablet .spviet-fanpage-frame iframe{height:430px!important;}
  html.spviet-device-tablet .spviet-company-info-block{min-height:430px!important;padding:22px!important;}
  html.spviet-device-tablet .spviet-device-debug-badge{bottom:max(12px,var(--spv-safe-bottom))!important;}
}

@media (min-width:768px) and (max-width:1180px) and (orientation:portrait){
  html.spviet-device-tablet .spviet-header-inner{grid-template-columns:minmax(0,1fr) auto!important;}
  html.spviet-device-tablet .spviet-primary-nav.is-desktop,
  html.spviet-device-tablet .spviet-order-btn{display:none!important;}
  html.spviet-device-tablet .spviet-full-slider-track{min-height:clamp(340px,52vw,460px)!important;}
  html.spviet-device-tablet .spviet-wc-layout{grid-template-columns:1fr!important;}
  html.spviet-device-tablet .spviet-wc-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  html.spviet-device-tablet .spviet-wc-filter-small{grid-column:1 / -1!important;}
  html.spviet-device-tablet .spviet-wc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html.spviet-device-tablet .spviet-map-fanpage-inner{grid-template-columns:1fr!important;}
  html.spviet-device-tablet .spviet-fanpage-company-grid{grid-template-columns:1fr!important;}
  html.spviet-device-tablet .spviet-fanpage-posts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html.spviet-device-tablet .spviet-footer-inner{grid-template-columns:1fr!important;align-items:start!important;}
  html.spviet-device-tablet .spviet-footer-links{justify-content:flex-start!important;margin-top:12px!important;}
}

@media (min-width:900px) and (max-width:1180px) and (orientation:landscape){
  html.spviet-device-tablet .spviet-header-inner{grid-template-columns:auto minmax(0,1fr) auto!important;}
  html.spviet-device-tablet .spviet-primary-nav.is-desktop{display:block!important;overflow:hidden!important;}
  html.spviet-device-tablet .spviet-menu-list{justify-content:center!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  html.spviet-device-tablet .spviet-menu-list::-webkit-scrollbar{display:none;}
  html.spviet-device-tablet .spviet-menu-list>li>a{padding:9px 11px!important;font-size:14px!important;}
  html.spviet-device-tablet .spviet-menu-toggle{display:none!important;}
  html.spviet-device-tablet .spviet-order-btn{display:inline-flex!important;padding:11px 16px!important;}
  html.spviet-device-tablet .spviet-logo-text{max-width:min(24vw,260px)!important;}
  html.spviet-device-tablet .spviet-quick-links-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  html.spviet-device-tablet .spviet-wc-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  html.spviet-device-tablet .spviet-home-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  html.spviet-device-tablet .spviet-map-fanpage-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;}
  html.spviet-device-tablet .spviet-fanpage-company-grid{grid-template-columns:1fr!important;}
  html.spviet-device-tablet .spviet-company-info-block{min-height:auto!important;}
}

@media (min-width:768px) and (max-width:899px) and (orientation:landscape){
  html.spviet-device-tablet .spviet-primary-nav.is-desktop,
  html.spviet-device-tablet .spviet-order-btn{display:none!important;}
  html.spviet-device-tablet .spviet-wc-layout{grid-template-columns:1fr!important;}
  html.spviet-device-tablet .spviet-wc-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* =========================================================
 * SPVIET Restaurant Theme V9.9.54
 * PC Layout Polish + WooCommerce Catalog Pro
 * Scope: desktop only through device-context classes. Mobile/tablet layers remain isolated.
 * ========================================================= */
:root{
  --spv-desktop-shell-max-v9954: 1320px;
  --spv-desktop-wide-shell-max-v9954: 1480px;
  --spv-desktop-section-gap-v9954: 34px;
  --spv-desktop-card-gap-v9954: 26px;
  --spv-desktop-menu-media-h-v9954: 214px;
}

@media (min-width: 1181px){
  html.spviet-device-desktop body.spviet-rwd-foundation{overflow-x:clip!important;background:linear-gradient(180deg,#fffaf1 0%,#fffdf8 38%,#fff 100%)}
  html.spviet-device-desktop .spviet-theme-header{position:sticky!important;top:0!important;z-index:var(--spv-z-header)!important;background:rgba(255,247,232,.96)!important;border-bottom:1px solid rgba(139,7,20,.10)!important;box-shadow:0 10px 30px rgba(64,15,18,.06)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  html.spviet-device-desktop .spviet-header-inner{width:min(var(--spv-desktop-shell-max-v9954),calc(100vw - 48px))!important;max-width:var(--spv-desktop-shell-max-v9954)!important;min-height:var(--spv-header-h-desktop)!important;padding:12px 0!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:22px!important}
  html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-header-inner,html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-full-slider-section,html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-quick-links-under-slider,html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-wc-menu-shell,html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-page-shell,html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-content-card{max-width:var(--spv-desktop-wide-shell-max-v9954)!important}
  html.spviet-device-desktop .spviet-primary-nav.is-desktop{display:block!important;min-width:0!important;overflow:visible!important}
  html.spviet-device-desktop .spviet-primary-nav .spviet-menu-list{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;padding:4px 2px 6px!important}
  html.spviet-device-desktop .spviet-primary-nav .spviet-menu-list>li>a{min-height:42px!important;padding:10px 15px!important;font-size:clamp(13px,.86vw,15px)!important;white-space:nowrap!important}
  html.spviet-device-desktop .spviet-header-actions{gap:12px!important;min-width:max-content!important}
  html.spviet-device-desktop .spviet-order-btn,html.spviet-device-desktop .spviet-btn-primary{min-height:46px!important;padding:12px 20px!important}
  html.spviet-device-desktop .spviet-menu-toggle,html.spviet-device-desktop .spviet-mobile-footer-nav,html.spviet-device-desktop .spviet-mobile-filter-trigger,html.spviet-device-desktop .spviet-filter-sheet-backdrop{display:none!important}
  html.spviet-device-desktop .spviet-full-slider-section{width:min(var(--spv-desktop-shell-max-v9954),calc(100vw - 48px))!important;margin:24px auto 0!important;padding:0!important}
  html.spviet-device-desktop .spviet-full-slider{border-radius:34px!important;overflow:hidden!important;box-shadow:0 26px 66px rgba(64,15,18,.12)!important;border:1px solid rgba(139,7,20,.10)!important}
  html.spviet-device-desktop .spviet-full-slider-track{min-height:clamp(380px,34vw,560px)!important}
  html.spviet-device-desktop.spviet-desktop-short-v9954 .spviet-full-slider-track{min-height:340px!important}
  html.spviet-device-desktop .spviet-quick-links-under-slider{width:min(var(--spv-desktop-shell-max-v9954),calc(100vw - 48px))!important;margin:22px auto var(--spv-desktop-section-gap-v9954)!important;padding:0!important}
  html.spviet-device-desktop .spviet-quick-links-under-slider .spviet-quick-links-grid,html.spviet-device-desktop .spviet-quick-links-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
  html.spviet-device-desktop .spviet-quick-link{min-height:84px!important;border-radius:22px!important;box-shadow:0 18px 38px rgba(64,15,18,.10)!important}
  html.spviet-device-desktop .spviet-wc-menu-pro{padding:30px 24px 80px!important}
  html.spviet-device-desktop .spviet-wc-menu-shell{width:min(var(--spv-desktop-shell-max-v9954),calc(100vw - 48px))!important;max-width:var(--spv-desktop-shell-max-v9954)!important;border-radius:34px!important;padding:32px!important;overflow:visible!important}
  html.spviet-device-desktop .spviet-wc-toolbar{grid-template-columns:minmax(360px,1fr) 240px!important;max-width:920px!important;gap:16px!important}
  html.spviet-device-desktop .spviet-wc-layout{grid-template-columns:292px minmax(0,1fr)!important;gap:30px!important;align-items:start!important}
  html.spviet-device-desktop .spviet-wc-filter-panel{position:sticky!important;top:calc(var(--spv-header-h-desktop) + 18px)!important;max-height:calc(100vh - var(--spv-header-h-desktop) - 36px)!important;overflow:auto!important;padding-right:3px!important}
  html.spviet-device-desktop .spviet-wc-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--spv-desktop-card-gap-v9954)!important}
  html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-wc-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  html.spviet-device-desktop .spviet-wc-menu-card{border-radius:18px!important;min-height:100%!important;box-shadow:0 16px 38px rgba(64,15,18,.09)!important}
  html.spviet-device-desktop .spviet-wc-card-media{height:var(--spv-desktop-menu-media-h-v9954)!important;aspect-ratio:auto!important}
  html.spviet-device-desktop .spviet-wc-card-body{padding:18px 18px 20px!important}
  html.spviet-device-desktop .spviet-wc-card-body h3{min-height:54px!important;font-size:19px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  html.spviet-device-desktop .spviet-wc-card-body p{min-height:74px!important;-webkit-line-clamp:3!important}
  html.spviet-device-desktop .woocommerce ul.products,html.spviet-device-desktop .woocommerce-page ul.products,html.spviet-device-desktop .spviet-single-product-page .related.products ul.products,html.spviet-device-desktop .spviet-woocommerce-page .related.products ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px!important}
  html.spviet-device-desktop.spviet-desktop-wide-v9954 .woocommerce ul.products,html.spviet-device-desktop.spviet-desktop-wide-v9954 .woocommerce-page ul.products,html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-single-product-page .related.products ul.products,html.spviet-device-desktop.spviet-desktop-wide-v9954 .spviet-woocommerce-page .related.products ul.products{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  html.spviet-device-desktop .woocommerce ul.products li.product,html.spviet-device-desktop .woocommerce-page ul.products li.product{min-height:430px!important;border-radius:18px!important}
  html.spviet-device-desktop .woocommerce ul.products li.product a img,html.spviet-device-desktop .woocommerce-page ul.products li.product a img{height:210px!important;min-height:210px!important;max-height:210px!important}
  html.spviet-device-desktop .spviet-map-fanpage-section,html.spviet-device-desktop .spviet-map-facebook-section,html.spviet-device-desktop .spviet-map-fanpage-wrap,html.spviet-device-desktop .spviet-map-fanpage-grid{width:min(var(--spv-desktop-shell-max-v9954),calc(100vw - 48px))!important;max-width:var(--spv-desktop-shell-max-v9954)!important;margin-left:auto!important;margin-right:auto!important}
  html.spviet-device-desktop .spviet-map-fanpage-grid,html.spviet-device-desktop .spviet-map-facebook-grid,html.spviet-device-desktop .spviet-home-map-fb-grid{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;gap:24px!important;align-items:stretch!important}
  html.spviet-device-desktop iframe[src*="google"],html.spviet-device-desktop iframe[src*="facebook"]{max-width:100%!important}
  html.spviet-device-desktop .spviet-theme-footer{margin-top:46px!important;position:static!important}
}

/* =========================================================
 * SPVIET V9.9.56 - Responsive Admin Preview / Device Override Pro
 * Admin-only preview classes. Safe because URLs require logged-in admin + nonce.
 * ========================================================= */
html.spviet-preview-forced::before{
  content:"SPVIET PREVIEW: " attr(data-spviet-device);
  position:fixed;
  left:12px;
  top:12px;
  z-index:var(--spv-z-debug);
  display:block;
  padding:7px 11px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font:700 11px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 10px 28px rgba(2,6,23,.22);
  pointer-events:none;
}
html.spviet-preview-phone{--spv-preview-accent:#0f766e;}
html.spviet-preview-tablet{--spv-preview-accent:#7c3aed;}
html.spviet-preview-desktop{--spv-preview-accent:#b45309;}
html.spviet-preview-forced .spviet-device-debug-badge{
  border:2px solid var(--spv-preview-accent,#111827);
}
html.spviet-preview-forced .spviet-device-debug-badge small[data-spviet-rwd-preview]{
  display:block;
  color:#fbbf24;
  font-weight:800;
}

/* =========================================================
 * SPVIET V9.9.60 - Responsive Production Closeout / Device UX Final Polish Pro
 * Final UX polish after guard/diagnostics. Additive and scoped by device classes.
 * ========================================================= */
:root{
  --spv-v9960-touch-target: 46px;
  --spv-v9960-phone-edge: max(14px, env(safe-area-inset-left, 0px));
  --spv-v9960-bottom-gap: calc(var(--spv-mobile-footer-h, 72px) + env(safe-area-inset-bottom, 0px) + 10px);
}

html.spviet-device-phone body.spviet-rwd-foundation{
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}
html.spviet-device-phone .spviet-theme-header,
html.spviet-device-phone .spviet-header-inner{
  min-height:clamp(60px,15vw,72px)!important;
}
html.spviet-device-phone .spviet-header-inner{
  padding-left:var(--spv-v9960-phone-edge)!important;
  padding-right:var(--spv-v9960-phone-edge)!important;
  gap:8px!important;
}
html.spviet-device-phone .spviet-logo-text,
html.spviet-device-phone .spviet-site-title{
  max-width:calc(100vw - 174px)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html.spviet-device-phone .spviet-menu-toggle,
html.spviet-device-phone .spviet-mobile-footer-nav a,
html.spviet-device-phone .spviet-mobile-filter-trigger,
html.spviet-device-phone button,
html.spviet-device-phone .button{
  min-height:var(--spv-v9960-touch-target)!important;
}
html.spviet-device-phone .spviet-mobile-footer-nav{
  padding-bottom:max(8px, env(safe-area-inset-bottom, 0px))!important;
  box-shadow:0 -14px 34px rgba(15,23,42,.14)!important;
}
html.spviet-device-phone .spviet-theme-footer,
html.spviet-device-phone footer,
html.spviet-device-phone .spviet-page-shell,
html.spviet-device-phone .spviet-wc-menu-pro,
html.spviet-device-phone .spviet-wc-menu-shell{
  margin-bottom:var(--spv-v9960-bottom-gap)!important;
}
html.spviet-device-phone .spviet-mobile-filter-trigger{
  position:sticky!important;
  top:calc(var(--spv-header-h-phone, 68px) + 8px)!important;
  z-index:calc(var(--spv-z-sticky, 900) + 4)!important;
  border-radius:999px!important;
  box-shadow:0 10px 24px rgba(139,7,20,.16)!important;
}
html.spviet-device-phone .spviet-filter-sheet.is-open,
html.spviet-device-phone .spviet-mobile-filter-sheet.is-open,
html.spviet-device-phone .spviet-wc-filter-panel.is-open{
  max-height:min(76vh,680px)!important;
  padding-bottom:max(20px, env(safe-area-inset-bottom, 0px))!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
html.spviet-device-phone .spviet-language-switcher,
html.spviet-device-phone .spviet-floating-lang,
html.spviet-device-phone .spviet-chatbox,
html.spviet-device-phone .spviet-chat-widget,
html.spviet-device-phone .spviet-device-debug-badge{
  bottom:calc(var(--spv-v9960-bottom-gap) + 8px)!important;
}
html.spviet-device-phone .spviet-full-slider-track{
  min-height:clamp(210px,58vw,330px)!important;
}
html.spviet-device-phone .spviet-wc-grid,
html.spviet-device-phone .woocommerce ul.products,
html.spviet-device-phone .woocommerce-page ul.products{
  gap:14px!important;
}
html.spviet-device-phone .spviet-wc-menu-card,
html.spviet-device-phone .woocommerce ul.products li.product,
html.spviet-device-phone .woocommerce-page ul.products li.product{
  border-radius:18px!important;
  overflow:hidden!important;
}

html.spviet-device-tablet .spviet-theme-header{
  box-shadow:0 10px 26px rgba(64,15,18,.08)!important;
}
html.spviet-device-tablet .spviet-header-inner{
  min-height:clamp(70px,8vw,86px)!important;
}
html.spviet-device-tablet .spviet-mobile-footer-nav{
  display:none!important;
}
html.spviet-device-tablet .spviet-theme-footer,
html.spviet-device-tablet footer,
html.spviet-device-tablet .spviet-page-shell,
html.spviet-device-tablet .spviet-wc-menu-pro,
html.spviet-device-tablet .spviet-wc-menu-shell{
  margin-bottom:0!important;
}
html.spviet-device-tablet.spviet-orientation-landscape .spviet-wc-filter-panel{
  align-self:start!important;
  position:sticky!important;
  top:calc(var(--spv-header-h-tablet, 78px) + 14px)!important;
  max-height:calc(100vh - var(--spv-header-h-tablet, 78px) - 32px)!important;
  overflow:auto!important;
}
html.spviet-device-tablet.spviet-orientation-landscape .spviet-wc-layout{
  grid-template-columns:minmax(230px,270px) minmax(0,1fr)!important;
}
html.spviet-device-tablet.spviet-orientation-landscape .spviet-wc-card-media{
  height:clamp(150px,18vw,210px)!important;
}
html.spviet-device-tablet.spviet-orientation-portrait .spviet-wc-filter-panel{
  border-radius:22px!important;
  padding:16px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(15,23,42,.07)!important;
}
html.spviet-device-tablet .spviet-language-switcher,
html.spviet-device-tablet .spviet-floating-lang,
html.spviet-device-tablet .spviet-chatbox,
html.spviet-device-tablet .spviet-chat-widget{
  bottom:24px!important;
}

html.spviet-device-desktop .spviet-page-shell,
html.spviet-device-desktop .spviet-content-card,
html.spviet-device-desktop .spviet-wc-menu-shell{
  scroll-margin-top:calc(var(--spv-header-h-desktop, 86px) + 22px)!important;
}
html.spviet-device-desktop .spviet-wc-card-media,
html.spviet-device-desktop .woocommerce ul.products li.product a img,
html.spviet-device-desktop .woocommerce-page ul.products li.product a img{
  background:#fff7ed!important;
}
html.spviet-device-desktop .spviet-wc-filter-panel::-webkit-scrollbar{width:8px;height:8px}
html.spviet-device-desktop .spviet-wc-filter-panel::-webkit-scrollbar-thumb{background:rgba(139,7,20,.24);border-radius:999px}
html.spviet-device-desktop .spviet-wc-filter-panel::-webkit-scrollbar-track{background:rgba(139,7,20,.06);border-radius:999px}
html.spviet-device-desktop .spviet-chatbox,
html.spviet-device-desktop .spviet-chat-widget,
html.spviet-device-desktop .spviet-floating-lang,
html.spviet-device-desktop .spviet-language-switcher{
  z-index:calc(var(--spv-z-floating, 1100) + 2)!important;
}

@media (prefers-reduced-motion: reduce){
  html.spviet-rwd-ready *,
  html.spviet-rwd-ready *::before,
  html.spviet-rwd-ready *::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}


/* =========================================================
   SPVIET V9.9.68 - Mobile Single Footer + Header Menu Position Hotfix
   - Fixes real iPhone evidence: two blue footer bars stacked on mobile.
   - Keeps one unified .spviet-mobile-footer-nav dock only.
   - Moves the top-right MENU button down and reduces its touch box so it no longer clips/overlaps Safari top area.
   ========================================================= */
@media (max-width: 767px){
  html.spviet-device-phone body .spviet-theme-footer,
  html.spviet-device-phone body footer.spviet-theme-footer,
  body.spviet-device-phone .spviet-theme-footer{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  html.spviet-device-phone .spviet-mobile-footer-nav,
  html.spviet-device-phone .spviet-mobile-footer-nav-v9952{
    display:grid!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:2147482600!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    min-height:calc(74px + env(safe-area-inset-bottom,0px))!important;
    padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px))!important;
    transform:none!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav:not(.spviet-mobile-footer-nav-v9952){
    display:none!important;
  }
  html.spviet-device-phone body{
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }
  html.spviet-device-phone .spviet-site-main{
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }

  html.spviet-device-phone .spviet-header-inner{
    min-height:82px!important;
    padding-top:10px!important;
    padding-bottom:8px!important;
    align-items:center!important;
    overflow:visible!important;
  }
  html.spviet-device-phone .spviet-header-actions{
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
  }
  html.spviet-device-phone .spviet-menu-toggle,
  html.spviet-device-phone button.spviet-menu-toggle{
    width:62px!important;
    height:62px!important;
    min-height:62px!important;
    margin-top:8px!important;
    transform:translateY(6px)!important;
    border-radius:0 0 0 18px!important;
    flex:0 0 62px!important;
    clip-path:none!important;
    overflow:hidden!important;
  }
  html.spviet-device-phone .spviet-menu-toggle .spviet-menu-toggle-lines,
  html.spviet-device-phone .spviet-menu-toggle-lines{
    width:24px!important;
    height:18px!important;
    gap:4px!important;
  }
  html.spviet-device-phone .spviet-menu-toggle .spviet-menu-toggle-lines i,
  html.spviet-device-phone .spviet-menu-toggle-lines i{
    width:24px!important;
    height:3px!important;
  }
  html.spviet-device-phone .spviet-menu-toggle-label,
  html.spviet-device-phone .spviet-menu-toggle small{
    font-size:8px!important;
    line-height:1!important;
    margin-top:4px!important;
  }
}

/* =========================================================
   SPVIET V9.9.69 - Mobile UX Performance + Elegant Effects Pro
   - Lightweight mobile visual polish: no heavy JS, no layout thrashing.
   - Keeps one footer dock and improves iPhone Safari touch comfort.
   ========================================================= */
@media (max-width: 767px){
  html.spviet-device-phone{
    --spv-mobile-dock-h:86px;
    --spv-mobile-glass:rgba(6,58,128,.92);
    --spv-mobile-glass-2:rgba(8,76,158,.96);
    --spv-mobile-gold:#e3aa38;
  }
  html.spviet-device-phone .spviet-site-header,
  html.spviet-device-phone header.spviet-site-header{
    backdrop-filter:saturate(1.2) blur(10px);
    -webkit-backdrop-filter:saturate(1.2) blur(10px);
  }
  html.spviet-device-phone .spviet-menu-toggle,
  html.spviet-device-phone button.spviet-menu-toggle{
    margin-top:14px!important;
    transform:translateY(10px)!important;
    box-shadow:0 12px 30px rgba(143,0,20,.25)!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav,
  html.spviet-device-phone .spviet-mobile-footer-nav-v9952{
    min-height:calc(var(--spv-mobile-dock-h) + env(safe-area-inset-bottom,0px))!important;
    padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px))!important;
    background:linear-gradient(135deg,var(--spv-mobile-glass),var(--spv-mobile-glass-2))!important;
    border-top:2px solid rgba(227,170,56,.72)!important;
    box-shadow:0 -18px 38px rgba(6,30,74,.28)!important;
    backdrop-filter:saturate(1.25) blur(14px)!important;
    -webkit-backdrop-filter:saturate(1.25) blur(14px)!important;
    contain:layout paint style!important;
    will-change:transform!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav a{
    min-height:64px!important;
    border-radius:18px!important;
    color:#fff!important;
    text-decoration:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    transform:translateZ(0)!important;
    transition:transform .16s ease, background-color .16s ease, box-shadow .16s ease!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav a.is-active,
  html.spviet-device-phone .spviet-mobile-footer-nav a[aria-current="page"]{
    background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 22px rgba(0,0,0,.15)!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav a:active{
    transform:scale(.96) translateZ(0)!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav .icon{
    font-size:22px!important;
    line-height:1!important;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.22));
  }
  html.spviet-device-phone .spviet-mobile-footer-nav .label{
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:800!important;
    letter-spacing:.01em!important;
  }
  html.spviet-device-phone body,
  html.spviet-device-phone .spviet-site-main{
    padding-bottom:calc(var(--spv-mobile-dock-h) + 18px + env(safe-area-inset-bottom,0px))!important;
  }
  html.spviet-device-phone .spviet-home-hero,
  html.spviet-device-phone .spviet-slider,
  html.spviet-device-phone .spviet-quick-links,
  html.spviet-device-phone .woocommerce ul.products li.product,
  html.spviet-device-phone .spviet-wc-product-card,
  html.spviet-device-phone .spviet-menu-card{
    content-visibility:auto;
    contain-intrinsic-size:1px 420px;
  }
  html.spviet-device-phone .woocommerce ul.products li.product,
  html.spviet-device-phone .spviet-wc-product-card,
  html.spviet-device-phone .spviet-menu-card{
    transform:translateZ(0);
    transition:transform .16s ease, box-shadow .16s ease!important;
  }
  html.spviet-device-phone .woocommerce ul.products li.product:active,
  html.spviet-device-phone .spviet-wc-product-card:active,
  html.spviet-device-phone .spviet-menu-card:active{
    transform:scale(.985) translateZ(0)!important;
  }
  html.spviet-device-phone img{
    image-rendering:auto;
  }
}
@media (prefers-reduced-motion: reduce){
  html.spviet-device-phone .spviet-mobile-footer-nav a,
  html.spviet-device-phone .woocommerce ul.products li.product,
  html.spviet-device-phone .spviet-wc-product-card,
  html.spviet-device-phone .spviet-menu-card{
    transition:none!important;
  }
}

/* SPVIET V9.9.70 - Mobile Home Builder / configurable footer + menu category tray */
@media (max-width: 767px){
  html.spviet-device-phone body{
    padding-bottom: calc(82px + env(safe-area-inset-bottom,0px)) !important;
  }
  html.spviet-device-phone .spviet-menu-toggle,
  html.spviet-device-phone button.spviet-menu-toggle,
  html.spviet-device-phone .spviet-mobile-menu-toggle{
    width: var(--spv-v9970-menu-size,58px) !important;
    height: var(--spv-v9970-menu-size,58px) !important;
    min-width: var(--spv-v9970-menu-size,58px) !important;
    min-height: var(--spv-v9970-menu-size,58px) !important;
    top: var(--spv-v9970-menu-top,18px) !important;
    right: var(--spv-v9970-menu-right,18px) !important;
    transform: none !important;
    border-radius: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px !important;
    box-shadow: 0 12px 28px rgba(145,0,20,.22) !important;
    z-index: 10020 !important;
  }
  html.spviet-device-phone .spviet-menu-toggle span,
  html.spviet-device-phone .spviet-mobile-menu-toggle span{font-size:11px!important;line-height:1.05!important;letter-spacing:.08em!important;}
  html.spviet-device-phone .spviet-full-slider,
  html.spviet-device-phone .spviet-slider,
  html.spviet-device-phone .spviet-home-slider{
    max-height: var(--spv-v9970-slider-h,360px) !important;
    overflow: hidden !important;
  }
  html.spviet-device-phone .spviet-full-slide img,
  html.spviet-device-phone .spviet-slider img,
  html.spviet-device-phone .spviet-home-slider img{
    height: var(--spv-v9970-slider-h,360px) !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  html.spviet-device-phone .spviet-full-slide-caption{
    left: 12px!important; right:12px!important; bottom:14px!important;
    max-width: calc(100% - 24px)!important;
    padding: 14px 16px!important;
    border-radius: 18px!important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  html.spviet-device-phone .spviet-full-slide-caption strong{font-size: clamp(20px,6vw,30px)!important;line-height:1.08!important;}
  html.spviet-device-phone .spviet-full-slide-caption em{font-size: clamp(13px,3.8vw,17px)!important;line-height:1.35!important;}

  html.spviet-device-phone .spviet-mobile-footer-nav-v9970{
    display:grid!important;
    grid-template-columns: repeat(var(--spv-mobile-nav-count,4), minmax(0,1fr)) !important;
    left: 0!important; right:0!important; bottom:0!important;
    min-height: calc(74px + env(safe-area-inset-bottom,0px)) !important;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom,0px)) !important;
    gap: 6px !important;
    border-top: 2px solid rgba(240,212,120,.95)!important;
    background: linear-gradient(180deg, rgba(12,67,147,.96), rgba(7,45,112,.98))!important;
    box-shadow: 0 -12px 32px rgba(0,0,0,.24)!important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    z-index: 10050!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 a{
    min-width:0!important;
    min-height:62px!important;
    height:auto!important;
    border:0!important;
    border-radius: 18px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    color:#fff!important;
    background: rgba(255,255,255,.04)!important;
    text-decoration:none!important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08)!important;
    transition: transform .14s ease, background .14s ease, box-shadow .14s ease!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 a:active,
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 a.is-active,
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 a[aria-expanded="true"]{
    transform: translateY(-2px) scale(.985)!important;
    background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.08))!important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 8px 22px rgba(0,0,0,.16)!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 .icon{font-size:22px!important;line-height:1!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));}
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 .label{font-size: clamp(10px,2.85vw,13px)!important;font-weight:900!important;line-height:1.12!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}

  html.spviet-device-phone .spviet-mobile-menu-tray-v9970{
    position:fixed!important;
    left:10px!important; right:10px!important;
    bottom: calc(84px + env(safe-area-inset-bottom,0px))!important;
    z-index:10045!important;
    transform: translateY(14px) scale(.98)!important;
    opacity:0!important;
    pointer-events:none!important;
    border-radius:24px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    background: linear-gradient(180deg, rgba(255,252,245,.98), rgba(255,244,222,.96))!important;
    box-shadow: 0 18px 46px rgba(40,15,10,.28)!important;
    overflow:hidden!important;
    transition: opacity .18s ease, transform .18s ease!important;
  }
  html.spviet-device-phone .spviet-mobile-menu-tray-v9970.is-open{
    opacity:1!important;
    pointer-events:auto!important;
    transform: translateY(0) scale(1)!important;
  }
  html.spviet-device-phone .spviet-mobile-menu-tray-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    padding:12px 14px!important;
    background: linear-gradient(90deg,#9b0018,#c20b28)!important;
    color:#fff!important;
  }
  html.spviet-device-phone .spviet-mobile-menu-tray-head strong{font-size:16px!important;font-weight:900!important;}
  html.spviet-device-phone .spviet-mobile-menu-tray-head button{
    width:34px!important;height:34px!important;border-radius:50%!important;border:0!important;background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:22px!important;line-height:1!important;
  }
  html.spviet-device-phone .spviet-mobile-menu-tray-scroll{
    display:flex!important;gap:8px!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;padding:12px!important;scrollbar-width:none!important;
  }
  html.spviet-device-phone .spviet-mobile-menu-tray-scroll::-webkit-scrollbar{display:none!important;}
  html.spviet-device-phone .spviet-mobile-menu-tray-scroll a{
    flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;gap:7px!important;
    min-height:44px!important;max-width:190px!important;padding:10px 13px!important;border-radius:999px!important;
    background:#fff!important;color:#970013!important;text-decoration:none!important;font-size:13px!important;font-weight:900!important;
    box-shadow:0 8px 20px rgba(150,0,20,.12), inset 0 0 0 1px rgba(150,0,20,.12)!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  html.spviet-device-phone .spviet-mobile-menu-tray-scroll a span{font-size:16px!important;}

  html.spviet-device-phone .gt_float_switcher,
  html.spviet-device-phone .gtranslate_wrapper,
  html.spviet-device-phone .goog-te-gadget,
  html.spviet-device-phone .trp-language-switcher,
  html.spviet-device-phone .wpml-ls,
  html.spviet-device-phone .spviet-language-switcher{
    bottom: calc(92px + env(safe-area-inset-bottom,0px))!important;
    right: 12px!important;
    z-index: 10035!important;
    max-width: calc(100vw - 120px)!important;
  }
  html.spviet-device-phone .spviet-chat-widget,
  html.spviet-device-phone .spviet-floating-chat,
  html.spviet-device-phone .fb_dialog,
  html.spviet-device-phone .fb-customerchat,
  html.spviet-device-phone .crisp-client,
  html.spviet-device-phone .zalo-chat-widget{
    bottom: calc(100px + env(safe-area-inset-bottom,0px))!important;
    left: 14px!important;
    z-index: 10030!important;
  }
}

/* SPVIET V9.9.71 - Mobile Header / Slider Text Safe Crop Pro */
@media (max-width: 767px){
  html.spviet-device-phone .spviet-header,
  html.spviet-device-phone header.site-header,
  html.spviet-device-phone .site-header{
    min-height: var(--spv-v9971-header-h,86px) !important;
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
  }
  html.spviet-device-phone .spviet-header-inner,
  html.spviet-device-phone .site-header .container,
  html.spviet-device-phone .site-header .wrap{
    min-height: var(--spv-v9971-header-h,86px) !important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding-top: 8px!important;
    padding-bottom: 8px!important;
  }
  html.spviet-device-phone .custom-logo,
  html.spviet-device-phone .spviet-logo img,
  html.spviet-device-phone .site-logo img{
    width: var(--spv-v9971-logo-size,54px)!important;
    height: var(--spv-v9971-logo-size,54px)!important;
    max-width: var(--spv-v9971-logo-size,54px)!important;
    max-height: var(--spv-v9971-logo-size,54px)!important;
    object-fit: contain!important;
  }
  html.spviet-device-phone .site-title,
  html.spviet-device-phone .spviet-brand-title,
  html.spviet-device-phone .spviet-logo-text,
  html.spviet-device-phone .spviet-brand-name{
    max-width: calc(100vw - var(--spv-v9970-menu-size,58px) - var(--spv-v9971-logo-size,54px) - 52px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    line-height:1.08!important;
  }
  html.spviet-device-phone .spviet-menu-toggle,
  html.spviet-device-phone button.spviet-menu-toggle,
  html.spviet-device-phone .spviet-mobile-menu-toggle{
    top: var(--spv-v9970-menu-top,18px)!important;
    right: var(--spv-v9970-menu-right,18px)!important;
    max-width: var(--spv-v9970-menu-size,58px)!important;
    max-height: var(--spv-v9970-menu-size,58px)!important;
  }

  html.spviet-device-phone .spviet-full-slider-section,
  html.spviet-device-phone .spviet-home-slider-section,
  html.spviet-device-phone .spviet-slider-section{
    margin-top: clamp(8px,2.5vw,14px)!important;
    overflow:hidden!important;
  }
  html.spviet-device-phone .spviet-full-slider,
  html.spviet-device-phone .spviet-slider,
  html.spviet-device-phone .spviet-home-slider{
    height: var(--spv-v9970-slider-h,340px)!important;
    max-height: var(--spv-v9970-slider-h,340px)!important;
    border-radius: clamp(16px,4vw,24px)!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  html.spviet-device-phone .spviet-full-slider-track,
  html.spviet-device-phone .spviet-slider-track{
    height: var(--spv-v9970-slider-h,340px)!important;
    min-height: var(--spv-v9970-slider-h,340px)!important;
  }
  html.spviet-device-phone .spviet-full-slide,
  html.spviet-device-phone .spviet-slide{
    height: var(--spv-v9970-slider-h,340px)!important;
    min-height: var(--spv-v9970-slider-h,340px)!important;
    overflow:hidden!important;
  }
  html.spviet-device-phone .spviet-full-slide img,
  html.spviet-device-phone .spviet-slider img,
  html.spviet-device-phone .spviet-home-slider img,
  html.spviet-device-phone .spviet-slide img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position: var(--spv-v9971-slider-crop,center center)!important;
    transform: translateZ(0)!important;
  }
  html.spviet-device-phone .spviet-full-slide-caption,
  html.spviet-device-phone .spviet-slide-caption,
  html.spviet-device-phone .spviet-slider-caption{
    left: clamp(12px,4vw,18px)!important;
    right: clamp(12px,4vw,18px)!important;
    bottom: clamp(14px,4.2vw,22px)!important;
    max-width: calc(100% - 24px)!important;
    max-height: 38%!important;
    padding: clamp(12px,3.6vw,16px)!important;
    border-radius: clamp(16px,4.2vw,22px)!important;
    overflow:hidden!important;
    background: linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,250,240,.70))!important;
    border:1px solid rgba(255,255,255,.50)!important;
    box-shadow:0 14px 35px rgba(40,12,10,.18)!important;
    backdrop-filter: blur(12px)!important;
    -webkit-backdrop-filter: blur(12px)!important;
  }
  html.spviet-device-phone .spviet-full-slide-caption strong,
  html.spviet-device-phone .spviet-slide-caption strong,
  html.spviet-device-phone .spviet-slider-caption strong,
  html.spviet-device-phone .spviet-full-slide-caption h1,
  html.spviet-device-phone .spviet-full-slide-caption h2{
    display:block!important;
    font-size: calc(clamp(22px,7.2vw,34px) * var(--spv-v9971-slider-text-scale,.92))!important;
    line-height:1.02!important;
    max-height:2.08em!important;
    overflow:hidden!important;
    text-wrap:balance!important;
  }
  html.spviet-device-phone .spviet-full-slide-caption em,
  html.spviet-device-phone .spviet-slide-caption em,
  html.spviet-device-phone .spviet-slider-caption em,
  html.spviet-device-phone .spviet-full-slide-caption p{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size: calc(clamp(13px,4vw,17px) * var(--spv-v9971-slider-text-scale,.92))!important;
    line-height:1.28!important;
    margin-top:6px!important;
  }
  html.spviet-device-phone .spviet-full-slide-caption.spviet-caption-overflow-v9971,
  html.spviet-device-phone .spviet-slide-caption.spviet-caption-overflow-v9971,
  html.spviet-device-phone .spviet-slider-caption.spviet-caption-overflow-v9971{
    transform: scale(.92)!important;
    transform-origin: center bottom!important;
  }
  html.spviet-device-phone .spviet-full-slider[data-spviet-caption-mode="compact"] .spviet-full-slide-caption,
  html.spviet-device-phone .spviet-slider[data-spviet-caption-mode="compact"] .spviet-slide-caption{
    max-height:32%!important;
    padding:11px 13px!important;
  }
}

/* SPVIET V9.9.72 - Mobile Floating Widgets Safe Dock / Language-Chat Collision Guard Pro */
@media (max-width: 767px){
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972{
    position:fixed!important;
    left: max(12px, env(safe-area-inset-left,0px))!important;
    right: max(12px, env(safe-area-inset-right,0px))!important;
    bottom: calc(92px + env(safe-area-inset-bottom,0px))!important;
    z-index:10042!important;
    display:none!important;
    pointer-events:none!important;
  }
  html.spviet-device-phone .spviet-floating-dock-track-v9972{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    max-width:100%!important;
  }
  html.spviet-device-phone .spviet-floating-slot-v9972{
    pointer-events:auto!important;
    max-width:min(48vw, 190px)!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    border-radius:999px!important;
    padding:5px 8px!important;
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,246,229,.90))!important;
    border:1px solid rgba(255,255,255,.70)!important;
    box-shadow:0 10px 26px rgba(0,25,70,.18), inset 0 0 0 1px rgba(160,120,40,.10)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    overflow:hidden!important;
  }
  html.spviet-device-phone .spviet-floating-slot-label-v9972{
    flex:0 0 auto!important;
    font-size:10px!important;
    font-weight:900!important;
    color:#8f0016!important;
    letter-spacing:.01em!important;
    max-width:56px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  html.spviet-device-phone .spviet-floating-slot-body-v9972{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .gt_float_switcher,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .gtranslate_wrapper,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .goog-te-gadget,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .trp-language-switcher,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .wpml-ls,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .spviet-language-switcher,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .spviet-chat-widget,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .spviet-floating-chat,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .fb_dialog,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .fb-customerchat,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .crisp-client,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 .zalo-chat-widget{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    margin:0!important;
    max-width:100%!important;
    z-index:auto!important;
  }
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 select,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 button,
  html.spviet-device-phone .spviet-mobile-floating-safe-dock-v9972 a{
    max-width:100%!important;
    min-height:34px!important;
  }
  html.spviet-device-phone .spviet-floating-hidden-v9972{display:none!important;visibility:hidden!important;pointer-events:none!important;}
  html.spviet-device-phone .spviet-floating-safe-language-v9972{
    position:fixed!important;
    right:12px!important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
    z-index:10035!important;
    max-width:min(56vw,220px)!important;
  }
  html.spviet-device-phone .spviet-floating-safe-chat-v9972{
    position:fixed!important;
    left:14px!important;
    bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
    z-index:10034!important;
    max-width:min(44vw,170px)!important;
  }
  html.spviet-device-phone.spviet-menu-tray-open-v9970 .spviet-mobile-floating-safe-dock-v9972,
  html.spviet-device-phone.spviet-menu-tray-open-v9970 .spviet-floating-safe-language-v9972,
  html.spviet-device-phone.spviet-menu-tray-open-v9970 .spviet-floating-safe-chat-v9972{
    transform:translateY(-74px)!important;
    transition:transform .18s ease!important;
  }
  html.spviet-device-phone .spviet-mobile-menu-tray-v9970{
    bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* SPVIET V9.9.73 - Mobile block visibility + product 2-column UX */
@media (max-width: 767px){
  html.spviet-device-phone .spviet-wc-menu-pro,
  html.spviet-device-phone .spviet-home-shopping-center{content-visibility:auto;contain-intrinsic-size: 900px;}
  html.spviet-device-phone .spviet-wc-menu-shell{padding-left:10px!important;padding-right:10px!important;}
  html.spviet-device-phone .spviet-wc-layout{display:block!important;}
  html.spviet-device-phone .spviet-wc-filter-panel{display:none!important;}
  html.spviet-device-phone .spviet-wc-cat-heading h2{font-size:26px!important;line-height:1.15!important;margin:18px 0 12px!important;}
  html.spviet-device-phone .spviet-wc-menu-head p{display:none!important;}
  html.spviet-device-phone .spviet-wc-menu-head h1{font-size:28px!important;line-height:1.1!important;}
  html.spviet-device-phone .spviet-wc-menu-head{margin-bottom:12px!important;}
  html.spviet-device-phone .spviet-wc-grid,
  html.spviet-device-phone .spviet-home-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;}
  html.spviet-device-phone .spviet-wc-menu-card,
  html.spviet-device-phone .spviet-home-product-card{border-radius:18px!important;overflow:hidden!important;box-shadow:0 14px 28px rgba(102,49,16,.10)!important;background:#fff!important;min-width:0!important;}
  html.spviet-device-phone .spviet-wc-card-body,
  html.spviet-device-phone .spviet-home-product-body{padding:10px!important;display:flex!important;flex-direction:column!important;min-height:138px!important;}
  html.spviet-device-phone .spviet-wc-card-bottom{margin-top:auto!important;display:block!important;}
  html.spviet-device-phone .spviet-wc-card-actions,
  html.spviet-device-phone .spviet-home-product-actions{margin-top:8px!important;}
  html.spviet-device-phone .spviet-wc-order-btn,
  html.spviet-device-phone .spviet-home-product-order{background:linear-gradient(135deg,#0cab4f,#078a3f)!important;color:#fff!important;font-weight:900!important;box-shadow:0 10px 20px rgba(6,138,63,.22)!important;}
  html.spviet-device-phone .spviet-wc-card-media:active,
  html.spviet-device-phone .spviet-home-product-media:active{transform:scale(.985);filter:brightness(.96);}
  html.spviet-device-phone .spviet-mobile-product-back-wrap{display:block!important;position:sticky;top:8px;z-index:30;padding:8px 14px 0;}
  html.spviet-device-phone .spviet-mobile-product-back{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.94);color:#9b001c;font-weight:900;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.12);border:1px solid rgba(155,0,28,.12);backdrop-filter:blur(12px);}
}
@media (min-width: 768px){.spviet-mobile-product-back-wrap{display:none!important;}}

/* =========================================================
 * SPVIET V9.9.75 - Mobile Cart Panel / Mini Cart Quick Edit Pro
 * - Large numeric quantity badge on product image after Add to Cart.
 * - Conditional floating cart chip at top-right only when cart has items.
 * - Mobile single product sticky order CTA, safe above mobile footer.
 * ========================================================= */
html.spviet-device-phone .spviet-cart-qty-media-host,
html.spviet-pre-phone .spviet-cart-qty-media-host{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
}
html.spviet-device-phone .spviet-mobile-product-qty-badge,
html.spviet-pre-phone .spviet-mobile-product-qty-badge{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) scale(.94)!important;
  z-index:8!important;
  min-width:72px!important;
  height:72px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.88)!important;
  border:5px solid rgba(255,255,255,.72)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.18), inset 0 0 0 1px rgba(160,0,24,.12)!important;
  color:#f21b22!important;
  font-size:clamp(44px,15vw,86px)!important;
  line-height:1!important;
  font-weight:1000!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  letter-spacing:-.06em!important;
  text-shadow:0 2px 0 rgba(255,255,255,.75)!important;
  pointer-events:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .18s ease, transform .18s ease!important;
}
html.spviet-device-phone .spviet-has-cart-qty .spviet-mobile-product-qty-badge,
html.spviet-pre-phone .spviet-has-cart-qty .spviet-mobile-product-qty-badge{
  opacity:1!important;
  visibility:visible!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
html.spviet-device-phone .spviet-wc-menu-card.spviet-has-cart-qty .spviet-wc-card-media img,
html.spviet-device-phone .spviet-home-product-card.spviet-has-cart-qty .spviet-home-product-media img,
html.spviet-device-phone .woocommerce ul.products li.product.spviet-has-cart-qty img{
  filter:saturate(1.04) brightness(.96)!important;
}
html.spviet-device-phone .spviet-mobile-floating-cart-chip,
html.spviet-pre-phone .spviet-mobile-floating-cart-chip{
  position:fixed!important;
  right:calc(14px + env(safe-area-inset-right,0px))!important;
  top:calc(92px + env(safe-area-inset-top,0px))!important;
  z-index:2147482201!important;
  min-height:46px!important;
  max-width:calc(100vw - 28px)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:9px 12px 9px 13px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#a00018 0%,#d61723 52%,#ff8a00 100%)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:1000!important;
  box-shadow:0 14px 34px rgba(120,0,20,.26), 0 0 0 1px rgba(255,255,255,.42) inset!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
}
html.spviet-device-phone .spviet-mobile-floating-cart-chip[hidden],
html.spviet-pre-phone .spviet-mobile-floating-cart-chip[hidden]{display:none!important}
html.spviet-device-phone .spviet-mobile-floating-cart-chip .spviet-mobile-cart-icon{font-size:20px!important;line-height:1!important}
html.spviet-device-phone .spviet-mobile-floating-cart-chip .spviet-mobile-cart-label{font-size:13px!important;line-height:1!important;white-space:nowrap!important}
html.spviet-device-phone .spviet-mobile-floating-cart-chip b,
html.spviet-pre-phone .spviet-mobile-floating-cart-chip b{
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  color:#a00018!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:1000!important;
}
html.spviet-device-phone .single-product div.product,
html.spviet-pre-phone .single-product div.product{
  padding-bottom:calc(var(--spv-v9960-bottom-gap,96px) + 28px)!important;
}
html.spviet-device-phone .single-product div.product .summary,
html.spviet-pre-phone .single-product div.product .summary{
  padding:14px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#fffaf4,#fff)!important;
  box-shadow:0 12px 34px rgba(90,20,20,.08)!important;
}
html.spviet-device-phone .single-product div.product .product_title,
html.spviet-pre-phone .single-product div.product .product_title{
  font-size:clamp(24px,7vw,34px)!important;
  line-height:1.15!important;
  margin:12px 0 10px!important;
  color:#970013!important;
  font-weight:1000!important;
}
html.spviet-device-phone .single-product div.product p.price,
html.spviet-device-phone .single-product div.product span.price,
html.spviet-pre-phone .single-product div.product p.price,
html.spviet-pre-phone .single-product div.product span.price{
  font-size:clamp(25px,8vw,38px)!important;
  font-weight:1000!important;
  color:#c5162b!important;
}
html.spviet-device-phone .single-product div.product form.cart,
html.spviet-pre-phone .single-product div.product form.cart{
  position:sticky!important;
  bottom:calc(var(--spv-v9960-bottom-gap,96px) + 8px + env(safe-area-inset-bottom,0px))!important;
  z-index:2147481200!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:16px 0 8px!important;
  padding:10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(160,0,24,.14)!important;
  box-shadow:0 18px 42px rgba(55,10,10,.18)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  backdrop-filter:blur(14px)!important;
}
html.spviet-device-phone .single-product div.product form.cart .quantity,
html.spviet-pre-phone .single-product div.product form.cart .quantity{margin:0!important;flex:0 0 auto!important}
html.spviet-device-phone .single-product div.product form.cart .qty,
html.spviet-pre-phone .single-product div.product form.cart .qty{
  width:64px!important;
  height:48px!important;
  border-radius:999px!important;
  text-align:center!important;
  font-weight:1000!important;
  font-size:18px!important;
}
html.spviet-device-phone .single-product div.product form.cart .single_add_to_cart_button,
html.spviet-pre-phone .single-product div.product form.cart .single_add_to_cart_button{
  flex:1 1 auto!important;
  min-height:52px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#10a34a,#008638)!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:1000!important;
  box-shadow:0 12px 26px rgba(0,140,62,.23)!important;
}
html.spviet-device-phone .added_to_cart.wc-forward,
html.spviet-pre-phone .added_to_cart.wc-forward{
  position:fixed!important;
  right:calc(14px + env(safe-area-inset-right,0px))!important;
  top:calc(144px + env(safe-area-inset-top,0px))!important;
  z-index:2147482200!important;
  border-radius:999px!important;
  padding:9px 12px!important;
  background:#fff!important;
  color:#a00018!important;
  font-weight:900!important;
  box-shadow:0 10px 26px rgba(0,0,0,.14)!important;
}
@media(max-width:390px){
  html.spviet-device-phone .spviet-mobile-floating-cart-chip .spviet-mobile-cart-label{display:none!important}
  html.spviet-device-phone .spviet-mobile-floating-cart-chip{top:calc(88px + env(safe-area-inset-top,0px))!important;padding:10px 12px!important}
}
html.spviet-device-phone .woocommerce a.added_to_cart,
html.spviet-pre-phone .woocommerce a.added_to_cart,
html.spviet-device-phone a.added_to_cart.wc-forward,
html.spviet-pre-phone a.added_to_cart.wc-forward{
  display:none!important;
}

/* SPVIET V9.9.75 - Mobile Mini Cart Quick Edit Panel */
html.spviet-device-phone body.spviet-mobile-cart-panel-open,
html.spviet-pre-phone body.spviet-mobile-cart-panel-open{overflow:hidden!important;touch-action:none!important}
html.spviet-device-phone .spviet-mobile-cart-panel-root,
html.spviet-pre-phone .spviet-mobile-cart-panel-root{position:fixed!important;inset:0!important;z-index:2147482300!important;display:block!important}
html.spviet-device-phone .spviet-mobile-cart-panel-root[hidden],
html.spviet-pre-phone .spviet-mobile-cart-panel-root[hidden]{display:none!important}
html.spviet-device-phone .spviet-mobile-cart-panel-backdrop,
html.spviet-pre-phone .spviet-mobile-cart-panel-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.38)!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}
html.spviet-device-phone .spviet-mobile-cart-panel,
html.spviet-pre-phone .spviet-mobile-cart-panel{position:absolute!important;left:0!important;right:0!important;bottom:0!important;max-height:min(82vh,720px)!important;border-radius:28px 28px 0 0!important;background:linear-gradient(180deg,rgba(255,255,255,.98),#fffaf4)!important;box-shadow:0 -18px 60px rgba(0,0,0,.28)!important;border:1px solid rgba(255,255,255,.76)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;animation:spvietCartPanelIn9975 .2s ease-out!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}
@keyframes spvietCartPanelIn9975{from{transform:translateY(18px);opacity:.72}to{transform:translateY(0);opacity:1}}
html.spviet-device-phone .spviet-mobile-cart-panel-head,
html.spviet-pre-phone .spviet-mobile-cart-panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:16px 18px 12px!important;border-bottom:1px solid rgba(160,0,24,.1)!important;background:linear-gradient(135deg,#a00018,#d61822)!important;color:#fff!important}
html.spviet-device-phone .spviet-mobile-cart-panel-head strong,
html.spviet-pre-phone .spviet-mobile-cart-panel-head strong{font-size:22px!important;font-weight:1000!important;line-height:1!important}
html.spviet-device-phone .spviet-mobile-cart-panel-close,
html.spviet-pre-phone .spviet-mobile-cart-panel-close{width:42px!important;height:42px!important;border-radius:999px!important;border:0!important;background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:30px!important;font-weight:800!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
html.spviet-device-phone .spviet-mobile-cart-panel-body,
html.spviet-pre-phone .spviet-mobile-cart-panel-body{overflow:auto!important;-webkit-overflow-scrolling:touch!important;padding:12px 12px 4px!important;min-height:180px!important}
html.spviet-device-phone .spviet-mobile-cart-loading,
html.spviet-device-phone .spviet-mobile-cart-empty,
html.spviet-pre-phone .spviet-mobile-cart-loading,
html.spviet-pre-phone .spviet-mobile-cart-empty{min-height:180px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;text-align:center!important;color:#7a2632!important;font-size:18px!important;font-weight:900!important;gap:10px!important}
html.spviet-device-phone .spviet-mobile-cart-empty-icon{font-size:42px!important;line-height:1!important}
html.spviet-device-phone .spviet-mobile-cart-list,
html.spviet-pre-phone .spviet-mobile-cart-list{display:flex!important;flex-direction:column!important;gap:10px!important}
html.spviet-device-phone .spviet-mobile-cart-row,
html.spviet-pre-phone .spviet-mobile-cart-row{display:grid!important;grid-template-columns:78px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:10px!important;border-radius:20px!important;background:#fff!important;border:1px solid rgba(160,0,24,.12)!important;box-shadow:0 10px 26px rgba(90,20,20,.08)!important;transition:opacity .16s ease,transform .16s ease!important}
html.spviet-device-phone .spviet-mobile-cart-row.spviet-cart-row-loading,
html.spviet-pre-phone .spviet-mobile-cart-row.spviet-cart-row-loading{opacity:.58!important;transform:scale(.99)!important;pointer-events:none!important}
html.spviet-device-phone .spviet-mobile-cart-img,
html.spviet-pre-phone .spviet-mobile-cart-img{width:78px!important;height:78px!important;border-radius:16px!important;overflow:hidden!important;background:#fff7e8!important;display:block!important;border:1px solid rgba(212,160,58,.28)!important}
html.spviet-device-phone .spviet-mobile-cart-img img,
html.spviet-pre-phone .spviet-mobile-cart-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
html.spviet-device-phone .spviet-mobile-cart-info,
html.spviet-pre-phone .spviet-mobile-cart-info{min-width:0!important;display:flex!important;flex-direction:column!important;gap:5px!important}
html.spviet-device-phone .spviet-mobile-cart-name,
html.spviet-pre-phone .spviet-mobile-cart-name{font-size:15px!important;line-height:1.25!important;font-weight:1000!important;color:#8e0014!important;text-decoration:none!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
html.spviet-device-phone .spviet-mobile-cart-unit,
html.spviet-pre-phone .spviet-mobile-cart-unit{font-size:13px!important;font-weight:800!important;color:#d47100!important}
html.spviet-device-phone .spviet-mobile-cart-stepper,
html.spviet-pre-phone .spviet-mobile-cart-stepper{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
html.spviet-device-phone .spviet-mobile-cart-stepper button,
html.spviet-pre-phone .spviet-mobile-cart-stepper button{min-width:34px!important;height:34px!important;border-radius:999px!important;border:0!important;background:linear-gradient(135deg,#f09300,#ff5a00)!important;color:#fff!important;font-size:21px!important;font-weight:1000!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 7px 16px rgba(236,105,0,.24)!important}
html.spviet-device-phone .spviet-mobile-cart-stepper b,
html.spviet-pre-phone .spviet-mobile-cart-stepper b{min-width:28px!important;text-align:center!important;font-size:17px!important;font-weight:1000!important;color:#111!important}
html.spviet-device-phone .spviet-mobile-cart-stepper .spviet-mobile-cart-remove,
html.spviet-pre-phone .spviet-mobile-cart-stepper .spviet-mobile-cart-remove{font-size:12px!important;min-width:auto!important;height:30px!important;padding:0 10px!important;background:#f4f4f4!important;color:#a00018!important;box-shadow:none!important;border:1px solid rgba(160,0,24,.16)!important}
html.spviet-device-phone .spviet-mobile-cart-line,
html.spviet-pre-phone .spviet-mobile-cart-line{font-size:14px!important;font-weight:1000!important;color:#111!important;white-space:nowrap!important;text-align:right!important;align-self:end!important;margin-bottom:5px!important}
html.spviet-device-phone .spviet-mobile-cart-panel-foot,
html.spviet-pre-phone .spviet-mobile-cart-panel-foot{padding:10px 14px 14px!important;border-top:1px solid rgba(160,0,24,.1)!important;background:rgba(255,255,255,.94)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;box-shadow:0 -10px 30px rgba(0,0,0,.06)!important}
html.spviet-device-phone .spviet-mobile-cart-totals,
html.spviet-pre-phone .spviet-mobile-cart-totals{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:15px!important;font-weight:900!important;color:#4e2b2f!important;margin:3px 0!important}
html.spviet-device-phone .spviet-mobile-cart-total,
html.spviet-pre-phone .spviet-mobile-cart-total{font-size:18px!important;color:#a00018!important}
html.spviet-device-phone .spviet-mobile-cart-total b,
html.spviet-pre-phone .spviet-mobile-cart-total b{font-size:22px!important;color:#c5162b!important}
html.spviet-device-phone .spviet-mobile-cart-actions,
html.spviet-pre-phone .spviet-mobile-cart-actions{display:grid!important;grid-template-columns:1fr 1.18fr!important;gap:10px!important;margin-top:10px!important}
html.spviet-device-phone .spviet-mobile-cart-continue,
html.spviet-device-phone .spviet-mobile-cart-checkout,
html.spviet-pre-phone .spviet-mobile-cart-continue,
html.spviet-pre-phone .spviet-mobile-cart-checkout{min-height:52px!important;border-radius:999px!important;border:0!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-weight:1000!important;font-size:15px!important;padding:0 12px!important}
html.spviet-device-phone .spviet-mobile-cart-continue,
html.spviet-pre-phone .spviet-mobile-cart-continue{background:#f6f0e8!important;color:#7b2430!important;border:1px solid rgba(160,0,24,.12)!important}
html.spviet-device-phone .spviet-mobile-cart-checkout,
html.spviet-pre-phone .spviet-mobile-cart-checkout{background:linear-gradient(135deg,#10a34a,#008638)!important;color:#fff!important;box-shadow:0 12px 26px rgba(0,140,62,.24)!important}
@media(max-width:374px){html.spviet-device-phone .spviet-mobile-cart-row{grid-template-columns:68px minmax(0,1fr)!important}html.spviet-device-phone .spviet-mobile-cart-line{grid-column:2!important;text-align:left!important}html.spviet-device-phone .spviet-mobile-cart-img{width:68px!important;height:68px!important}html.spviet-device-phone .spviet-mobile-cart-actions{grid-template-columns:1fr!important}}


/* SPVIET v9.9.76 - Mobile Checkout / Order Flow Safe Bridge Pro */
@media (max-width: 767px){
  .spviet-mobile-cart-flow-note{
    margin:8px 0 10px;
    padding:8px 10px;
    border-radius:12px;
    background:rgba(13,71,161,.08);
    color:#17325f;
    font-size:12px;
    line-height:1.35;
    text-align:center;
  }
  .spviet-mobile-cart-flow-note b{font-weight:900;color:#9b0018;}
  .spviet-mobile-cart-checkout[data-spviet-checkout-target="qr_order"],
  .spviet-mobile-cart-checkout[data-spviet-checkout-target="restaurant_order"]{
    background:linear-gradient(135deg,#0a9f45,#06c167)!important;
  }
  .spviet-mobile-cart-checkout[data-spviet-checkout-target="reservation"]{
    background:linear-gradient(135deg,#b00020,#e13b52)!important;
  }
}

/* SPVIET V9.9.78 - Mobile Menu Drawer UX / Quick Category + Booking Panel Pro */
@media (max-width: 767px){
  html.spviet-device-phone body.spviet-mobile-drawer-open-v9978,
  html.spviet-pre-phone body.spviet-mobile-drawer-open-v9978{overflow:hidden!important;touch-action:none!important;}
  html.spviet-device-phone .spviet-mobile-drawer-root-v9978,
  html.spviet-pre-phone .spviet-mobile-drawer-root-v9978{position:fixed!important;inset:0!important;z-index:2147482450!important;display:block!important;}
  html.spviet-device-phone .spviet-mobile-drawer-root-v9978[hidden],
  html.spviet-pre-phone .spviet-mobile-drawer-root-v9978[hidden]{display:none!important;}
  html.spviet-device-phone .spviet-mobile-drawer-backdrop-v9978,
  html.spviet-pre-phone .spviet-mobile-drawer-backdrop-v9978{position:absolute!important;inset:0!important;background:rgba(3,12,28,.46)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;opacity:0!important;transition:opacity .2s ease!important;}
  html.spviet-device-phone .spviet-mobile-drawer-root-v9978.is-open .spviet-mobile-drawer-backdrop-v9978{opacity:1!important;}
  html.spviet-device-phone .spviet-mobile-drawer-panel-v9978,
  html.spviet-pre-phone .spviet-mobile-drawer-panel-v9978{position:absolute!important;top:0!important;right:0!important;bottom:0!important;width:min(88vw,390px)!important;max-width:390px!important;background:linear-gradient(180deg,#fffdf7 0%,#fff4df 54%,#ffffff 100%)!important;border-radius:28px 0 0 28px!important;box-shadow:-24px 0 70px rgba(0,0,0,.32)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;transform:translateX(104%)!important;transition:transform .24s cubic-bezier(.2,.8,.2,1)!important;padding:0 14px calc(96px + env(safe-area-inset-bottom,0px))!important;}
  html.spviet-device-phone .spviet-mobile-drawer-root-v9978.is-open .spviet-mobile-drawer-panel-v9978{transform:translateX(0)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-hero-v9978{margin:0 -14px 14px!important;padding:calc(18px + env(safe-area-inset-top,0px)) 16px 18px!important;min-height:132px!important;background:radial-gradient(circle at 18% 10%,rgba(255,221,113,.95),transparent 32%),linear-gradient(135deg,#9b0018,#d3182d 52%,#f08d00)!important;color:#fff!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;box-shadow:0 14px 34px rgba(180,0,30,.2)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-hero-v9978 strong{display:block!important;font-size:28px!important;line-height:1.05!important;font-weight:1000!important;letter-spacing:-.03em!important;text-shadow:0 2px 8px rgba(0,0,0,.18)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-kicker-v9978{display:inline-flex!important;margin-bottom:6px!important;padding:5px 9px!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important;}
  html.spviet-device-phone .spviet-mobile-drawer-hero-v9978 em{display:block!important;margin-top:7px!important;font-style:normal!important;font-size:13px!important;line-height:1.35!important;font-weight:800!important;color:rgba(255,255,255,.88)!important;max-width:260px!important;}
  html.spviet-device-phone .spviet-mobile-drawer-close-v9978{flex:0 0 42px!important;width:42px!important;height:42px!important;border-radius:999px!important;border:0!important;background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:30px!important;font-weight:900!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-section-v9978{margin:14px 0!important;padding:14px!important;border-radius:24px!important;background:rgba(255,255,255,.86)!important;border:1px solid rgba(160,0,24,.10)!important;box-shadow:0 12px 28px rgba(70,25,10,.08)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-section-v9978 h3{margin:0 0 10px!important;color:#8e0014!important;font-size:17px!important;line-height:1.2!important;font-weight:1000!important;}
  html.spviet-device-phone .spviet-mobile-drawer-catgrid-v9978{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  html.spviet-device-phone .spviet-mobile-drawer-catgrid-v9978 a{min-height:56px!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,#fff7e8)!important;color:#8e0014!important;text-decoration:none!important;display:flex!important;align-items:center!important;gap:8px!important;padding:9px!important;box-shadow:inset 0 0 0 1px rgba(160,0,24,.12),0 8px 18px rgba(0,0,0,.05)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-catgrid-v9978 span{font-size:20px!important;line-height:1!important;}
  html.spviet-device-phone .spviet-mobile-drawer-catgrid-v9978 b{font-size:13px!important;font-weight:1000!important;line-height:1.2!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  html.spviet-device-phone .spviet-mobile-drawer-actions-v9978{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  html.spviet-device-phone .spviet-mobile-drawer-actions-v9978 a{min-height:72px!important;border-radius:22px!important;padding:12px 10px!important;background:linear-gradient(135deg,#073f90,#0b6fe0)!important;color:#fff!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;text-align:center!important;box-shadow:0 12px 26px rgba(8,83,175,.18)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-actions-v9978 a[data-drawer-action="reservation"]{background:linear-gradient(135deg,#f08d00,#ff5a00)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-actions-v9978 a[data-drawer-action="contact"]{background:linear-gradient(135deg,#10a34a,#007d39)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-actions-v9978 span{font-size:25px!important;line-height:1!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));}
  html.spviet-device-phone .spviet-mobile-drawer-actions-v9978 b{font-size:14px!important;line-height:1.15!important;font-weight:1000!important;}
  html.spviet-device-phone .spviet-mobile-drawer-member-v9978 a{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;margin:14px 0!important;padding:14px!important;border-radius:24px!important;background:linear-gradient(135deg,#fff3c8,#fff)!important;text-decoration:none!important;color:#7a0010!important;box-shadow:0 12px 26px rgba(120,70,0,.09),inset 0 0 0 1px rgba(212,160,58,.24)!important;}
  html.spviet-device-phone .spviet-mobile-drawer-member-v9978 span{grid-row:1 / span 2!important;width:48px!important;height:48px!important;border-radius:18px!important;background:linear-gradient(135deg,#9b0018,#e02b34)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:24px!important;}
  html.spviet-device-phone .spviet-mobile-drawer-member-v9978 strong{font-size:16px!important;font-weight:1000!important;line-height:1.15!important;}
  html.spviet-device-phone .spviet-mobile-drawer-member-v9978 small{font-size:12px!important;font-weight:800!important;color:#8a5c2a!important;line-height:1.25!important;}
  html.spviet-device-phone .spviet-mobile-drawer-language-slot-v9978{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important;}
  html.spviet-device-phone .spviet-mobile-drawer-language-slot-v9978>a{min-height:38px!important;padding:0 13px!important;border-radius:999px!important;background:#f6f0e8!important;color:#8e0014!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;font-weight:1000!important;}
  html.spviet-device-phone .spviet-mobile-drawer-menu-list-v9978,
  html.spviet-device-phone .spviet-mobile-drawer-menu-list-v9978 ul{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:7px!important;}
  html.spviet-device-phone .spviet-mobile-drawer-menu-list-v9978 a{display:flex!important;align-items:center!important;min-height:44px!important;padding:10px 12px!important;border-radius:15px!important;background:#fff!important;color:#5f1722!important;text-decoration:none!important;font-size:14px!important;font-weight:900!important;box-shadow:inset 0 0 0 1px rgba(160,0,24,.08)!important;}
  html.spviet-device-phone .spviet-menu-toggle[aria-expanded="true"]{background:linear-gradient(135deg,#f08d00,#ff5a00)!important;color:#fff!important;}
}

/* =========================================================
 * SPVIET V9.9.79 - Mobile Header / Product Card / Cart Footer / Debug Badge Corrective Hotfix Pro
 * - Header không còn floating card, không đẩy MENU lệch xuống giữa màn hình.
 * - Mobile product card ẩn nút Chi Tiết; ảnh + tên vẫn là link chi tiết.
 * - Cart/checkout panel dùng full height và action bar bám đáy đúng safe-area.
 * - Debug badge RWD mặc định OFF trên frontend public; chỉ hiện khi admin bật setting riêng.
 * ========================================================= */
@media (max-width: 767px){
  html.spviet-device-phone body.spviet-mobile-header-sticky-v9979,
  html.spviet-pre-phone body.spviet-mobile-header-sticky-v9979,
  html.spviet-device-phone body.spviet-mobile-header-normal-v9979,
  html.spviet-pre-phone body.spviet-mobile-header-normal-v9979{
    padding-top:0!important;
  }

  html.spviet-device-phone body.spviet-mobile-header-sticky-v9979 .spviet-theme-header,
  html.spviet-pre-phone body.spviet-mobile-header-sticky-v9979 .spviet-theme-header,
  html.spviet-device-phone body.spviet-mobile-header-sticky-v9979 #spviet-site-header,
  html.spviet-pre-phone body.spviet-mobile-header-sticky-v9979 #spviet-site-header{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-radius:0!important;
    min-height:var(--spv-v9971-header-h,86px)!important;
    z-index:2147481200!important;
    background:rgba(255,248,236,.98)!important;
    box-shadow:0 6px 18px rgba(126,42,42,.10)!important;
    border:0!important;
    overflow:visible!important;
    isolation:isolate!important;
  }
  html.spviet-device-phone body.spviet-mobile-header-normal-v9979 .spviet-theme-header,
  html.spviet-pre-phone body.spviet-mobile-header-normal-v9979 .spviet-theme-header,
  html.spviet-device-phone body.spviet-mobile-header-normal-v9979 #spviet-site-header,
  html.spviet-pre-phone body.spviet-mobile-header-normal-v9979 #spviet-site-header{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    margin:0!important;
    border-radius:0!important;
    width:100%!important;
    max-width:none!important;
    min-height:var(--spv-v9971-header-h,86px)!important;
    z-index:2147481200!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-header-inner,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-header-inner{
    width:100%!important;
    max-width:none!important;
    min-height:var(--spv-v9971-header-h,86px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px calc(var(--spv-v9970-menu-size,58px) + var(--spv-v9970-menu-right,18px) + 18px) 8px 14px!important;
    margin:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-logo,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-logo{
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-logo-mark,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-logo-mark{
    width:var(--spv-v9971-logo-size,54px)!important;
    height:var(--spv-v9971-logo-size,54px)!important;
    flex:0 0 var(--spv-v9971-logo-size,54px)!important;
    border-radius:16px!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-logo-text,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-logo-text{
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:clamp(18px,5.4vw,24px)!important;
    line-height:1.05!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-header-actions,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-header-actions{
    position:static!important;
    align-self:center!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle,
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 button.spviet-menu-toggle,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 button.spviet-menu-toggle{
    display:flex!important;
    position:absolute!important;
    top:50%!important;
    right:var(--spv-v9970-menu-right,18px)!important;
    left:auto!important;
    bottom:auto!important;
    width:var(--spv-v9970-menu-size,58px)!important;
    height:var(--spv-v9970-menu-size,58px)!important;
    min-width:var(--spv-v9970-menu-size,58px)!important;
    min-height:var(--spv-v9970-menu-size,58px)!important;
    max-width:var(--spv-v9970-menu-size,58px)!important;
    max-height:var(--spv-v9970-menu-size,58px)!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    padding:0!important;
    border-radius:18px!important;
    clip-path:none!important;
    overflow:hidden!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 12px 26px rgba(143,0,20,.22)!important;
    z-index:2147481210!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle-lines,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle-lines{
    width:26px!important;
    height:18px!important;
    display:grid!important;
    gap:4px!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle-lines i,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle-lines i{
    width:26px!important;
    height:3px!important;
  }
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle-label,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle-label,
  html.spviet-device-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle small,
  html.spviet-pre-phone body.spviet-mobile-corrective-v9979 .spviet-menu-toggle small{
    display:block!important;
    font-size:9px!important;
    line-height:1!important;
    margin-top:5px!important;
    letter-spacing:.12em!important;
  }

  html.spviet-device-phone body.spviet-mobile-hide-detail-v9979 .spviet-wc-detail-btn,
  html.spviet-pre-phone body.spviet-mobile-hide-detail-v9979 .spviet-wc-detail-btn,
  html.spviet-device-phone body.spviet-mobile-hide-detail-v9979 .spviet-home-product-detail,
  html.spviet-pre-phone body.spviet-mobile-hide-detail-v9979 .spviet-home-product-detail,
  html.spviet-device-phone body.spviet-mobile-hide-detail-v9979 .woocommerce ul.products li.product a.button:not(.add_to_cart_button),
  html.spviet-pre-phone body.spviet-mobile-hide-detail-v9979 .woocommerce ul.products li.product a.button:not(.add_to_cart_button){
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  html.spviet-device-phone body.spviet-mobile-hide-detail-v9979 .spviet-wc-card-actions,
  html.spviet-pre-phone body.spviet-mobile-hide-detail-v9979 .spviet-wc-card-actions,
  html.spviet-device-phone body.spviet-mobile-hide-detail-v9979 .spviet-home-product-actions,
  html.spviet-pre-phone body.spviet-mobile-hide-detail-v9979 .spviet-home-product-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  html.spviet-device-phone body.spviet-mobile-hide-detail-v9979 .spviet-wc-order-btn,
  html.spviet-pre-phone body.spviet-mobile-hide-detail-v9979 .spviet-wc-order-btn,
  html.spviet-device-phone body.spviet-mobile-hide-detail-v9979 .spviet-home-product-order,
  html.spviet-pre-phone body.spviet-mobile-hide-detail-v9979 .spviet-home-product-order{
    width:100%!important;
    min-width:0!important;
  }

  html.spviet-device-phone body.spviet-mobile-debug-badge-off-v9979 .spviet-device-debug-badge,
  html.spviet-pre-phone body.spviet-mobile-debug-badge-off-v9979 .spviet-device-debug-badge,
  html.spviet-device-phone body:not(.spviet-mobile-debug-badge-on-v9979) .spviet-device-debug-badge,
  html.spviet-pre-phone body:not(.spviet-mobile-debug-badge-on-v9979) .spviet-device-debug-badge{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  html.spviet-device-phone body.spviet-mobile-cart-panel-open.spviet-mobile-footer-hide-cart-v9979 .spviet-mobile-footer-nav,
  html.spviet-pre-phone body.spviet-mobile-cart-panel-open.spviet-mobile-footer-hide-cart-v9979 .spviet-mobile-footer-nav,
  html.spviet-device-phone body.spviet-mobile-cart-panel-open.spviet-mobile-footer-hide-cart-v9979 .spviet-mobile-footer-nav-v9970,
  html.spviet-pre-phone body.spviet-mobile-cart-panel-open.spviet-mobile-footer-hide-cart-v9979 .spviet-mobile-footer-nav-v9970,
  html.spviet-device-phone body.spviet-mobile-cart-panel-open.spviet-mobile-footer-hide-cart-v9979 .spviet-mobile-footer-nav-v9952,
  html.spviet-pre-phone body.spviet-mobile-cart-panel-open.spviet-mobile-footer-hide-cart-v9979 .spviet-mobile-footer-nav-v9952{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-panel-open .spviet-mobile-floating-cart-chip,
  html.spviet-pre-phone body.spviet-mobile-cart-panel-open .spviet-mobile-floating-cart-chip{
    display:none!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-root,
  html.spviet-pre-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-root{
    position:fixed!important;
    inset:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    z-index:2147482300!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel,
  html.spviet-pre-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:none!important;
    border-radius:0!important;
    padding-bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-head,
  html.spviet-pre-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-head{
    flex:0 0 auto!important;
    padding:calc(16px + env(safe-area-inset-top,0px)) 18px 14px!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-body,
  html.spviet-pre-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-body{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:auto!important;
    padding:12px 12px 10px!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-foot,
  html.spviet-pre-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-panel-foot{
    flex:0 0 auto!important;
    margin-top:auto!important;
    padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px))!important;
    background:rgba(255,255,255,.98)!important;
    box-sizing:border-box!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-list,
  html.spviet-pre-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-list{
    padding-bottom:6px!important;
  }
  html.spviet-device-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-flow-note,
  html.spviet-pre-phone body.spviet-mobile-cart-fullheight-v9979 .spviet-mobile-cart-flow-note{
    display:none!important;
  }
}


/* SPVIET V9.9.80 - Mobile quantity badge authoritative sync + feature cards default OFF closeout */
@media (max-width: 767px){
  html.spviet-device-phone body.spviet-mobile-block-features-off-v9980 .spviet-mobile-block-features,
  html.spviet-pre-phone body.spviet-mobile-block-features-off-v9980 .spviet-mobile-block-features,
  body.spviet-server-mobile.spviet-mobile-block-features-off-v9980 .spviet-mobile-block-features{
    display:none!important;
  }
  html.spviet-device-phone .spviet-mobile-product-qty-badge,
  html.spviet-pre-phone .spviet-mobile-product-qty-badge{
    pointer-events:none!important;
  }
}

/* SPVIET V9.9.81 - Mobile Bill Responsive Layout / Quantity Column / Order Summary Balance Pro */
@media (max-width: 767px){
  body.woocommerce-order-received,
  body.woocommerce-view-order{
    padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))!important;
  }
  html.spviet-device-phone body.woocommerce-order-received .site-main,
  html.spviet-pre-phone body.woocommerce-order-received .site-main,
  body.spviet-server-mobile.woocommerce-order-received .site-main,
  html.spviet-device-phone body.woocommerce-view-order .site-main,
  html.spviet-pre-phone body.woocommerce-view-order .site-main,
  body.spviet-server-mobile.woocommerce-view-order .site-main{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body.woocommerce-order-received .woocommerce-order,
  body.woocommerce-view-order .woocommerce-order,
  body.woocommerce-view-order .woocommerce-MyAccount-content{
    max-width:100%!important;
    overflow:hidden!important;
    padding-bottom:calc(122px + env(safe-area-inset-bottom,0px))!important;
  }
  body.woocommerce-order-received .woocommerce-notice.woocommerce-thankyou-order-received{
    margin:0 0 16px!important;
    padding:14px 16px!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,246,229,.96))!important;
    border:1px solid rgba(151,21,31,.12)!important;
    box-shadow:0 12px 28px rgba(30,40,60,.08)!important;
    font-weight:800!important;
    line-height:1.35!important;
  }
  body.woocommerce-order-received ul.woocommerce-order-overview,
  body.woocommerce-order-received .woocommerce-thankyou-order-details,
  body.woocommerce-view-order ul.order_details{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin:0 0 22px!important;
    padding:12px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(151,21,31,.12)!important;
    box-shadow:0 14px 34px rgba(30,40,60,.08)!important;
    list-style:none!important;
  }
  body.woocommerce-order-received ul.woocommerce-order-overview li,
  body.woocommerce-view-order ul.order_details li{
    float:none!important;
    width:auto!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-radius:16px!important;
    background:rgba(250,246,238,.78)!important;
    font-size:12px!important;
    line-height:1.25!important;
    color:#6b5960!important;
    overflow:hidden!important;
    word-break:break-word!important;
  }
  body.woocommerce-order-received ul.woocommerce-order-overview li strong,
  body.woocommerce-view-order ul.order_details li strong{
    display:block!important;
    margin-top:4px!important;
    font-size:18px!important;
    line-height:1.2!important;
    color:#1f2937!important;
  }
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-view-order .woocommerce-order-details{
    margin-top:22px!important;
  }
  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-view-order .woocommerce-order-details__title{
    margin:0 0 12px!important;
    font-size:28px!important;
    line-height:1.12!important;
    font-weight:900!important;
    color:#1f2937!important;
  }
  body.woocommerce-order-received table.shop_table.order_details,
  body.woocommerce-view-order table.shop_table.order_details{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    border:1px solid rgba(31,41,55,.12)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    table-layout:fixed!important;
    box-shadow:0 12px 32px rgba(30,40,60,.07)!important;
  }
  body.woocommerce-order-received table.shop_table.order_details thead,
  body.woocommerce-order-received table.shop_table.order_details tbody,
  body.woocommerce-order-received table.shop_table.order_details tfoot,
  body.woocommerce-view-order table.shop_table.order_details thead,
  body.woocommerce-view-order table.shop_table.order_details tbody,
  body.woocommerce-view-order table.shop_table.order_details tfoot{
    display:block!important;
    width:100%!important;
  }
  body.woocommerce-order-received table.shop_table.order_details thead tr,
  body.woocommerce-order-received table.shop_table.order_details tbody tr.order_item,
  body.woocommerce-view-order table.shop_table.order_details thead tr,
  body.woocommerce-view-order table.shop_table.order_details tbody tr.order_item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px minmax(88px,104px)!important;
    align-items:center!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-order-received table.shop_table.order_details th,
  body.woocommerce-order-received table.shop_table.order_details td,
  body.woocommerce-view-order table.shop_table.order_details th,
  body.woocommerce-view-order table.shop_table.order_details td{
    display:block!important;
    box-sizing:border-box!important;
    min-width:0!important;
    border-left:0!important;
    border-right:0!important;
    padding:12px 10px!important;
    vertical-align:middle!important;
  }
  body.woocommerce-order-received table.shop_table.order_details thead th,
  body.woocommerce-view-order table.shop_table.order_details thead th{
    background:#fbfbfc!important;
    color:#1f2937!important;
    font-size:14px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    border-bottom:1px solid rgba(31,41,55,.14)!important;
  }
  body.woocommerce-order-received table.shop_table.order_details .product-name,
  body.woocommerce-view-order table.shop_table.order_details .product-name{
    color:#d97706!important;
    font-weight:800!important;
    line-height:1.32!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  body.woocommerce-order-received table.shop_table.order_details .spviet-mobile-bill-qty,
  body.woocommerce-view-order table.shop_table.order_details .spviet-mobile-bill-qty{
    text-align:center!important;
    color:#1f2937!important;
    font-weight:900!important;
    font-size:17px!important;
    white-space:nowrap!important;
  }
  body.woocommerce-order-received table.shop_table.order_details .product-total,
  body.woocommerce-view-order table.shop_table.order_details .product-total{
    text-align:right!important;
    color:#111827!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body.woocommerce-order-received table.shop_table.order_details tbody tr.order_item td,
  body.woocommerce-view-order table.shop_table.order_details tbody tr.order_item td{
    border-bottom:1px solid rgba(31,41,55,.10)!important;
  }
  body.woocommerce-order-received table.shop_table.order_details tbody tr.order_item:last-child td,
  body.woocommerce-view-order table.shop_table.order_details tbody tr.order_item:last-child td{
    border-bottom:1px solid rgba(31,41,55,.14)!important;
  }
  body.woocommerce-order-received table.shop_table.order_details tfoot tr,
  body.woocommerce-view-order table.shop_table.order_details tfoot tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,auto)!important;
    align-items:center!important;
    width:100%!important;
  }
  body.woocommerce-order-received table.shop_table.order_details tfoot th,
  body.woocommerce-view-order table.shop_table.order_details tfoot th{
    text-align:left!important;
    color:#5b4650!important;
    font-weight:800!important;
  }
  body.woocommerce-order-received table.shop_table.order_details tfoot td,
  body.woocommerce-view-order table.shop_table.order_details tfoot td{
    text-align:right!important;
    color:#991b1b!important;
    font-weight:900!important;
  }
  body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th,
  body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td,
  body.woocommerce-view-order table.shop_table.order_details tfoot tr:last-child th,
  body.woocommerce-view-order table.shop_table.order_details tfoot tr:last-child td{
    font-size:18px!important;
    background:linear-gradient(135deg,rgba(255,247,237,.95),rgba(255,255,255,.98))!important;
  }
  body.woocommerce-order-received table.shop_table.order_details .product-name .product-quantity,
  body.woocommerce-view-order table.shop_table.order_details .product-name .product-quantity{
    display:none!important;
  }
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-view-order .woocommerce-customer-details{
    margin-bottom:calc(108px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* SPVIET V9.9.82 - Mobile Checkout Review Quantity Column / Checkout Balance Pro */
@media (max-width: 767px){
  body.woocommerce-checkout .woocommerce-checkout-review-order-table{
    width:100%!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    border:1px solid rgba(31,41,55,.12)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 12px 32px rgba(30,40,60,.07)!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot{display:block!important;width:100%!important;}
  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead tr,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px minmax(86px,104px)!important;
    align-items:center!important;
    width:100%!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td{
    display:block!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:12px 10px!important;
    border-left:0!important;
    border-right:0!important;
    vertical-align:middle!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{
    background:#fbfbfc!important;
    color:#1f2937!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:900!important;
    white-space:nowrap!important;
    border-bottom:1px solid rgba(31,41,55,.14)!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{
    color:#1f2937!important;
    font-weight:800!important;
    line-height:1.32!important;
    overflow-wrap:anywhere!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .spviet-mobile-review-qty{
    text-align:center!important;
    color:#1f2937!important;
    font-weight:900!important;
    font-size:17px!important;
    white-space:nowrap!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total{
    text-align:right!important;
    color:#111827!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item td{border-bottom:1px solid rgba(31,41,55,.10)!important;}
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity{display:none!important;}
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,auto)!important;
    align-items:center!important;
    width:100%!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{text-align:left!important;font-weight:900!important;color:#5b4650!important;}
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{text-align:right!important;font-weight:900!important;color:#991b1b!important;}
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child td{
    font-size:18px!important;
    background:linear-gradient(135deg,rgba(255,247,237,.95),rgba(255,255,255,.98))!important;
  }
}

/* SPVIET V9.9.82 - Checkout postcode country rule visual guard */
body.woocommerce-checkout .form-row.spviet-postcode-optional-v9982 label .required{display:none!important;}
body.woocommerce-checkout .form-row.spviet-address-autofill-working-v9982 input{background-image:linear-gradient(90deg,rgba(255,247,237,.9),rgba(255,255,255,.95))!important;}
body.woocommerce-checkout .form-row.spviet-address-autofill-ok-v9982 input{border-color:#16a34a!important;box-shadow:0 0 0 1px rgba(22,163,74,.18)!important;}


/* =========================================================
 * SPVIET V9.9.83 - Mobile Menu Catalog Premium Hierarchy Pro
 * - Mobile Thực đơn/catalog visual hierarchy polish only.
 * - Premium category chips, section title frame, 2-column product cards.
 * - No checkout/payment/order protocol changes.
 * ========================================================= */
@media (max-width: 767px){
  html.spviet-device-phone .spviet-wc-menu-pro,
  html.spviet-pre-phone .spviet-wc-menu-pro{
    --spv-menu-burgundy-v9983:#8f0718;
    --spv-menu-burgundy-2-v9983:#65000d;
    --spv-menu-gold-v9983:#d79b31;
    --spv-menu-cream-v9983:#fff8ec;
    --spv-menu-card-v9983:#fffdf8;
    padding:14px 7px calc(96px + env(safe-area-inset-bottom,0px))!important;
    background:
      radial-gradient(circle at 8% 5%,rgba(215,155,49,.16),transparent 34%),
      radial-gradient(circle at 92% 10%,rgba(143,7,24,.09),transparent 32%),
      linear-gradient(180deg,#fffaf0 0%,#fff6e7 48%,#fffdf8 100%)!important;
  }
  html.spviet-device-phone .spviet-wc-menu-shell,
  html.spviet-pre-phone .spviet-wc-menu-shell{
    padding:14px 10px 18px!important;
    border-radius:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  html.spviet-device-phone .spviet-wc-menu-head,
  html.spviet-pre-phone .spviet-wc-menu-head{
    position:relative!important;
    padding:18px 10px 16px!important;
    margin:0 0 14px!important;
    text-align:center!important;
    border-radius:24px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,248,236,.72))!important;
    border:1px solid rgba(215,155,49,.18)!important;
  }
  html.spviet-device-phone .spviet-wc-kicker,
  html.spviet-pre-phone .spviet-wc-kicker{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    color:var(--spv-menu-gold-v9983)!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.24em!important;
    text-transform:uppercase!important;
  }
  html.spviet-device-phone .spviet-wc-kicker::before,
  html.spviet-device-phone .spviet-wc-kicker::after,
  html.spviet-pre-phone .spviet-wc-kicker::before,
  html.spviet-pre-phone .spviet-wc-kicker::after{
    content:""!important;
    width:38px!important;
    height:1px!important;
    display:block!important;
    background:linear-gradient(90deg,transparent,var(--spv-menu-gold-v9983),transparent)!important;
  }
  html.spviet-device-phone .spviet-wc-menu-head h1,
  html.spviet-pre-phone .spviet-wc-menu-head h1{
    margin:10px 0 4px!important;
    color:var(--spv-menu-burgundy-v9983)!important;
    font-size:clamp(28px,8.6vw,42px)!important;
    line-height:1.04!important;
    font-weight:1000!important;
    letter-spacing:-.035em!important;
    text-shadow:0 1px 0 rgba(255,255,255,.78)!important;
  }
  html.spviet-device-phone .spviet-wc-menu-head p,
  html.spviet-pre-phone .spviet-wc-menu-head p{
    display:block!important;
    margin:5px auto 0!important;
    max-width:30em!important;
    color:rgba(83,57,44,.74)!important;
    font-size:14px!important;
    line-height:1.45!important;
    font-weight:650!important;
  }
  html.spviet-device-phone .spviet-wc-toolbar,
  html.spviet-pre-phone .spviet-wc-toolbar{
    display:none!important;
  }
  html.spviet-device-phone .spviet-wc-cat-title,
  html.spviet-pre-phone .spviet-wc-cat-title{
    display:inline-flex!important;
    align-items:center!important;
    gap:9px!important;
    margin:6px 0 10px!important;
    padding:9px 16px!important;
    border-radius:999px!important;
    border:1px solid rgba(215,155,49,.34)!important;
    background:linear-gradient(180deg,#fffdf7,#fff2d7)!important;
    color:var(--spv-menu-burgundy-v9983)!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:1000!important;
    letter-spacing:.13em!important;
    box-shadow:0 10px 22px rgba(143,7,24,.07)!important;
  }
  html.spviet-device-phone .spviet-wc-cat-title::before,
  html.spviet-pre-phone .spviet-wc-cat-title::before{
    content:"▦"!important;
    color:var(--spv-menu-gold-v9983)!important;
    font-size:16px!important;
    letter-spacing:0!important;
  }
  html.spviet-device-phone .spviet-wc-cat-tabs,
  html.spviet-pre-phone .spviet-wc-cat-tabs{
    display:flex!important;
    gap:10px!important;
    padding:4px 0 14px!important;
    margin:0 0 10px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
  }
  html.spviet-device-phone .spviet-wc-cat-tabs::-webkit-scrollbar,
  html.spviet-pre-phone .spviet-wc-cat-tabs::-webkit-scrollbar{display:none!important;}
  html.spviet-device-phone .spviet-wc-cat-tabs button,
  html.spviet-pre-phone .spviet-wc-cat-tabs button{
    flex:0 0 auto!important;
    min-height:54px!important;
    max-width:78vw!important;
    padding:0 18px!important;
    border-radius:999px!important;
    border:1px solid rgba(143,7,24,.13)!important;
    background:rgba(255,255,255,.88)!important;
    color:#4a2220!important;
    box-shadow:0 10px 24px rgba(67,19,9,.06), inset 0 1px 0 rgba(255,255,255,.82)!important;
    font-size:14px!important;
    font-weight:950!important;
    white-space:nowrap!important;
    text-transform:none!important;
    scroll-snap-align:start!important;
  }
  html.spviet-device-phone .spviet-wc-cat-tabs button::before,
  html.spviet-pre-phone .spviet-wc-cat-tabs button::before{
    content:"🍽"!important;
    display:inline-block!important;
    margin-right:8px!important;
    filter:saturate(.9)!important;
  }
  html.spviet-device-phone .spviet-wc-cat-tabs button:first-child::before,
  html.spviet-pre-phone .spviet-wc-cat-tabs button:first-child::before{content:"▦"!important;}
  html.spviet-device-phone .spviet-wc-cat-tabs button.is-active,
  html.spviet-pre-phone .spviet-wc-cat-tabs button.is-active{
    background:linear-gradient(135deg,var(--spv-menu-burgundy-v9983),#bd1027)!important;
    color:#fff!important;
    border-color:rgba(255,220,139,.5)!important;
    box-shadow:0 16px 30px rgba(143,7,24,.24), inset 0 1px 0 rgba(255,255,255,.2)!important;
  }
  html.spviet-device-phone .spviet-wc-layout,
  html.spviet-pre-phone .spviet-wc-layout{display:block!important;}
  html.spviet-device-phone .spviet-wc-products-area,
  html.spviet-pre-phone .spviet-wc-products-area{overflow:visible!important;}
  html.spviet-device-phone .spviet-wc-cat-section,
  html.spviet-pre-phone .spviet-wc-cat-section{
    position:relative!important;
    margin:14px 0 22px!important;
    padding:18px 8px 10px!important;
    border:1.5px solid rgba(215,155,49,.58)!important;
    border-radius:28px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,248,236,.82))!important;
    box-shadow:0 18px 42px rgba(117,43,15,.08), inset 0 0 0 1px rgba(255,255,255,.72)!important;
  }
  html.spviet-device-phone .spviet-wc-cat-section::before,
  html.spviet-pre-phone .spviet-wc-cat-section::before{
    content:""!important;
    position:absolute!important;
    left:18px!important;right:18px!important;top:-1px!important;
    height:3px!important;
    border-radius:99px!important;
    background:linear-gradient(90deg,transparent,var(--spv-menu-gold-v9983),var(--spv-menu-burgundy-v9983),var(--spv-menu-gold-v9983),transparent)!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading,
  html.spviet-pre-phone .spviet-wc-cat-heading{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    margin:0 0 16px!important;
    padding:0 8px!important;
    text-align:center!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading::before,
  html.spviet-device-phone .spviet-wc-cat-heading::after,
  html.spviet-pre-phone .spviet-wc-cat-heading::before,
  html.spviet-pre-phone .spviet-wc-cat-heading::after{
    content:""!important;
    flex:1 1 22px!important;
    max-width:62px!important;
    height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(215,155,49,.72))!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading::after,
  html.spviet-pre-phone .spviet-wc-cat-heading::after{transform:scaleX(-1)!important;}
  html.spviet-device-phone .spviet-wc-cat-heading h2,
  html.spviet-pre-phone .spviet-wc-cat-heading h2{
    display:inline-flex!important;
    align-items:center!important;
    gap:9px!important;
    max-width:100%!important;
    margin:0!important;
    color:var(--spv-menu-burgundy-v9983)!important;
    font-size:clamp(25px,7.4vw,38px)!important;
    line-height:1.08!important;
    font-weight:1000!important;
    letter-spacing:-.035em!important;
    text-transform:none!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading h2::before,
  html.spviet-pre-phone .spviet-wc-cat-heading h2::before{
    content:"🍜"!important;
    flex:0 0 auto!important;
    color:var(--spv-menu-gold-v9983)!important;
    font-size:.78em!important;
  }
  html.spviet-device-phone .spviet-wc-grid,
  html.spviet-pre-phone .spviet-wc-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  html.spviet-device-phone .spviet-wc-menu-card,
  html.spviet-pre-phone .spviet-wc-menu-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    min-height:100%!important;
    overflow:hidden!important;
    border-radius:20px!important;
    border:1px solid rgba(143,7,24,.10)!important;
    background:var(--spv-menu-card-v9983)!important;
    box-shadow:0 15px 30px rgba(78,35,18,.11), inset 0 1px 0 rgba(255,255,255,.8)!important;
  }
  html.spviet-device-phone .spviet-wc-menu-card::after,
  html.spviet-pre-phone .spviet-wc-menu-card::after{
    content:"Còn hàng"!important;
    position:absolute!important;
    top:8px!important;right:8px!important;
    z-index:5!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#0aa14d,#087f3d)!important;
    color:#fff!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    box-shadow:0 7px 16px rgba(8,127,61,.18)!important;
  }
  html.spviet-device-phone .spviet-wc-menu-card[data-stock="0"]::after,
  html.spviet-pre-phone .spviet-wc-menu-card[data-stock="0"]::after{
    content:"Hết hàng"!important;
    background:linear-gradient(135deg,#777,#4d4d4d)!important;
  }
  html.spviet-device-phone .spviet-wc-card-media,
  html.spviet-pre-phone .spviet-wc-card-media{
    position:relative!important;
    display:block!important;
    aspect-ratio:1.22/1!important;
    width:100%!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,#fff2dc,#e8a83b)!important;
    border-bottom:4px solid rgba(215,155,49,.76)!important;
  }
  html.spviet-device-phone .spviet-wc-card-media::before,
  html.spviet-pre-phone .spviet-wc-card-media::before{
    content:"SPVIET MENU"!important;
    position:absolute!important;
    left:10px!important;top:8px!important;
    z-index:4!important;
    max-width:calc(100% - 76px)!important;
    padding:4px 10px!important;
    border-radius:999px!important;
    background:rgba(143,7,24,.92)!important;
    color:#fff!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:1000!important;
    letter-spacing:.08em!important;
    pointer-events:none!important;
  }
  html.spviet-device-phone .spviet-wc-card-media img,
  html.spviet-pre-phone .spviet-wc-card-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
    transform:scale(1.001)!important;
  }
  html.spviet-device-phone .spviet-wc-card-body,
  html.spviet-pre-phone .spviet-wc-card-body{
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    min-height:214px!important;
    padding:12px 11px 11px!important;
  }
  html.spviet-device-phone .spviet-wc-card-body h3,
  html.spviet-pre-phone .spviet-wc-card-body h3{
    margin:0!important;
    color:#d57b0b!important;
    font-size:clamp(18px,4.7vw,23px)!important;
    line-height:1.22!important;
    font-weight:1000!important;
    letter-spacing:-.03em!important;
  }
  html.spviet-device-phone .spviet-wc-card-body h3 a,
  html.spviet-pre-phone .spviet-wc-card-body h3 a{color:inherit!important;text-decoration:none!important;}
  html.spviet-device-phone .spviet-wc-card-body p,
  html.spviet-pre-phone .spviet-wc-card-body p{
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    min-height:4.15em!important;
    margin:0!important;
    color:#4f3f3b!important;
    font-size:clamp(13px,3.5vw,16px)!important;
    line-height:1.38!important;
    font-weight:650!important;
  }
  html.spviet-device-phone .spviet-wc-card-bottom,
  html.spviet-pre-phone .spviet-wc-card-bottom{
    margin-top:auto!important;
    padding-top:9px!important;
    border-top:1px dashed rgba(143,7,24,.14)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  html.spviet-device-phone .spviet-wc-card-price,
  html.spviet-pre-phone .spviet-wc-card-price{
    color:#ca2738!important;
    font-size:clamp(21px,6.1vw,28px)!important;
    line-height:1!important;
    font-weight:1000!important;
    letter-spacing:-.035em!important;
  }
  html.spviet-device-phone .spviet-wc-card-actions,
  html.spviet-pre-phone .spviet-wc-card-actions{
    display:block!important;
    width:100%!important;
    margin:0!important;
  }
  html.spviet-device-phone .spviet-wc-detail-btn,
  html.spviet-pre-phone .spviet-wc-detail-btn{display:none!important;}
  html.spviet-device-phone .spviet-wc-order-btn,
  html.spviet-pre-phone .spviet-wc-order-btn{
    width:100%!important;
    min-height:48px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border-radius:14px!important;
    background:linear-gradient(135deg,#0fbd5f,#07933f)!important;
    color:#fff!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:1000!important;
    text-decoration:none!important;
    box-shadow:0 10px 21px rgba(7,147,63,.23), inset 0 1px 0 rgba(255,255,255,.22)!important;
  }
  html.spviet-device-phone .spviet-wc-order-btn::before,
  html.spviet-pre-phone .spviet-wc-order-btn::before{content:"🛍"!important;font-size:16px!important;}
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970,
  html.spviet-pre-phone .spviet-mobile-footer-nav-v9970{
    border-top-color:rgba(244,207,110,.95)!important;
    background:linear-gradient(180deg,#a10b1b 0%,#7c0614 58%,#60000b 100%)!important;
    box-shadow:0 -14px 34px rgba(78,0,12,.30)!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 a.is-active,
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 a[aria-current="page"],
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970 a[aria-expanded="true"],
  html.spviet-pre-phone .spviet-mobile-footer-nav-v9970 a.is-active,
  html.spviet-pre-phone .spviet-mobile-footer-nav-v9970 a[aria-current="page"],
  html.spviet-pre-phone .spviet-mobile-footer-nav-v9970 a[aria-expanded="true"]{
    border:1px solid rgba(255,220,139,.72)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.04))!important;
    color:#fff9df!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 10px 25px rgba(0,0,0,.16)!important;
  }
}
@media (max-width: 380px){
  html.spviet-device-phone .spviet-wc-grid,
  html.spviet-pre-phone .spviet-wc-grid{gap:9px!important;}
  html.spviet-device-phone .spviet-wc-card-body,
  html.spviet-pre-phone .spviet-wc-card-body{padding:10px 9px!important;min-height:202px!important;}
  html.spviet-device-phone .spviet-wc-card-body h3,
  html.spviet-pre-phone .spviet-wc-card-body h3{font-size:17px!important;}
  html.spviet-device-phone .spviet-wc-order-btn,
  html.spviet-pre-phone .spviet-wc-order-btn{min-height:44px!important;font-size:14px!important;}
}


/* =========================================================
 * SPVIET V9.9.84 - Mobile Menu Catalog Final Polish / Category UX / Product Card Balance Pro
 * - Final mobile Thực đơn polish: compact hierarchy, equal cards, smoother category UX.
 * - UI/CSS + menu filter scroll helper only; no checkout/payment/order protocol changes.
 * ========================================================= */
@media (max-width: 767px){
  html.spviet-device-phone .spviet-wc-menu-pro,
  html.spviet-pre-phone .spviet-wc-menu-pro{
    padding:10px 6px calc(104px + env(safe-area-inset-bottom,0px))!important;
    scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;
  }
  html.spviet-device-phone .spviet-wc-menu-shell,
  html.spviet-pre-phone .spviet-wc-menu-shell{
    padding:10px 8px 20px!important;
  }
  html.spviet-device-phone .spviet-wc-menu-head,
  html.spviet-pre-phone .spviet-wc-menu-head{
    margin-bottom:10px!important;
    padding:14px 8px 12px!important;
    border-radius:22px!important;
  }
  html.spviet-device-phone .spviet-wc-kicker,
  html.spviet-pre-phone .spviet-wc-kicker{
    font-size:11px!important;
    letter-spacing:.20em!important;
  }
  html.spviet-device-phone .spviet-wc-menu-head h1,
  html.spviet-pre-phone .spviet-wc-menu-head h1{
    font-size:clamp(25px,7.4vw,34px)!important;
    letter-spacing:-.025em!important;
  }
  html.spviet-device-phone .spviet-wc-menu-head p,
  html.spviet-pre-phone .spviet-wc-menu-head p{
    font-size:13px!important;
    line-height:1.35!important;
  }
  html.spviet-device-phone .spviet-wc-cat-title,
  html.spviet-pre-phone .spviet-wc-cat-title{
    margin:0 0 8px!important;
    padding:8px 14px!important;
    font-size:12px!important;
    letter-spacing:.11em!important;
  }
  html.spviet-device-phone .spviet-wc-cat-tabs,
  html.spviet-pre-phone .spviet-wc-cat-tabs{
    position:sticky!important;
    top:0!important;
    z-index:24!important;
    margin:0 -8px 10px!important;
    padding:6px 8px 12px!important;
    background:linear-gradient(180deg,rgba(255,250,240,.98) 0%,rgba(255,250,240,.92) 72%,rgba(255,250,240,0) 100%)!important;
    overscroll-behavior-x:contain!important;
    scroll-padding-inline:8px!important;
  }
  html.spviet-device-phone .spviet-wc-cat-tabs button,
  html.spviet-pre-phone .spviet-wc-cat-tabs button{
    min-height:46px!important;
    padding:0 16px!important;
    font-size:13px!important;
    letter-spacing:-.01em!important;
    box-shadow:0 7px 18px rgba(67,19,9,.055), inset 0 1px 0 rgba(255,255,255,.86)!important;
  }
  html.spviet-device-phone .spviet-wc-cat-section,
  html.spviet-pre-phone .spviet-wc-cat-section{
    margin:12px 0 18px!important;
    padding:12px 7px 9px!important;
    border-radius:24px!important;
  }
  html.spviet-device-phone .spviet-wc-cat-section::after,
  html.spviet-pre-phone .spviet-wc-cat-section::after{
    content:""!important;
    position:absolute!important;
    inset:7px!important;
    border-radius:20px!important;
    border:1px solid rgba(255,255,255,.82)!important;
    pointer-events:none!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading,
  html.spviet-pre-phone .spviet-wc-cat-heading{
    margin:0 0 10px!important;
    padding:8px 6px 10px!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,244,220,.55))!important;
    box-shadow:inset 0 -1px 0 rgba(215,155,49,.20)!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading::before,
  html.spviet-device-phone .spviet-wc-cat-heading::after,
  html.spviet-pre-phone .spviet-wc-cat-heading::before,
  html.spviet-pre-phone .spviet-wc-cat-heading::after{
    max-width:36px!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading h2,
  html.spviet-pre-phone .spviet-wc-cat-heading h2{
    max-width:min(100%,74vw)!important;
    font-size:clamp(21px,6.2vw,30px)!important;
    line-height:1.12!important;
    letter-spacing:-.02em!important;
    text-wrap:balance!important;
  }
  html.spviet-device-phone .spviet-wc-cat-heading p,
  html.spviet-pre-phone .spviet-wc-cat-heading p{
    display:none!important;
  }
  html.spviet-device-phone .spviet-wc-grid,
  html.spviet-pre-phone .spviet-wc-grid{
    gap:10px!important;
    grid-auto-rows:1fr!important;
  }
  html.spviet-device-phone .spviet-wc-menu-card,
  html.spviet-pre-phone .spviet-wc-menu-card{
    border-radius:18px!important;
    min-height:0!important;
    height:100%!important;
    box-shadow:0 12px 25px rgba(78,35,18,.10), inset 0 1px 0 rgba(255,255,255,.82)!important;
  }
  html.spviet-device-phone .spviet-wc-menu-card:active,
  html.spviet-pre-phone .spviet-wc-menu-card:active{
    transform:translateY(1px)!important;
  }
  html.spviet-device-phone .spviet-wc-card-media,
  html.spviet-pre-phone .spviet-wc-card-media{
    aspect-ratio:1.15/1!important;
    border-bottom:3px solid rgba(215,155,49,.74)!important;
  }
  html.spviet-device-phone .spviet-wc-card-noimg,
  html.spviet-pre-phone .spviet-wc-card-noimg{
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:100%!important;
    background:
      radial-gradient(circle at center,rgba(255,255,255,.38),transparent 28%),
      linear-gradient(135deg,#fff2dc,#e9ad38 55%,#b95d10)!important;
    color:#8f0718!important;
    font-size:0!important;
  }
  html.spviet-device-phone .spviet-wc-card-noimg::before,
  html.spviet-pre-phone .spviet-wc-card-noimg::before{
    content:"SPVIET\A MENU"!important;
    white-space:pre!important;
    text-align:center!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:1000!important;
    letter-spacing:.10em!important;
  }
  html.spviet-device-phone .spviet-wc-card-body,
  html.spviet-pre-phone .spviet-wc-card-body{
    min-height:188px!important;
    padding:10px 10px 10px!important;
    gap:6px!important;
  }
  html.spviet-device-phone .spviet-wc-card-body h3,
  html.spviet-pre-phone .spviet-wc-card-body h3{
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    min-height:3.66em!important;
    color:#c76d05!important;
    font-size:clamp(16px,4.25vw,20px)!important;
    line-height:1.22!important;
  }
  html.spviet-device-phone .spviet-wc-card-body p,
  html.spviet-pre-phone .spviet-wc-card-body p{
    -webkit-line-clamp:2!important;
    min-height:2.75em!important;
    font-size:clamp(12px,3.25vw,14px)!important;
    line-height:1.36!important;
    color:#5d4b45!important;
  }
  html.spviet-device-phone .spviet-wc-card-bottom,
  html.spviet-pre-phone .spviet-wc-card-bottom{
    grid-template-columns:minmax(0,1fr) minmax(92px,auto)!important;
    align-items:center!important;
    gap:8px!important;
    padding-top:8px!important;
  }
  html.spviet-device-phone .spviet-wc-card-price,
  html.spviet-pre-phone .spviet-wc-card-price{
    min-width:0!important;
    font-size:clamp(19px,5.1vw,24px)!important;
    white-space:nowrap!important;
  }
  html.spviet-device-phone .spviet-wc-card-actions,
  html.spviet-pre-phone .spviet-wc-card-actions{
    width:auto!important;
    min-width:0!important;
  }
  html.spviet-device-phone .spviet-wc-order-btn,
  html.spviet-pre-phone .spviet-wc-order-btn{
    min-width:92px!important;
    min-height:42px!important;
    padding:0 11px!important;
    border-radius:13px!important;
    font-size:13px!important;
    white-space:nowrap!important;
  }
  html.spviet-device-phone .spviet-wc-order-btn::before,
  html.spviet-pre-phone .spviet-wc-order-btn::before{
    font-size:14px!important;
  }
  html.spviet-device-phone .spviet-wc-menu-card[data-stock="0"] .spviet-wc-order-btn,
  html.spviet-pre-phone .spviet-wc-menu-card[data-stock="0"] .spviet-wc-order-btn{
    background:linear-gradient(135deg,#909090,#666)!important;
    box-shadow:none!important;
    pointer-events:none!important;
    opacity:.72!important;
  }
  html.spviet-device-phone .spviet-mobile-footer-nav-v9970,
  html.spviet-pre-phone .spviet-mobile-footer-nav-v9970{
    min-height:76px!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
  }
}
@media (max-width: 390px){
  html.spviet-device-phone .spviet-wc-grid,
  html.spviet-pre-phone .spviet-wc-grid{gap:8px!important;}
  html.spviet-device-phone .spviet-wc-card-body,
  html.spviet-pre-phone .spviet-wc-card-body{padding:9px 8px!important;min-height:178px!important;}
  html.spviet-device-phone .spviet-wc-card-body h3,
  html.spviet-pre-phone .spviet-wc-card-body h3{font-size:15.5px!important;}
  html.spviet-device-phone .spviet-wc-card-bottom,
  html.spviet-pre-phone .spviet-wc-card-bottom{grid-template-columns:1fr!important;gap:7px!important;}
  html.spviet-device-phone .spviet-wc-order-btn,
  html.spviet-pre-phone .spviet-wc-order-btn{width:100%!important;min-height:40px!important;font-size:13px!important;}
}


/* =========================================================
 * SPVIET V9.9.87 - All-device Add-to-cart visual truth
 * - Quantity badge appears in the center of every product card after add-to-cart.
 * - PC/tablet also get the floating cart chip when the cart has products.
 * - Hide WooCommerce default "View cart" link under buttons; use SPVIET cart chip instead.
 * ========================================================= */
.spviet-cart-qty-media-host{position:relative!important;display:block!important;overflow:hidden!important;}
.spviet-mobile-product-qty-badge{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) scale(.92)!important;z-index:12!important;min-width:72px!important;height:72px!important;padding:0 14px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.88)!important;border:5px solid rgba(255,255,255,.72)!important;box-shadow:0 12px 34px rgba(0,0,0,.18), inset 0 0 0 1px rgba(160,0,24,.12)!important;color:#f21b22!important;font-size:clamp(42px,8vw,86px)!important;line-height:1!important;font-weight:1000!important;font-family:Arial,"Helvetica Neue",sans-serif!important;letter-spacing:-.06em!important;text-shadow:0 2px 0 rgba(255,255,255,.75)!important;pointer-events:none!important;opacity:0!important;visibility:hidden!important;transition:opacity .18s ease,transform .18s ease!important;}
.spviet-has-cart-qty .spviet-mobile-product-qty-badge{opacity:1!important;visibility:visible!important;transform:translate(-50%,-50%) scale(1)!important;}
.spviet-wc-menu-card.spviet-has-cart-qty .spviet-wc-card-media img,.spviet-home-product-card.spviet-has-cart-qty .spviet-home-product-media img,.spviet-home-sale-card.spviet-has-cart-qty .spviet-home-sale-media img,.woocommerce ul.products li.product.spviet-has-cart-qty img{filter:saturate(1.04) brightness(.96)!important;}
.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987{position:fixed!important;right:calc(18px + env(safe-area-inset-right,0px))!important;top:calc(92px + env(safe-area-inset-top,0px))!important;z-index:2147482201!important;min-height:48px!important;max-width:calc(100vw - 36px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:10px 15px!important;border-radius:999px!important;background:linear-gradient(135deg,#a00018 0%,#d61723 52%,#ff8a00 100%)!important;color:#fff!important;text-decoration:none!important;font-weight:1000!important;box-shadow:0 14px 34px rgba(120,0,20,.26),0 0 0 1px rgba(255,255,255,.42) inset!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;}
.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987[hidden]{display:none!important;}
.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987 .spviet-mobile-cart-icon{font-size:21px!important;line-height:1!important;}
.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987 .spviet-mobile-cart-label{font-size:14px!important;line-height:1!important;white-space:nowrap!important;}
.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987 b{min-width:24px!important;height:24px!important;padding:0 7px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;color:#a00018!important;font-size:14px!important;line-height:1!important;font-weight:1000!important;}
@media(min-width:768px){.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987{top:118px!important;right:28px!important;min-height:54px!important;padding:11px 18px!important}.spviet-mobile-product-qty-badge{min-width:88px!important;height:88px!important;font-size:74px!important;}}
@media(max-width:390px){.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987 .spviet-mobile-cart-label{display:none!important}.spviet-mobile-floating-cart-chip.spviet-all-device-cart-chip-v9987{top:calc(88px + env(safe-area-inset-top,0px))!important;padding:10px 12px!important}}
.woocommerce a.added_to_cart,a.added_to_cart.wc-forward,.spviet-wc-card-actions a.added_to_cart,.spviet-home-product-actions a.added_to_cart,.spviet-home-sale-body a.added_to_cart{display:none!important;}
.spviet-order-iconized-v9987,.spviet-wc-order-btn,.spviet-home-product-order,.spviet-home-sale-order,.single_add_to_cart_button,.add_to_cart_button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;}
.spviet-order-iconized-v9987::before,.spviet-wc-order-btn::before,.spviet-home-product-order::before,.spviet-home-sale-order::before,.single_add_to_cart_button::before,.add_to_cart_button::before{content:attr(data-spviet-order-icon);font-size:1.05em;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.spviet-wc-order-btn:not([data-spviet-order-icon])::before,.spviet-home-product-order:not([data-spviet-order-icon])::before,.spviet-home-sale-order:not([data-spviet-order-icon])::before,.single_add_to_cart_button:not([data-spviet-order-icon])::before,.add_to_cart_button:not([data-spviet-order-icon])::before{content:"🛍️";}
.spviet-home-sale-card .spviet-home-sale-body{display:flex!important;flex-direction:column!important;}
.spviet-home-sale-card .spviet-home-sale-price{display:flex!important;align-items:baseline!important;gap:10px!important;min-height:34px!important;margin-top:auto!important;margin-bottom:12px!important;}
.spviet-home-sale-card .spviet-home-sale-order{margin-top:0!important;}

/* SPVIET v9.9.92 - Premium PC/tablet/mobile order received details */
body.woocommerce-order-received .woocommerce,
body.woocommerce-view-order .woocommerce{
  --spviet-order-red:#a20b1d;
  --spviet-order-gold:#d7a83d;
  --spviet-order-ink:#182334;
  --spviet-order-soft:#fff8ec;
}
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-view-order .woocommerce-MyAccount-content{
  max-width:1180px;
  margin:28px auto 90px!important;
  padding:34px 34px 42px!important;
  border:1px solid rgba(162,11,29,.14)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#fff,#fffaf1)!important;
  box-shadow:0 22px 60px rgba(64,35,20,.10)!important;
}
body.woocommerce-order-received .woocommerce-notice.woocommerce-notice--success,
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 20px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#a20b1d,#d88921)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(162,11,29,.18)!important;
}
body.woocommerce-order-received .woocommerce-notice.woocommerce-notice--success:before,
body.woocommerce-order-received .woocommerce-thankyou-order-received:before{content:"✓";font-size:18px;}
body.woocommerce-order-received ul.order_details,
body.woocommerce-view-order ul.order_details{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  margin:18px 0 34px!important;
  padding:0!important;
}
body.woocommerce-order-received ul.order_details li,
body.woocommerce-view-order ul.order_details li{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid rgba(162,11,29,.12)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(30,20,10,.04)!important;
  color:#6c5a55!important;
  font-size:12px!important;
  line-height:1.45!important;
  text-transform:uppercase!important;
}
body.woocommerce-order-received ul.order_details li strong,
body.woocommerce-view-order ul.order_details li strong{display:block!important;margin-top:5px!important;color:var(--spviet-order-ink)!important;font-size:17px!important;text-transform:none!important;word-break:break-word!important;}
.spviet-order-details-v9992{margin-top:22px!important;}
.spviet-order-details-head-v9992{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 14px!important;}
.spviet-order-kicker-v9992{display:inline-flex;padding:6px 12px;border-radius:999px;background:#fff3d8;color:var(--spviet-order-red);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.05em;}
.spviet-order-title-v9992{margin:8px 0 0!important;color:var(--spviet-order-ink)!important;font-size:32px!important;font-weight:950!important;line-height:1.15!important;}
.spviet-order-code-v9992{min-width:150px;padding:12px 16px;border-radius:18px;background:linear-gradient(135deg,#fff7e7,#fff);border:1px solid rgba(215,168,61,.35);text-align:right;}
.spviet-order-code-v9992 span{display:block;color:#7b625b;font-size:12px;font-weight:800;text-transform:uppercase;}
.spviet-order-code-v9992 strong{display:block;color:var(--spviet-order-red);font-size:22px;font-weight:950;}
table.spviet-order-table-v9992{width:100%!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;border:1px solid rgba(24,35,52,.13)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 14px 35px rgba(32,24,10,.06)!important;}
table.spviet-order-table-v9992 thead th{padding:16px 18px!important;background:linear-gradient(135deg,#a20b1d,#7d0715)!important;color:#fff!important;font-size:14px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.02em!important;border:0!important;}
table.spviet-order-table-v9992 tbody td{padding:15px 18px!important;border-top:1px solid #eee2d7!important;color:var(--spviet-order-ink)!important;font-size:15px!important;vertical-align:middle!important;}
table.spviet-order-table-v9992 .product-name{width:46%!important;font-weight:850!important;}
table.spviet-order-table-v9992 .product-name a{color:#c76c00!important;text-decoration:none!important;}
table.spviet-order-table-v9992 .product-unit,table.spviet-order-table-v9992 .product-qty,table.spviet-order-table-v9992 .product-total{text-align:right!important;white-space:nowrap!important;}
table.spviet-order-table-v9992 .product-qty{text-align:center!important;font-weight:950!important;color:var(--spviet-order-red)!important;}
table.spviet-order-table-v9992 tfoot th,table.spviet-order-table-v9992 tfoot td{padding:14px 18px!important;border-top:1px solid #eee2d7!important;background:#fffaf2!important;font-size:15px!important;}
table.spviet-order-table-v9992 tfoot tr:last-child th,table.spviet-order-table-v9992 tfoot tr:last-child td{background:#fff1d2!important;color:var(--spviet-order-red)!important;font-size:20px!important;font-weight:950!important;}
@media (max-width: 782px){
  body.woocommerce-order-received .woocommerce-order,body.woocommerce-view-order .woocommerce-MyAccount-content{margin:14px 10px 110px!important;padding:18px 14px 24px!important;border-radius:22px!important;}
  body.woocommerce-order-received ul.order_details,body.woocommerce-view-order ul.order_details{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .spviet-order-details-head-v9992{align-items:stretch;flex-direction:column;}
  .spviet-order-code-v9992{text-align:left;}
  .spviet-order-title-v9992{font-size:25px!important;}
  table.spviet-order-table-v9992 thead tr,table.spviet-order-table-v9992 tbody tr.order_item{grid-template-columns:minmax(0,1.45fr) 74px 54px 86px!important;display:grid!important;align-items:center!important;}
  table.spviet-order-table-v9992 thead th,table.spviet-order-table-v9992 tbody td{padding:12px 9px!important;font-size:13px!important;}
  table.spviet-order-table-v9992 .product-name{width:auto!important;}
  table.spviet-order-table-v9992 .product-unit,table.spviet-order-table-v9992 .product-total{text-align:right!important;white-space:normal!important;}
  table.spviet-order-table-v9992 tfoot tr{display:grid!important;grid-template-columns:1fr 108px!important;}
  table.spviet-order-table-v9992 tfoot th{grid-column:1!important;}
  table.spviet-order-table-v9992 tfoot td{grid-column:2!important;text-align:right!important;}
}

/* SPVIET v9.9.94 compatibility overrides for order summary/table/status timeline. */
body.woocommerce-order-received ul.woocommerce-order-overview.order_details,
body.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details,
body.woocommerce-view-order ul.order_details{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin:14px 0 26px!important;padding:0!important;}
body.woocommerce-order-received ul.order_details li,body.woocommerce-view-order ul.order_details li{float:none!important;width:auto!important;min-width:0!important;border-right:0!important;padding:12px 14px!important;}
body.woocommerce-order-received table.spviet-order-table-v9992 thead th,body.woocommerce-view-order table.spviet-order-table-v9992 thead th{color:#fff!important;opacity:1!important;text-shadow:0 1px 0 rgba(0,0,0,.14)!important;}
body.woocommerce-order-received table.spviet-order-table-v9992 tfoot th,body.woocommerce-order-received table.spviet-order-table-v9992 tfoot td,body.woocommerce-view-order table.spviet-order-table-v9992 tfoot th,body.woocommerce-view-order table.spviet-order-table-v9992 tfoot td{color:#111827!important;opacity:1!important;font-weight:850!important;text-shadow:none!important;}
body.woocommerce-order-received table.spviet-order-table-v9992 tfoot tr:last-child th,body.woocommerce-order-received table.spviet-order-table-v9992 tfoot tr:last-child td,body.woocommerce-view-order table.spviet-order-table-v9992 tfoot tr:last-child th,body.woocommerce-view-order table.spviet-order-table-v9992 tfoot tr:last-child td{color:#8f0718!important;}
@media(max-width:900px){body.woocommerce-order-received ul.woocommerce-order-overview.order_details,body.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details,body.woocommerce-view-order ul.order_details{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}


/* =========================================================
 * SPVIET V10.0.16 - Mobile/Tablet Slide Image Auto Fit / No Crop
 * PC is intentionally untouched: all rules are guarded by max-width:1024px.
 * Uploaded PC-size slide images automatically shrink to phone/tablet frame using object-fit:contain.
 * ========================================================= */
@media (max-width:1024px){
  html:not(.spviet-device-desktop) .spviet-full-slider-section,
  html:not(.spviet-device-desktop) .spviet-home-slider-section,
  html:not(.spviet-device-desktop) .spviet-slider-section{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:hidden!important;
    background:#fff7e8!important;
  }

  html:not(.spviet-device-desktop) .spviet-full-slider,
  html:not(.spviet-device-desktop) .spviet-slider,
  html:not(.spviet-device-desktop) .spviet-home-slider,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slider{
    width:100%!important;
    max-width:100%!important;
    height:var(--spv-v10016-slide-h, clamp(170px, 54vw, 360px))!important;
    min-height:var(--spv-v10016-slide-h, clamp(170px, 54vw, 360px))!important;
    max-height:var(--spv-v10016-slide-h, clamp(170px, 54vw, 360px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
    border-radius:clamp(16px,3.5vw,24px)!important;
    overflow:hidden!important;
    background:#fff7e8!important;
    box-sizing:border-box!important;
  }

  html:not(.spviet-device-desktop) .spviet-full-slider-track,
  html:not(.spviet-device-desktop) .spviet-slider-track,
  html:not(.spviet-device-desktop) .spviet-menu-intro-track{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
    background:#fff7e8!important;
  }

  html:not(.spviet-device-desktop) .spviet-full-slide,
  html:not(.spviet-device-desktop) .spviet-slide,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slide{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
    background:#fff7e8!important;
  }

  html:not(.spviet-device-desktop) .spviet-full-slide img,
  html:not(.spviet-device-desktop) .spviet-slider img,
  html:not(.spviet-device-desktop) .spviet-home-slider img,
  html:not(.spviet-device-desktop) .spviet-slide img,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slide img,
  html:not(.spviet-device-desktop) img.spviet-responsive-slide-img-v10016{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#fff7e8!important;
    border-radius:inherit!important;
    transform:none!important;
    clip-path:none!important;
    box-sizing:border-box!important;
  }

  html:not(.spviet-device-desktop) .spviet-full-slide-caption,
  html:not(.spviet-device-desktop) .spviet-slide-caption,
  html:not(.spviet-device-desktop) .spviet-slider-caption,
  html:not(.spviet-device-desktop) .spviet-menu-intro-caption{
    left:clamp(10px,3.2vw,18px)!important;
    right:clamp(10px,3.2vw,18px)!important;
    bottom:clamp(10px,3.2vw,18px)!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    padding:clamp(10px,2.8vw,15px)!important;
    border-radius:clamp(14px,3.2vw,20px)!important;
    box-sizing:border-box!important;
  }
}

@media (min-width:768px) and (max-width:1024px){
  html:not(.spviet-device-desktop) .spviet-full-slider,
  html:not(.spviet-device-desktop) .spviet-slider,
  html:not(.spviet-device-desktop) .spviet-home-slider,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slider{
    height:var(--spv-v10016-slide-h, clamp(260px, 46vw, 520px))!important;
    min-height:var(--spv-v10016-slide-h, clamp(260px, 46vw, 520px))!important;
    max-height:var(--spv-v10016-slide-h, clamp(260px, 46vw, 520px))!important;
  }
}

/* =========================================================
 * SPVIET V10.0.26 - Shop mobile/tablet product card home-style CTA layout
 * Scope: /shop/menu product cards on phone/tablet only.
 * Goal: match home sale card flow: image -> title -> price -> full-width order button.
 * No checkout/payment/order/POS/Gateway changes.
 * ========================================================= */
@media (max-width:1024px){
  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-body,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-body,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-body,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-body{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
    min-height:0!important;
    height:auto!important;
    padding:12px!important;
  }

  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-body > p,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-body > p,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-body > p,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-body > p{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-body h3,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-body h3,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-body h3,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-body h3{
    flex:0 0 auto!important;
    min-height:2.44em!important;
    margin:0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-bottom,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-bottom,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-bottom,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-bottom{
    position:static!important;
    flex:0 0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-top:8px!important;
    border-top:1px dashed rgba(139,7,20,.12)!important;
    transform:none!important;
  }

  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-price,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-price,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-price,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-price{
    order:1!important;
    position:static!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    line-height:1.1!important;
    white-space:normal!important;
    overflow:visible!important;
    text-align:left!important;
    transform:none!important;
  }

  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-price del,
  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-price ins,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-price del,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-price ins,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-price del,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-price ins,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-price del,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-price ins{
    display:inline-block!important;
    vertical-align:baseline!important;
    white-space:nowrap!important;
  }

  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-actions,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-actions,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-actions,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-card-actions{
    order:2!important;
    position:static!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-order-btn,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-order-btn,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-order-btn,
  html.spviet-device-tablet body .spviet-wc-menu-card .spviet-wc-order-btn{
    position:static!important;
    z-index:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 10px!important;
    transform:none!important;
    white-space:nowrap!important;
  }
}

@media (max-width:420px){
  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-body,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-body,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-body{padding:10px!important;gap:8px!important;}
  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-card-price,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-card-price,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-card-price{font-size:clamp(18px,5vw,22px)!important;}
  body .spviet-wc-menu-pro .spviet-wc-menu-card .spviet-wc-order-btn,
  html.spviet-device-phone body .spviet-wc-menu-card .spviet-wc-order-btn,
  html.spviet-pre-phone body .spviet-wc-menu-card .spviet-wc-order-btn{min-height:40px!important;font-size:13px!important;}
}

/* =========================================================
 * SPVIET V10.0.29 - Slide ratio closeout after V10.0.16/V10.0.28 responsive overrides
 * Force cover-fit actual 1200x360 frame artwork so PC/Tablet/Mobile frames do not show the old blurred top/bottom bands.
 * ========================================================= */
.spviet-full-slide img.spviet-responsive-slide-img-v10016,
.spviet-slide img.spviet-responsive-slide-img-v10016,
.spviet-home-slider img.spviet-responsive-slide-img-v10016,
.spviet-menu-intro-slide img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-full-slide img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-slide img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-home-slider img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-menu-intro-slide img.spviet-responsive-slide-img-v10016{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#fff7e8!important;
  transform:none!important;
  clip-path:none!important;
}
@media (min-width:768px) and (max-width:1024px){
  html:not(.spviet-device-desktop) .spviet-full-slider,
  html:not(.spviet-device-desktop) .spviet-slider,
  html:not(.spviet-device-desktop) .spviet-home-slider,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slider{
    height:clamp(280px,34vw,360px)!important;
    min-height:280px!important;
    max-height:360px!important;
  }
}
@media (max-width:767px){
  html:not(.spviet-device-desktop) .spviet-full-slider,
  html:not(.spviet-device-desktop) .spviet-slider,
  html:not(.spviet-device-desktop) .spviet-home-slider,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slider{
    height:clamp(220px,58vw,300px)!important;
    min-height:220px!important;
    max-height:300px!important;
  }
}

/* =========================================================
 * SPVIET V10.0.30 - Final slide frame override after responsive-system.
 * The slide art is the real 1200x360 display frame; never use contain/letterbox/blur-band behavior here.
 * ========================================================= */
.spviet-full-slide img.spviet-responsive-slide-img-v10016,
.spviet-slide img.spviet-responsive-slide-img-v10016,
.spviet-home-slider img.spviet-responsive-slide-img-v10016,
.spviet-menu-intro-slide img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-full-slide img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-slide img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-home-slider img.spviet-responsive-slide-img-v10016,
html:not(.spviet-device-desktop) .spviet-menu-intro-slide img.spviet-responsive-slide-img-v10016{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#fff7e8!important;
  transform:none!important;
  clip-path:none!important;
}
@media (min-width:1025px){
  .spviet-full-slider-section{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;}
  .spviet-full-slider{height:360px!important;max-width:1200px!important;border-radius:28px!important;overflow:hidden!important;}
  .spviet-full-slider-track{height:360px!important;min-height:360px!important;max-height:360px!important;}
  .spviet-menu-intro-slider{height:360px!important;min-height:360px!important;max-height:360px!important;max-width:1200px!important;}
}
@media (min-width:768px) and (max-width:1024px){
  html:not(.spviet-device-desktop) .spviet-full-slider-section{max-width:calc(100vw - 32px)!important;}
  html:not(.spviet-device-desktop) .spviet-full-slider,
  html:not(.spviet-device-desktop) .spviet-slider,
  html:not(.spviet-device-desktop) .spviet-home-slider,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slider{height:clamp(260px,34vw,340px)!important;min-height:260px!important;max-height:340px!important;}
}
@media (max-width:767px){
  html:not(.spviet-device-desktop) .spviet-full-slider-section{max-width:calc(100vw - 20px)!important;}
  html:not(.spviet-device-desktop) .spviet-full-slider,
  html:not(.spviet-device-desktop) .spviet-slider,
  html:not(.spviet-device-desktop) .spviet-home-slider,
  html:not(.spviet-device-desktop) .spviet-menu-intro-slider{height:clamp(210px,56vw,280px)!important;min-height:210px!important;max-height:280px!important;}
}

/* SPVIET V10.0.31 - final responsive override for exact 1200x360 slide artwork */
html .spviet-full-slider,
html .spviet-menu-intro-slider{
  aspect-ratio:10/3!important;
  min-height:0!important;
  max-height:none!important;
}
html .spviet-full-slider-track,
html .spviet-full-slide,
html .spviet-menu-intro-track,
html .spviet-menu-intro-slide{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}
html .spviet-full-slide img,
html .spviet-menu-intro-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#fff7e8!important;
}
@media (min-width:1025px){
  html .spviet-full-slider,
  html .spviet-menu-intro-slider{height:360px!important;min-height:360px!important;max-height:360px!important;}
}
@media (max-width:1024px){
  html .spviet-full-slider,
  html .spviet-menu-intro-slider{height:auto!important;min-height:0!important;max-height:none!important;}
}


/* =========================================================
 * SPVIET V10.0.32 - True responsive hero slides
 * PC: 1200x360, Tablet: 1200x500, Mobile: 720x420. No repeated fallback/no legacy slide4.
 * ========================================================= */
.spviet-full-slider-section,.spviet-menu-intro-shell{width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;overflow:hidden!important;background:#fff7e8!important;}
.spviet-full-slider,.spviet-menu-intro-slider{width:100%!important;max-width:1200px!important;overflow:hidden!important;background:#fff7e8!important;}
.spviet-full-slider-track,.spviet-full-slide,.spviet-menu-intro-track,.spviet-menu-intro-slide,.spviet-slide-picture-v10032{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:hidden!important;display:block!important;background:#fff7e8!important;}
.spviet-full-slide img.spviet-responsive-slide-img-v10032,.spviet-menu-intro-slide img.spviet-responsive-slide-img-v10032,.spviet-full-slide img.spviet-responsive-slide-img-v10016,.spviet-menu-intro-slide img.spviet-responsive-slide-img-v10016{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;background:#fff7e8!important;transform:none!important;clip-path:none!important;}
@media (min-width:1025px){html .spviet-full-slider,html .spviet-menu-intro-slider{aspect-ratio:10/3!important;height:360px!important;min-height:360px!important;max-height:360px!important;border-radius:28px!important;}}
@media (min-width:768px) and (max-width:1024px){html .spviet-full-slider-section{max-width:calc(100vw - 32px)!important;}html .spviet-full-slider,html .spviet-menu-intro-slider{aspect-ratio:12/5!important;height:auto!important;min-height:0!important;max-height:none!important;border-radius:24px!important;}}
@media (max-width:767px){html .spviet-full-slider-section{max-width:calc(100vw - 20px)!important;}html .spviet-full-slider,html .spviet-menu-intro-slider{aspect-ratio:12/7!important;height:auto!important;min-height:0!important;max-height:none!important;border-radius:18px!important;}html .spviet-full-slide-caption{bottom:12px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;padding:12px 14px!important;border-radius:18px!important;}html .spviet-full-slide-caption strong{font-size:clamp(20px,5.4vw,30px)!important;line-height:1.12!important;}html .spviet-full-slide-caption em{font-size:clamp(12px,3.4vw,15px)!important;line-height:1.32!important;}}
