/**
 * BestHost storefront — shared fixes loaded after per-brand theme.css on every shop.
 * Hides legacy mobile-menu checkbox when old cached HTML still includes it.
 */
.gs-mobile-nav-toggle,
#gs-mobile-nav-toggle {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
}

/* ===== Desktop layout polish (mirror storefronts) ===== */
@media (min-width: 1024px) {
  /* Standard split hero: copy left, product image right */
  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__row:not(.gs-hero__row--stack) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 2rem 3rem !important;
    text-align: left !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__content {
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__headline,
  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__subhead,
  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__brand {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__cta-wrap {
    justify-content: flex-start !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__media {
    justify-content: flex-end !important;
    align-items: center !important;
    align-self: center !important;
    margin: 0 !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__product {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: clamp(320px, 34vw, 480px) !important;
    margin: 0 0 0 auto !important;
    object-fit: contain !important;
    object-position: right center !important;
    transform: none !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__inner {
    padding-right: clamp(1rem, 2.5vw, 2rem) !important;
  }

  /* Internal page title bars — always left */
  body.mirror-skin .gs-page-bar__inner {
    text-align: left !important;
  }

  body.mirror-skin .gs-page-bar__title,
  body.mirror-skin .gs-page-bar__desc,
  body.mirror-skin .gs-page-bar__actions {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  /* h-store / stacked hero: desktop = headline full width, copy + image in two columns */
  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__row--stack {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    grid-template-areas:
      "heroTitle heroTitle"
      "heroCopy heroMedia" !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 1.25rem 2.5rem !important;
    text-align: left !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__row--stack > .gs-hero__headline {
    grid-area: heroTitle !important;
    text-align: left !important;
    width: 100% !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__row--stack > .gs-hero__media {
    grid-area: heroMedia !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__row--stack > .gs-hero__cols {
    grid-area: heroCopy !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    text-align: left !important;
    margin: 0 !important;
    max-width: none !important;
  }

  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__row--stack .gs-hero__subhead,
  body.mirror-skin .gs-hero.gs-hero--mirror .gs-hero__row--stack .gs-hero__cta-wrap {
    text-align: left !important;
    justify-content: flex-start !important;
  }
}
