/* Global mobile header/content spacing.
   Single source of truth for all public, user and admin pages. */
@media (max-width:760px){
  :root{
    --gt-mobile-header-h:64px;
    --gt-mobile-header-gap:12px;
    --header-h:64px;
  }

  html body .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:var(--gt-mobile-header-h)!important;
    z-index:1000!important;
  }

  html body .site-header .header-inner{
    height:var(--gt-mobile-header-h)!important;
    min-height:var(--gt-mobile-header-h)!important;
  }

  /* Every page starts below the fixed header with a small consistent gap. */
  html body main,
  html body.home-dark main,
  html body.page-dark main,
  html body.dashboard-body main,
  html body.account-page main,
  html body.deposit-page main,
  html body.payment-page main,
  html body.invoice-page main,
  html body.transactions-page main,
  html body.admin-page main,
  html body.contact-page main,
  html body.legal-page main,
  html body.product-detail-page main{
    padding-top:calc(var(--gt-mobile-header-h) + var(--gt-mobile-header-gap))!important;
    margin-top:0!important;
  }

  /* Remove duplicate top spacing inside the first content block. */
  html body.home-dark .home-banner,
  html body.contact-page .contact-head,
  html body.legal-page .legal-head,
  html body.admin-page .admin-head,
  html body.transactions-page .transactions-head{
    padding-top:0!important;
    margin-top:0!important;
  }

  html body.deposit-page .deposit-grid,
  html body.payment-page .payment-layout{
    padding-top:0!important;
    margin-top:0!important;
  }

  /* Prevent older JS/CSS from collapsing the page back under the header. */
  html body main[style]{
    padding-top:calc(var(--gt-mobile-header-h) + var(--gt-mobile-header-gap))!important;
  }

  /* Product hero: keep equal inner spacing so product image is centered top/bottom. */
  html body.product-detail-page .product-detail-hero,
  html body.page-dark.product-detail-page .product-detail-hero{
    align-items:center!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
    margin-top:0!important;
    background-position:center,top 14px right 12px!important;
  }

  html body.product-detail-page .product-detail-hero .detail-cover{
    align-self:center!important;
    justify-self:stretch!important;
    margin-top:auto!important;
    margin-bottom:auto!important;
    background-position:center center!important;
  }
}

@media (max-width:390px){
  html body.product-detail-page .product-detail-hero{
    padding-top:13px!important;
    padding-bottom:13px!important;
    background-position:center,top 13px right 10px!important;
  }
}
