/* =========================================================
   SHARED LAYOUT — PUBLIC PAGES
   Public-facing page shell and container layout
========================================================= */

/* Public profile page — bypass Astra constraints */
body.gf-public-profile-page .ast-container {
  max-width: none !important;
  padding: 0 !important;
}

body.gf-public-profile-page .site-content {
  padding: 0;
}

/* PUBLIC PAGE — ensure vertical flow */
.gf-public-page,
.gf-public-container {
  display: block;
}

.gf-footer {
  clear: both;
  width: 100%;
}

.gf-public-hero-col {
  grid-column: 1 / -1;
}

.gf-public-wishlist-col {
  grid-column: 1 / -1;
}

.gf-public-container {
  max-width: none;
  width: 100%;
  padding: 16px 24px 0;
}

/* Tablet: 768px–1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  .gf-public-container {
    padding: 24px 24px 0;
  }
}

/* Desktop: 1024px+ */
@media (min-width: 1024px) {
  .gf-public-container {
    padding: 32px 24px 0;
  }
}

/* Mobile: reduce padding for better card width */
@media (max-width: 767px) {
  .gf-public-container {
    padding: 16px 12px 0;
  }
}

.gf-public-layout {
  max-width: 1400px;
  margin: 0 auto;
}

/* PUBLIC PAGES — Astra container bypass */
.gf-public-page,
.gf-public-profile {
  width: 100%;
}

/* Kill Astra clamp on public pages */
.gf-public-page .ast-container,
.gf-public-profile .ast-container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ASTRA FLEX FIX — NO SIDEBAR PAGES */
.ast-no-sidebar .site-content .ast-container {
  display: block;
}
