
/* BALOKA V25: original complete banner, tighter mobile navigation and catalog.
 * Visual changes only. All API modules, menu data, cashier, and HPP remain untouched.
 */
:root {
  --baloka25-navy: #12314f;
  --baloka25-gold: #ca9149;
}
html { scroll-behavior: smooth; }
@media (max-width: 720px) {
  html { scroll-padding-top: 72px !important; }
  html body header.top {
    background: var(--baloka25-navy) !important;
    border-bottom: 1px solid #37526d !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 70 !important;
    box-shadow: 0 3px 10px rgba(11,39,66,.13) !important;
  }
  html body header.top .wrap.nav,
  html body header.top .nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    background: var(--baloka25-navy) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 65px !important;
    min-height: 65px !important;
    max-height: 65px !important;
    padding: 8px 14px !important;
    margin: 0 auto !important;
    gap: 12px !important;
  }
  html body header.top .nav .brand {
    display: block !important;
    flex: 0 0 auto !important;
    position: relative !important;
    font-family: Outfit, 'DM Sans', sans-serif !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -1.3px !important;
    text-align: left !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    white-space: nowrap !important;
    opacity: 1 !important;
  }
  html body header.top .nav .brand small {
    display: block !important;
    font-size: 8px !important;
    line-height: 1.2 !important;
    letter-spacing: 1.0px !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    color: #f5d4a0 !important;
    white-space: nowrap !important;
  }
  html body header.top .nav .links {
    display: flex !important;
    flex: 0 1 auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(7px, 2.6vw, 14px) !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  html body header.top .nav .links a,
  html body header.top .nav .links a:visited {
    display: inline-block !important;
    position: static !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: clamp(10px, 2.9vw, 12px) !important;
    line-height: 1.3 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
    text-shadow: none !important;
    text-decoration: none !important;
    padding: 7px 0 !important;
    margin: 0 !important;
  }
  html body header.top .nav .links a:focus-visible {
    outline: 2px solid #edbc72 !important;
    outline-offset: 3px !important;
    border-radius: 3px;
  }
  html body header.top .nav > a.btn,
  html body header.top .nav > button,
  html body header.top .nav .hamburger,
  html body header.top .nav .menu-toggle,
  html body header.top .nav .burger {
    display: none !important;
  }

  /* Preserve the entire approved photo/banner, exactly like V23. */
  html body main .hero {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    background: #fff9f0 !important;
  }
  html body main .hero .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 1681px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: #fff9f0 !important;
  }
  html body main .hero .bl-v8-hero {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
  }
  html body main .hero .bl-v8-hero > img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1681 / 936 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff9f0 !important;
  }
  html body main .hero .bl-v8-hero .bl-v8-mobile,
  html body main .hero .bl24-mobile {
    display: none !important;
  }
  html body main .hero .bl-v8-hotspot {
    display: block !important;
  }
  /* Product list begins immediately after the approved banner. */
  html body main section#menu.section {
    margin-top: 0 !important;
    padding-top: 24px !important;
    scroll-margin-top: 70px !important;
  }
  html body main #menu .wrap { padding-inline: 15px !important; }
  html body main #menu .eyebrow { margin-bottom: 5px !important; }
  html body main #menu h2 {
    font-size: clamp(28px, 7.7vw, 39px) !important;
    line-height: 1.13 !important;
    letter-spacing: -.9px !important;
    margin-top: 7px !important;
    margin-bottom: 12px !important;
  }
  html body main #menu .sub {
    font-size: 13px !important;
    line-height: 1.52 !important;
    margin-top: 4px !important;
    margin-bottom: 17px !important;
  }
  html body main #menu .bl-catalog,
  html body main #menu .cards,
  html body main #menu .catalog-grid {
    margin-top: 13px !important;
    row-gap: 13px !important;
  }
  html body main #menu article {
    border-radius: 17px !important;
    overflow: hidden !important;
  }
  /* Don't cover products with the floating bundle CTA. */
  html body .stickyorder { display: none !important; }
}
@media (max-width: 365px) {
  html body header.top .wrap.nav,
  html body header.top .nav {
    padding-inline: 10px !important;
    gap: 7px !important;
  }
  html body header.top .nav .brand { font-size: 23px !important; }
  html body header.top .nav .brand small { font-size: 7px !important; }
  html body header.top .nav .links { gap: 6px !important; }
  html body header.top .nav .links a,
  html body header.top .nav .links a:visited {
    font-size: 9.5px !important;
  }
}
