/*
 * BasketHunt storefront safety fixes - v8.10.42
 * Keeps non-layout bug fixes after removing the site-wide ultra-wide compact
 * override. This file intentionally avoids width, density, and typography
 * changes except the iOS input zoom safeguard.
 */

/*
 * iPhone / iPad Safari input zoom prevention - v8.10.39
 * Safari zooms form controls below 16px on focus. Keep interactive text
 * controls at 16px on touch Apple browsers only.
 */
@supports (-webkit-touch-callout: none){
  @media (hover:none) and (pointer:coarse){
    body:not(.is-partner-portal) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]),
    body:not(.is-partner-portal) select,
    body:not(.is-partner-portal) textarea{
      font-size:16px !important;
    }

    body:not(.is-partner-portal) .header-search input,
    body:not(.is-partner-portal) .sort-select,
    body:not(.is-partner-portal) .qty-input,
    body:not(.is-partner-portal) .form-input,
    body:not(.is-partner-portal) .form-select,
    body:not(.is-partner-portal) .form-textarea,
    body:not(.is-partner-portal) .finp,
    body:not(.is-partner-portal) .fsel,
    body:not(.is-partner-portal) .ftxt,
    body:not(.is-partner-portal) .addr-finp,
    body:not(.is-partner-portal) .addr-fsel,
    body:not(.is-partner-portal) .footer-newsletter input,
    body:not(.is-partner-portal) .shop-category-search-box input{
      font-size:16px !important;
    }
  }
}

/*
 * Strict fixed header guard for storefront + partner portal - v8.10.36.
 * Uses JS-measured height and safe-area support so iOS browser chrome does
 * not break the sticky experience.
 */
html{
  scroll-padding-top: calc(var(--shop-fixed-header-height, 84px) + var(--shop-fixed-header-offset-top, 0px) + env(safe-area-inset-top, 0px) + 10px);
}

body{
  padding-top: calc(var(--shop-fixed-header-height, 84px) + var(--shop-fixed-header-offset-top, 0px));
}

.site-header{
  position: fixed !important;
  top: var(--shop-fixed-header-offset-top, 0px) !important;
  left: var(--shop-fixed-header-offset-left, 0px) !important;
  right: var(--shop-fixed-header-offset-right, 0px) !important;
  width: 100% !important;
  z-index: 4000 !important;
  overflow: visible !important;
  padding-top: env(safe-area-inset-top, 0px) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  transform: translate3d(0,0,0) !important;
  -webkit-transform: translate3d(0,0,0) !important;
  will-change: transform;
  contain: none !important;
  isolation: isolate;
}

.site-header .container,
.header-main{
  overflow: visible !important;
}

.shop-sidebar,
.order-summary-card,
.cs-card,
.sc-card,
.acc-sidebar{
  top: calc(var(--shop-fixed-header-height, 84px) + var(--shop-fixed-header-offset-top, 0px) + 14px) !important;
}

@media (max-width: 640px){
  html{
    scroll-padding-top: calc(var(--shop-fixed-header-height, 118px) + var(--shop-fixed-header-offset-top, 0px) + env(safe-area-inset-top, 0px) + 10px);
  }

  body{
    padding-top: calc(var(--shop-fixed-header-height, 118px) + var(--shop-fixed-header-offset-top, 0px));
  }
}
