/* Angola National Parks & Wildlife — shared section design */
:root{--ink:#102033;--muted:#586779;--brand:#0f766e;--brand-dark:#0b4f4a;--soft:#f3faf8;--line:#dce7e5;--white:#fff;--shadow:0 12px 10px rgba(15,23,42,.07);--radius:18px;--max:1250px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.68;background:#fff}a{color:inherit}.container{width:min(calc(100% - 20px),var(--max));margin-inline:auto}.reading-width{max-width:1250px}.site-header{position:sticky;top:0;z-index:50;width:100%;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(15,23,42,.04)}.header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;text-decoration:none}.site-logo{display:block;width:auto;height:42px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:.95rem}.brand-copy small{margin-top:2px;color:#64748b;font-size:.72rem}.nav{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-left:auto;flex-wrap:nowrap}.nav a{display:inline-flex;align-items:center;min-height:40px;padding:7px 8px;border-radius:7px;color:#475569;font-size:.84rem;font-weight:700;text-decoration:none;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{color:var(--brand);background:#eefaf7}.nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.breadcrumbs{padding:12px 0;color:#64748b;font-size:.9rem}.breadcrumbs ol{display:flex;gap:7px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumbs li+li:before{content:"›";margin-right:7px;color:#94a3b8}.breadcrumbs a{text-decoration:none}.park-hero{position:relative;overflow:hidden;background:#0b160d}.park-hero-image{display:block;width:100%;height:auto;max-width:none;object-fit:contain}.park-hero-overlay{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,20,17,.92) 0%,rgba(4,20,17,.78) 42%,rgba(4,20,17,.38) 70%,rgba(4,20,17,.08) 100%)}.park-hero-copy{width:min(100%,1240px);color:#fff}.park-hero-copy h1{max-width:51ch;margin:.15rem 0 14px;color:#fff;font-size:clamp(1.95rem,2vw,2rem);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}.park-hero-copy p{max-width:100ch;margin:0 0 12px;color:#f1f5f9;font-size:.98rem;line-height:1.56}.park-hero-copy .hero-lead{font-size:1.04rem}.eyebrow{display:inline-flex;padding:2px 3px;border-radius:999px;background:#e9fbf7;color:var(--brand-dark);font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.park-hero .eyebrow{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:14px;padding:10px 16px;border-radius:999px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800}.button--light{background:#fff;color:var(--ink)}.facts-strip{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(15,23,42,.045)}.facts-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.facts-row>div{padding:19px 17px;border-right:1px solid var(--line)}.facts-row>div:first-child{border-left:1px solid var(--line)}.facts-row dt{margin:0 0 4px;color:#64748b;font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.facts-row dd{margin:0;font-weight:800;line-height:1.35}.section{padding:22px 0}.section-soft{background:var(--soft);border-block:1px solid var(--line)}.section-head{max-width:1250px;margin-bottom:14px}.section-head h2,.reading-width h2{margin:.20rem 0 .40rem;line-height:1.16}.section-head p,.card p,.panel p{color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.card,.panel{height:100%;padding:23px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.card h3,.panel h3{margin-top:0}.check-list,.route-list,.source-list{padding-left:20px}.check-list li+li,.route-list li+li,.source-list li+li{margin-top:8px}.comparison{width:100%;border-collapse:collapse}.comparison th,.comparison td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.comparison th{background:#eaf8f5}.table-wrap{overflow-x:auto}.park-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.park-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.park-card h3{margin:.45rem 0 .65rem}.park-card a{color:var(--brand-dark);text-decoration:none}.park-tag{display:inline-flex;padding:6px 9px;border-radius:999px;background:#e9fbf7;color:var(--brand-dark);font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.mini-links{display:flex;flex-wrap:wrap;gap:9px}.mini-links a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:750}.faq{display:grid;gap:11px}.faq details{padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#fff}.faq summary{font-weight:850;cursor:pointer}.source-note{padding:18px;border-left:4px solid var(--brand);background:#f7fbfa}.site-footer{margin-top:0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1050px){.brand-copy small{display:none}.nav{gap:2px}.nav a{font-size:.8rem;padding-inline:6px}.facts-row{grid-template-columns:repeat(5,minmax(155px,1fr));overflow-x:auto}.park-hero-copy{width:min(100%,1250px)}}
@media(max-width:900px){.brand-copy{display:none}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 12px 24px rgba(15,23,42,.08)}.nav.open{display:grid}.nav a{width:100%;padding:10px 12px;font-size:.9rem}}
@media(max-width:760px){.container{width:calc(100% - 28px)}.park-hero-overlay{position:relative;inset:auto;padding:28px 0 32px;background:#102f2a}.park-hero-copy{width:100%}.park-hero-copy h1{max-width:none;font-size:clamp(1.85rem,2vw,2rem)}.park-hero-copy p,.park-hero-copy .hero-lead{font-size:.98rem}.actions{flex-direction:column}.actions .button{width:100%;text-align:center}.facts-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.facts-row>div{flex:0 0 205px;scroll-snap-align:start}.grid-2,.grid-3,.park-directory{grid-template-columns:1fr}.section{padding:28px 0}}
/* two-layer country footer 2026-08 */
.footer-layer{padding:28px 0;border-top:1px solid rgba(255,255,255,.14)}.footer-layer__head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:16px}.footer-local-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 18px;list-style:none;padding:0;margin:0}.footer-language{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.footer-language select{min-width:220px;padding:10px 12px;border-radius:10px}.footer-noscript{padding:20px 0;background:#0d2827;color:#d8eeee}.footer-noscript a{color:#d8eeee}@media(max-width:960px){.footer-local-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.footer-layer__head{display:block}.footer-local-grid{grid-template-columns:1fr}.footer-language select{width:100%}}
/* =========================================================
   AfricaTourVisa — Angola Two-Layer Footer
   ========================================================= */

.site-footer{
  margin-top:56px;
  background:#0d2827;
  color:#d8eeee;
}

.footer-main{
  width:100%;
}

/* Layer 1 */

.footer-angola{
  display:grid;
  grid-template-columns:1.35fr repeat(3,minmax(0,1fr));
  gap:34px;
  padding-top:48px;
  padding-bottom:44px;
}

.footer-intro{
  max-width:360px;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
  color:#fff;
  text-decoration:none;
}

.footer-brand img{
  display:block;
  width:52px;
  height:52px;
  object-fit:contain;
}

.footer-brand span{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}

.footer-brand strong{
  color:#fff;
  font-size:1.05rem;
  font-weight:850;
}

.footer-brand small{
  margin-top:4px;
  color:#a9c7c4;
  font-size:.76rem;
}

.footer-intro p{
  margin:0 0 14px;
  color:#b9d2cf;
  font-size:.9rem;
  line-height:1.65;
}

.footer-intro .footer-disclosure{
  color:#91b3af;
  font-size:.79rem;
}

.footer-column h2{
  margin:0 0 16px;
  color:#fff;
  font-size:.95rem;
  font-weight:850;
}

.footer-column ul{
  margin:0;
  padding:0;
  list-style:none;
}

.footer-column li + li{
  margin-top:8px;
}

.footer-column a{
  color:#c9dfdc;
  font-size:.86rem;
  line-height:1.4;
  text-decoration:none;
}

.footer-column a:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* =========================================================
   Layer 2 — 54 African Countries
   ========================================================= */

.footer-countries{
  padding:34px 0 38px;
  background:#102f2d;
  border-top:1px solid rgba(255,255,255,.10);
}

.footer-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:22px;
}

.footer-section-heading h2{
  margin:0;
  color:#fff;
  font-size:1.08rem;
}

.footer-section-heading p{
  max-width:580px;
  margin:0;
  color:#9ebdb9;
  font-size:.84rem;
}

.country-footer-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px 18px;
  margin:0;
  padding:0;
  list-style:none;
}

.country-footer-grid a{
  display:block;
  padding:5px 0;
  color:#bfd7d4;
  font-size:.81rem;
  line-height:1.35;
  text-decoration:none;
}

.country-footer-grid a:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.country-footer-grid a[aria-current="location"]{
  color:#fff;
  font-weight:800;
}


/* =========================================================
   Legal Bar
   ========================================================= */

.footer-legal{
  border-top:1px solid rgba(255,255,255,.11);
  background:#091f1e;
}

.footer-legal-inner{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:16px;
  padding-bottom:16px;
}

.footer-legal p{
  margin:0;
  color:#8fadaa;
  font-size:.78rem;
}

.footer-legal-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:15px;
  flex-wrap:wrap;
}

.footer-legal-links a{
  color:#a9c7c4;
  font-size:.77rem;
  text-decoration:none;
}

.footer-legal-links a:hover{
  color:#fff;
}


/* =========================================================
   Footer Responsive Layout
   ========================================================= */

@media (max-width:1100px){

  .footer-angola{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-intro{
    max-width:none;
  }

  .country-footer-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (max-width:760px){

  .site-footer{
    margin-top:42px;
  }

  .footer-angola{
    grid-template-columns:1fr;
    gap:30px;
    padding-top:38px;
    padding-bottom:36px;
  }

  .footer-section-heading{
    display:block;
  }

  .footer-section-heading p{
    margin-top:8px;
  }

  .country-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px 20px;
  }

  .footer-legal-inner{
    display:block;
  }

  .footer-legal-links{
    justify-content:flex-start;
    margin-top:12px;
  }
}

@media (max-width:420px){

  .country-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:4px 14px;
  }
}