/* Homepage section rhythm. Only section boundaries, not card typography.
   Opt-in on body prevents effects on gallery/detail pages.
   This file follows all legacy stylesheets. */
body.gfl-section-rhythm {
  --gfl-transition-space: 32px;
}

body.gfl-section-rhythm > section:is(#featured, #next-reveal, #library-gallery, #chess, #sculptures, #process, #print-archive, #memberships, #merchant) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--gfl-transition-space) !important;
  padding-bottom: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

body.gfl-section-rhythm > section:is(#featured, #next-reveal, #library-gallery, #chess, #sculptures, #process, #print-archive, #memberships, #merchant) > .container {
  display: flow-root !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.gfl-section-rhythm > section:is(#featured, #next-reveal, #library-gallery, #chess, #sculptures, #process, #print-archive, #memberships, #merchant) > .container > :last-child {
  margin-bottom: 0 !important;
}

body.gfl-section-rhythm > section:is(#featured, #next-reveal, #library-gallery, #chess, #sculptures, #process, #print-archive, #memberships, #merchant) > .container > .gfl-v579-divider {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr) !important;
  align-items: center !important;
  width: min(210px, 60%) !important;
  height: 12px !important;
  min-height: 12px !important;
  padding: 0 !important;
  margin: 0 auto var(--gfl-transition-space) !important;
  gap: 10px !important;
}

body.gfl-section-rhythm > section[id] > .container > .gfl-v579-divider > span {
  min-width: 0 !important;
  max-width: none !important;
  width: 100% !important;
  height: 1px !important;
}
body.gfl-section-rhythm > section[id] > .container > .gfl-v579-divider > i {
  min-width: 0 !important;
  font-size: 8px !important;
  line-height: 12px !important;
}

@media (max-width: 700px) {
  body.gfl-section-rhythm { --gfl-transition-space: 24px; }
}
