/* Outing guides only: photos always left, practical detail always right. */
/* A real chronological list, not a wide calendar grid that collapses on phones. */
.hwf-activity-guide .field-article-content > .indoor-agenda { list-style: none; padding: 0; margin-block: 1.5rem 2.5rem; }
.hwf-activity-guide .indoor-agenda > li { display: grid; grid-template-columns: 10rem minmax(0,1fr); gap: 1.5rem; margin: 0; padding: 1.25rem 0; border-top: 1px solid var(--reading-line); }
.hwf-activity-guide .indoor-agenda > li:last-child { border-bottom: 1px solid var(--reading-line); }
.hwf-activity-guide .indoor-agenda time { font: 650 .95rem/1.6 system-ui,sans-serif; color: var(--teal-dark); }
.hwf-activity-guide .indoor-agenda time span { display: block; font-weight: 400; color: var(--body); }
.hwf-activity-guide .indoor-agenda h3 { margin: 0 0 .5rem; padding: 0; border: 0; font-size: 1.15rem; line-height: 1.5; }
.hwf-activity-guide .indoor-agenda p { margin: 0; font: 1rem/1.7 system-ui,sans-serif; }
.hwf-activity-guide .indoor-agenda :is(div,h3,a,p) { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .hwf-activity-guide .indoor-agenda > li { grid-template-columns: minmax(0,1fr); gap: .5rem; padding: 1.15rem 0; }
  .hwf-activity-guide .indoor-agenda time span { display: inline; margin-left: .5rem; }
}
.hwf-activity-guide .field-article-layout { max-width: 1120px; }
.hwf-activity-guide .field-article-content { min-width: 0; }
.hwf-activity-guide .field-article-content > :not(.activity-entry) { max-width: 780px; margin-inline: auto; }
.hwf-activity-guide .field-article-content > h2[id] { max-width: none; }
.hwf-activity-guide .activity-scope { max-width: 60ch; color: var(--teal-dark); font: 600 .875rem/1.6 system-ui,sans-serif; margin: .75rem 0; }
.hwf-activity-guide .activity-entry { padding-block: 2rem; border-top: 1px solid var(--reading-line); }
.hwf-activity-guide .activity-entry > :is(h2,h3) { margin: 0 0 1.35rem; padding: 0; border: 0; scroll-margin-top: 1.5rem; font-size: clamp(1.4rem,2.4vw,1.9rem); line-height: 1.3; }
.activity-main { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.3rem; align-items: start; }
.activity-visual,.activity-details,.activity-more { min-width: 0; }
.hwf-activity-guide .activity-visual > figure { margin: 0; max-width: none; width: 100%; }
.hwf-activity-guide .activity-visual img { display: block; width: 100%; height: auto; max-height: 480px; object-fit: contain; border-radius: 10px; }
.hwf-activity-guide .activity-visual figcaption { padding-top: .6rem; font: .85rem/1.6 system-ui,sans-serif; overflow-wrap: anywhere; }
.hwf-activity-guide .activity-visual figcaption :is(.local-photo-credit,.halloween-photo-credit) { font-size: .82rem; line-height: 1.6; }
.hwf-activity-guide .activity-details > :first-child { margin-top: 0; }
.hwf-activity-guide .activity-details p,.hwf-activity-guide .activity-more p { font: 1rem/1.75 system-ui,sans-serif; }
.hwf-activity-guide .activity-details .outing-glance { margin: 0 0 1rem; }
.hwf-activity-guide .activity-details :is(.outing-glance,.route-glance) > div { display: grid; grid-template-columns: minmax(5rem,.32fr) minmax(0,1fr); gap: .75rem; }
.hwf-activity-guide .activity-details :is(dt,dd) { font: .95rem/1.6 system-ui,sans-serif; margin: 0; overflow-wrap: anywhere; }
.hwf-activity-guide .activity-details dt { font-weight: 650; }
.hwf-activity-guide .activity-details .route-glance { display: block; margin: 0 0 1rem; border: 0; border-radius: 0; padding: 0; }
.hwf-activity-guide .activity-details .route-glance > div { padding: .45rem 0; border-bottom: 1px solid var(--reading-line); }
.activity-before { margin-top: 1.1rem; padding: .85rem 1rem; border-left: 3px solid var(--teal-dark); background: var(--reading-surface); border-radius: 0 7px 7px 0; }
.hwf-activity-guide .activity-before .activity-before-label { margin: 0 0 .4rem; font: 700 .9rem/1.5 system-ui,sans-serif; color: var(--ink); }
.hwf-activity-guide .activity-before p { margin: .45rem 0; font-size: .95rem; line-height: 1.7; }
.hwf-activity-guide .activity-before .activity-check { font-size: .8rem; line-height: 1.6; margin: .65rem 0 0; color: var(--body); }
.activity-more { max-width: 780px; margin: 1.3rem auto 0; }
.hwf-activity-guide .activity-more > :first-child { margin-top: 0; }
.hwf-activity-guide .no-activity-photo .activity-main { max-width: 780px; margin-inline: auto; }
.hwf-activity-guide .outing-preview { padding-bottom: 2rem; }
.hwf-activity-guide .outing-preview ol { gap: .6rem; }
.hwf-activity-guide .outing-preview li { min-width: 0; }
.hwf-activity-guide .outing-preview a { box-sizing: border-box; padding: .85rem 1rem; }
.hwf-activity-guide .outing-preview .outing-facts { margin-top: .45rem; }
.hwf-activity-guide .outing-preview .outing-facts > div { grid-template-columns: 4.8rem minmax(0,1fr); gap: .5rem; }
.hwf-activity-guide .outing-preview a > span { display: block; }
.activity-comparison { border-block: 1px solid var(--reading-line); padding-block: .25rem; }
.activity-comparison > summary { min-height: 44px; padding-block: .65rem; cursor: pointer; color: var(--ink); font: 650 1rem/1.5 system-ui,sans-serif; }
.hwf-activity-guide .activity-comparison > summary > span { display: inline; margin-left: .65rem; font: .85rem/1.5 system-ui,sans-serif; color: var(--body); }
.activity-comparison > summary:focus-visible { outline: 3px solid var(--teal-dark); outline-offset: 3px; }
.activity-comparison[open] > ol { margin-block: .6rem; }
.activity-next-read .next-reading-context { max-width: 65ch; margin: 0 0 .7rem; font: 1rem/1.7 system-ui,sans-serif; }
.activity-next-read.article-cta .article-topic-back { display: block; width: fit-content; margin-top: .75rem; font: .9rem/1.5 system-ui,sans-serif; min-height: 44px; align-content: center; }
.activity-next-read.article-cta .quiet-contact { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--reading-line); }
@media (min-width: 1100px) {
  .hwf-activity-guide .has-activity-photo .activity-main { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 2.5rem; }
}
@media (max-width: 760px) {
  .hwf-activity-guide .activity-entry { padding-block: 1.65rem; }
  .hwf-activity-guide .activity-entry > :is(h2,h3) { margin-bottom: 1rem; font-size: 1.4rem; }
  .hwf-activity-guide .activity-main { gap: 1rem; }
  .hwf-activity-guide .activity-visual img { max-height: 380px; }
  .hwf-activity-guide .activity-details :is(.outing-glance,.route-glance) > div { grid-template-columns: 5rem minmax(0,1fr); gap: .6rem; }
  .hwf-activity-guide .activity-details .route-glance > div + div { margin: 0; }
  .hwf-activity-guide .outing-preview ol { grid-template-columns: 1fr; }
  .hwf-activity-guide .outing-preview .outing-facts { font-size: .85rem; }
  .hwf-activity-guide .outing-preview .outing-facts > div { grid-template-columns: 4.3rem minmax(0,1fr); }
  .hwf-activity-guide .activity-comparison > summary > span { display: block; margin: .2rem 0 0 1.1rem; }
  .hwf-activity-guide .activity-before { padding: .8rem .9rem; }
  .hwf-activity-guide .activity-more { margin-top: 1rem; }
  .hwf-activity-guide .activity-visual figcaption a { display: inline; }
}
@media print {
  .hwf-activity-guide .activity-main { display: block; }
  .activity-visual { max-width: 420px; }
  .activity-before { break-inside: avoid; }
}
