/* ShopTV drawer and layout recovery hotfix — 2026-10-29 */
:root { --stv-hotfix-drawer-width: min(340px, calc(100vw - 24px)); }
html body .stv-drawer-backdrop {
  position: fixed !important; inset: 0 !important; z-index: 5000 !important;
  display: block !important; padding: 0 !important; margin: 0 !important;
  visibility: hidden !important; opacity: 0 !important; pointer-events: none !important;
  background: rgba(6, 20, 42, .48) !important;
  transition: opacity .18s ease, visibility .18s ease !important;
  isolation: isolate;
}
html body .stv-drawer-backdrop.is-open {
  visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
}
html body .stv-platform-drawer {
  position: absolute !important; top: 0 !important; bottom: 0 !important;
  inset-inline-start: 0 !important; inset-inline-end: auto !important;
  width: var(--stv-hotfix-drawer-width) !important; max-width: var(--stv-hotfix-drawer-width) !important;
  height: 100dvh !important; max-height: 100dvh !important; min-height: 0 !important;
  box-sizing: border-box !important; display: flex !important; flex-direction: column !important;
  flex: none !important; align-self: auto !important; overflow: hidden !important;
  border: 0 !important; border-radius: 0 20px 20px 0 !important;
  padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
  background: #fff !important; box-shadow: 16px 0 55px rgba(5, 24, 49, .2) !important;
  transform: translateX(-105%) !important; transition: transform .22s ease !important;
  pointer-events: auto !important;
}
html[dir="rtl"] body .stv-platform-drawer {
  inset-inline-start: auto !important; inset-inline-end: 0 !important;
  border-radius: 20px 0 0 20px !important;
  box-shadow: -16px 0 55px rgba(5, 24, 49, .2) !important;
  transform: translateX(105%) !important;
}
html body .stv-drawer-backdrop.is-open .stv-platform-drawer {
  transform: translateX(0) !important;
}
html body .stv-drawer-header { flex: 0 0 auto !important; min-width: 0; }
html body .stv-drawer-nav {
  flex: 1 1 auto !important; min-height: 0 !important; max-height: none !important;
  overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain;
}
html body .stv-drawer-auth-footer {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important; flex: 0 0 auto !important; min-width: 0;
  padding: 12px 0 !important; border-top: 1px solid #eaf0f8 !important;
  background: #fff !important;
}
html body .stv-drawer-auth-footer > a {
  display: flex !important; align-items: center !important; justify-content: center !important;
  min-width: 0 !important; min-height: 43px !important; padding: 9px 8px !important;
  border: 1px solid #d4e5f8 !important; border-radius: 12px !important;
  text-align: center !important; white-space: normal; font-size: 12px !important; font-weight: 850 !important;
}
html body .stv-drawer-auth-footer .stv-drawer-auth-login { background: #fff !important; color: #075fc8 !important; }
html body .stv-drawer-auth-footer .stv-drawer-auth-register { background: linear-gradient(135deg,#087cff,#075dc8) !important; border-color: #087cff !important; color: #fff !important; }
html body .stv-drawer-auth-footer form { grid-column: 1 / -1 !important; margin: 0 !important; }
html body .stv-drawer-auth-logout { width: 100% !important; min-height: 43px !important; border-radius: 12px !important; }
html body .stv-drawer-footer { flex: 0 0 auto !important; margin-top: 0 !important; padding: 10px 2px 0 !important; }
html body .stv-drawer-close { position: relative !important; z-index: 3 !important; flex: 0 0 42px !important; pointer-events: auto !important; touch-action: manipulation; }
html body.platform-drawer-open { overflow: hidden !important; touch-action: none !important; }
@media (max-width: 420px) {
  html body .stv-platform-drawer { width: calc(100vw - 34px) !important; max-width: calc(100vw - 34px) !important; }
}
/* Product sticky CTA never overlaps the order fields or role navigation. */
@media (max-width: 760px) {
  html body .product-v32-sticky-bar { bottom: calc(var(--neo-safe-bottom) + 88px) !important; }
  html body .neo-product-page.is-order-visible .product-v32-sticky-bar { display: none !important; }
}
