/* =========================================================
 * 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;
  }
}
