/* Shared site footer - byte-identical on blackwateroutdoorjourneys.com and
   campingwildernessskills.com, the same way the header is. Only the identity
   line and the first link column differ between the two brands; everything
   structural and every measurement lives here so the two can never drift
   apart again.

   Colours come from each site's own palette variables, which are already
   identical on both, with hard fallbacks so the footer still renders if a
   page is served without them. */
footer{
  padding:34px 0 30px;
  margin-top:30px;
  color:var(--muted,#A08C68);
  font-size:13px;
  line-height:1.8;
  border-top:1px solid var(--line,#33261a);
}
footer .wrap{
  max-width:1000px; margin:0 auto; padding:0 22px;
  display:flex; gap:26px; flex-wrap:wrap; align-items:flex-start;
}
footer .col{line-height:1.8}
footer .col b{
  color:var(--cream,#F3E8D2); display:block;
  margin-bottom:6px; font-size:13px;
}
footer .col a{display:block}
footer a{color:var(--tan,#CBB68C); text-decoration:none}
footer a:hover{color:var(--ember2,#E8894A)}
footer .flegal{
  width:100%; border-top:1px solid var(--line,#241a12);
  padding-top:14px; margin-top:4px;
  color:var(--muted,#A08C68); font-size:12px;
}
@media(max-width:660px){
  footer .wrap{gap:18px}
  footer .col[style]{margin-left:0 !important}
}

/* Film lists on the river guides. The river pages carry the rankings and had no
   link to the 44 film write-ups on the same water; this is that link. */
.filmlist{list-style:none;margin:14px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 22px}
.filmlist li{margin:0;padding:7px 0;border-top:1px solid var(--line,#4A3826)}
.filmlist a{color:var(--sand,#F3E8D2);text-decoration:none;font-size:15px;line-height:1.4}
.filmlist a:hover{color:var(--ember,#D2622A);text-decoration:underline}

/* App store badges. Both badge images are hosted here rather than hotlinked,
   because both stores' brand guidelines require it and a hotlink breaks the day
   they move the file. */
/* gap is the required clear space. The Play badge shipped with 33% transparent
   padding baked in, which made it render visually smaller than Apple's at the
   same CSS height; it is cropped, so the clear space now comes from here. */
.store-badges{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:18px 0 0}
.store-badge{display:inline-block;position:relative;line-height:0}
.store-badge img{height:56px;width:auto;display:block}
.store-badge--soon img{opacity:.45;filter:grayscale(1)}
.store-badge--soon{cursor:default}
/* The ribbon sits OVER the badge rather than altering the badge art, which both
   stores forbid. When Apple approves: make the span an <a>, drop --soon, and
   delete the ribbon. */
.store-badge__ribbon{position:absolute;left:50%;bottom:-9px;
  transform:translateX(-50%);
  background:var(--ember,#D2622A);color:#fff;
  font:600 10px/1 system-ui,sans-serif;letter-spacing:.09em;
  text-transform:uppercase;white-space:nowrap;
  padding:4px 9px;border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.store-badges{margin-bottom:26px}
@media(max-width:480px){.store-badge img{height:48px}}

.store-badges--center{justify-content:center;margin-top:26px}

/* The always-present app bar at the top of every footer. Sits above the footer
   columns and reads as a band, not a fifth column, so it does not fight the
   four-column layout at any width. */
.sh-appbar{padding:22px 0 4px;border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:22px}
.sh-appbar__line{margin:0 0 14px;font-size:15px;line-height:1.5;opacity:.85;max-width:52ch}
.sh-appbar .store-badges{margin:0}
.sh-appbar .store-badge img{height:44px}
@media(max-width:480px){.sh-appbar .store-badge img{height:40px}}
