/* Editorial refinements: scoped to public content, no media or tracker behavior changes. */

/* Map callout: side-by-side within sufficiently wide map containers. */
body.home #ab-unified-map-shell { container-type:inline-size; container-name:ab-map; }
@container ab-map (min-width:680px) {
  body.home #ab-unified-detail:not(.ab-callout-image-only) {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    width:min(780px,calc(100% - 32px));
    max-width:calc(100% - 32px);
    height:auto;
    max-height:calc(100% - 32px);
    padding:0;
    align-items:stretch;
  }
  body.home #ab-unified-detail:not(.ab-callout-image-only) .ab-callout-gallery {
    grid-column:1;grid-row:1;order:0;
    width:100%;height:auto;min-height:280px;aspect-ratio:auto;
    align-self:stretch;
  }
  body.home #ab-unified-detail:not(.ab-callout-image-only) .ab-callout-copy {
    grid-column:2;grid-row:1;order:0;
    min-width:0;min-height:0;
    padding:58px 24px 24px;
    border:0;border-left:1px solid #495047;
    overflow:auto;
    overflow-wrap:anywhere;
  }
  body.home #ab-unified-detail:not(.ab-callout-image-only) h3 {
    font-size:24px;line-height:1.2;margin:0 0 12px;
  }
  body.home #ab-unified-detail:not(.ab-callout-image-only) .ab-callout-description {
    font-size:16px;line-height:1.55;margin:0;
  }
  body.home #ab-unified-detail:not(.ab-callout-image-only) .ab-callout-tag {
    font-size:11px;line-height:1.4;white-space:normal;margin-bottom:10px;
  }
}

body:not(.page-id-339) .ab-page-copy {
  padding:clamp(32px,5vw,72px) clamp(20px,4vw,40px);
  font-size:clamp(1rem,1.1vw,1.125rem);
  line-height:1.75;
  overflow-wrap:break-word;
}
body:not(.page-id-339) .ab-page-copy :is(h2,h3,h4) {
  line-height:1.2;
  text-wrap:balance;
  margin-block:1.75em .65em;
}
body:not(.page-id-339) .ab-page-copy :is(p,ul,ol) { margin-block:0 1.2em; }
body:not(.page-id-339) .ab-page-copy li + li { margin-top:.4em; }
body:not(.page-id-339) .ab-page-copy a { text-underline-offset:.2em; text-decoration-thickness:1px; }
body:not(.page-id-339) .topic-navigation {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-block:24px 32px;
}
body:not(.page-id-339) .topic-navigation a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  box-sizing:border-box;
  line-height:1.3;
  text-decoration:none;
}
body:not(.page-id-339) .topic-navigation a[aria-current="page"] {
  background:#151b16;
  color:#f4f1ea;
  border-color:#151b16;
  box-shadow:inset 0 -3px #e65549;
}
body .ab-archive-feed__head > p { max-width:60ch; line-height:1.65; }
body.home #films .abfc-card { display:flex; flex-direction:column; min-width:0; }
body.home #films .abfc-copy {
  display:flex;
  flex-direction:column;
  flex:1;
  gap:14px;
  padding:clamp(18px,2vw,28px);
}
body.home #films .abfc-copy .abfc-label { margin:0; line-height:1.5; letter-spacing:.12em; }
body.home #films .abfc-copy h3 {
  margin:0;
  font-size:clamp(1.2rem,1.65vw,1.6rem);
  line-height:1.25;
  letter-spacing:.005em;
  text-wrap:pretty;
  overflow-wrap:break-word;
}
body.home #films .abfc-card-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 16px;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #41483f;
}
body.home #films .abfc-card-actions :is(a,button) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  box-sizing:border-box;
  line-height:1.35;
}
body.home #films .abfc-navigation button { min-width:44px; min-height:44px; }
body.home .ab-location-journal .ab-location-story h2 { text-wrap:balance; line-height:1.2; }
body.home .ab-location-journal .ab-location-story p:not(.ab-location-meta) { line-height:1.7; }
body:not(.page-id-339) :is(.ab-page-copy,.topic-navigation,.abfc,.ab-location-journal) :is(a,button):focus-visible {
  outline:3px solid #f1a66c;
  outline-offset:4px;
  box-shadow:0 0 0 2px #171d18;
}
@media (max-width:600px) {
  body.home #films .abfc-copy h3 { font-size:1.25rem; }
  body.home #films .abfc-card-actions { align-items:stretch; }
  body.home #films .abfc-card-actions :is(a,button) { padding:10px 12px; }
  body:not(.page-id-339) .topic-navigation { gap:8px; }
  body:not(.page-id-339) .topic-navigation a { font-size:.9rem; padding:10px 12px; }
}
