/* ==========================================================================
   AMGB shared page primitives
   --------------------------------------------------------------------------
   Imported by every per-page CSS file AFTER tokens.css.
   These selectors are page-agnostic (they do not target a particular .amgb-X
   scope), so all 10 Phase 1 pages can use the same container, section, and
   typography classes without redefining them per page.
   ========================================================================== */

/* --- Container --- */
.amgb-page__container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: var(--amgb-space-5);
  padding-right: var(--amgb-space-5);
}
.amgb-page__container--narrow { max-width: 760px; }
.amgb-page__container--wide   { max-width: 1320px; }

/* --- Section --- */
.amgb-page__section {
  padding-top: var(--amgb-space-10);
  padding-bottom: var(--amgb-space-10);
}
@media (min-width: 1024px) {
  .amgb-page__section {
    padding-top: var(--amgb-space-12);
    padding-bottom: var(--amgb-space-12);
  }
}
.amgb-page__section--linen { background: var(--amgb-linen); }
.amgb-page__section--ink   { background: #1A1410; color: var(--amgb-white); }
.amgb-page__section--gold  {
  background: linear-gradient(135deg, var(--amgb-gold) 0%, var(--amgb-gold-deep) 100%);
  color: var(--amgb-white);
}

.amgb-page__section-head {
  text-align: center;
  margin: 0 auto var(--amgb-space-8);
  max-width: 60ch;
}
@media (min-width: 1024px) {
  .amgb-page__section-head { margin-bottom: var(--amgb-space-10); }
}
.amgb-page__section-head--left { text-align: left; margin-left: 0; }

/* --- Type --- */
.amgb-page__eyebrow {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--amgb-gold-deep);
  margin: 0 0 var(--amgb-space-3);
}
.amgb-page__eyebrow--on-dark { color: rgba(255,255,255,0.85); }

.amgb-page__h1 {
  font-family: 'Roboto Slab', Georgia, serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--amgb-text);
  margin: 0 0 var(--amgb-space-4);
}

.amgb-page__h2 {
  font-family: 'Roboto Slab', Georgia, serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: var(--amgb-text);
  margin: 0 0 var(--amgb-space-3);
}
.amgb-page__h2--on-dark { color: var(--amgb-white); }

.amgb-page__h3 {
  font-family: 'Roboto Slab', Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.25;
  margin: 0 0 var(--amgb-space-3);
  color: var(--amgb-text);
}

.amgb-page__lede {
  font-family: 'Roboto', sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--amgb-text);
  margin: 0 0 var(--amgb-space-5);
  max-width: 58ch;
}
.amgb-page__lede--on-dark { color: rgba(255,255,255,0.88); }

.amgb-page__section-lede {
  font-family: 'Roboto', sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--amgb-text-muted);
  margin: 0 auto;
  max-width: 58ch;
}
.amgb-page__section-lede--on-dark { color: rgba(255,255,255,0.78); }

@media (min-width: 640px) {
  .amgb-page__h1 { font-size: 38px; }
  .amgb-page__h2 { font-size: 30px; }
  .amgb-page__h3 { font-size: 22px; }
  .amgb-page__lede,
  .amgb-page__section-lede { font-size: 18px; }
}
@media (min-width: 1024px) {
  .amgb-page__h1 { font-size: 48px; line-height: 1.08; }
  .amgb-page__h2 { font-size: 36px; line-height: 1.15; }
  .amgb-page__h3 { font-size: 22px; }
}
@media (min-width: 1280px) {
  .amgb-page__h1 { font-size: 52px; }
}

/* --- CTA row helpers --- */
.amgb-page__cta-row {
  display: flex;
  flex-direction: column;
  gap: var(--amgb-space-3);
  margin: var(--amgb-space-5) 0;
}
@media (min-width: 414px) {
  .amgb-page__cta-row { flex-direction: row; flex-wrap: wrap; }
}
.amgb-page__cta-call { flex: 1 1 auto; min-width: 0; }
.amgb-page__cta-number { white-space: nowrap; font-variant-numeric: tabular-nums; }

.amgb-page__btn-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.amgb-btn-on-gold {
  background: var(--amgb-white);
  color: var(--amgb-gold-deep);
  border-color: var(--amgb-white);
}
.amgb-btn-on-gold:hover {
  background: rgba(255,255,255,0.9);
  color: var(--amgb-gold-deep);
}

.amgb-btn-on-dark {
  color: var(--amgb-white);
  border-color: var(--amgb-gold);
}
.amgb-btn-on-dark:hover {
  background: var(--amgb-gold);
  color: var(--amgb-text);
}

/* --- Hero photo block (used by most pages) --- */
.amgb-page__hero-photo {
  margin: 0;
  position: relative;
  border-radius: var(--amgb-radius-xl);
  overflow: hidden;
  box-shadow: var(--amgb-shadow-lg);
  background: var(--amgb-border);
  aspect-ratio: 16 / 11;
}
.amgb-page__hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.amgb-page__hero-caption {
  position: absolute;
  left: var(--amgb-space-4);
  bottom: var(--amgb-space-4);
  background: rgba(255,255,255,0.94);
  color: var(--amgb-text);
  padding: 8px 14px;
  border-radius: var(--amgb-radius-full);
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: var(--amgb-space-2);
  box-shadow: var(--amgb-shadow-sm);
}
.amgb-page__hero-caption svg {
  width: 16px; height: 16px;
  stroke: var(--amgb-gold-deep);
  stroke-width: 2; fill: none;
  stroke-linecap: round; stroke-linejoin: round;
}

/* --- Hero shimmer accent strip --- */
.amgb-page__shimmer {
  display: block;
  height: 4px;
  width: 96px;
  border-radius: var(--amgb-radius-full);
  margin: 0 0 var(--amgb-space-5);
}

/* --- Tertiary link row --- */
.amgb-page__link-row {
  margin: var(--amgb-space-8) 0 0;
  text-align: center;
}
.amgb-page__link-row svg {
  width: 16px; height: 16px;
  stroke: currentColor;
  stroke-width: 2; fill: none;
  stroke-linecap: round; stroke-linejoin: round;
  vertical-align: -2px;
  margin-left: 4px;
}

/* --- Inline meta strip (icon + text rows) --- */
.amgb-page__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--amgb-space-2);
  font-size: 15px;
  color: var(--amgb-text-muted);
}
.amgb-page__meta li {
  display: flex;
  align-items: center;
  gap: var(--amgb-space-2);
}
.amgb-page__meta svg {
  width: 18px; height: 18px;
  flex-shrink: 0;
  stroke: var(--amgb-gold-deep);
  stroke-width: 2; fill: none;
  stroke-linecap: round; stroke-linejoin: round;
}

/* --- Icon defs container --- */
.amgb-page__icon-defs {
  position: absolute;
  width: 0; height: 0;
  overflow: hidden;
}

/* --- Reduced motion belt-and-braces --- */
@media (prefers-reduced-motion: reduce) {
  .amgb-page__section, .amgb-page__hero-photo { transition: none !important; }
}
