/* =====================================================================
   Literasi Hukum Indonesia — Editorial Footer v3
   Compact footer for homepage, article pages, channels, and news host.
   Scope: footer markup only. Does not override site.css globally.
   ===================================================================== */
.footer-section.lhi-footer-v3{
  --lhi-footer-primary: var(--primary-color, #b91c1c);
  --lhi-footer-primary-rgb: var(--primary-color-rgb, 185,28,28);
  --lhi-footer-ink: #111827;
  --lhi-footer-muted: #667085;
  --lhi-footer-soft: #f8fafc;
  --lhi-footer-line: rgba(17,24,39,.10);
  --lhi-footer-line-soft: rgba(17,24,39,.065);
  --lhi-footer-shadow: 0 18px 48px -40px rgba(15,23,42,.65);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  margin-top: clamp(2rem, 4vw, 4rem);
  padding:0 !important;
  background:
    radial-gradient(720px 260px at 14% 0%, rgba(var(--lhi-footer-primary-rgb),.08), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%) !important;
  border-top:1px solid rgba(17,24,39,.08) !important;
  color:var(--lhi-footer-ink);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__rule{
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, var(--lhi-footer-primary), #ef4444 52%, #f59e0b 100%);
  z-index:2;
}
.footer-section.lhi-footer-v3::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(15,23,42,.028) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15,23,42,.018) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.30), transparent 62%);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__container{
  max-width: var(--lhi-public-shell-max, 1180px);
  padding-top: clamp(1.25rem, 2.6vw, 2rem);
  padding-bottom: clamp(1.1rem, 2.4vw, 1.65rem);
  position:relative;
}
.footer-section.lhi-footer-v3 a{
  color:inherit;
  text-decoration:none;
}
.footer-section.lhi-footer-v3 a:focus-visible{
  outline:3px solid rgba(var(--lhi-footer-primary-rgb), .22);
  outline-offset:3px;
  border-radius:10px;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  margin-bottom: clamp(1.25rem, 2.5vw, 1.8rem);
  padding: clamp(.95rem, 1.9vw, 1.25rem) clamp(1rem, 2.5vw, 1.55rem);
  border:1px solid rgba(var(--lhi-footer-primary-rgb),.14);
  border-radius:18px;
  background:
    linear-gradient(135deg, rgba(var(--lhi-footer-primary-rgb),.075), rgba(255,255,255,.80) 54%),
    rgba(255,255,255,.92);
  box-shadow:0 18px 42px -36px rgba(15,23,42,.55);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-bottom:.28rem;
  color:var(--lhi-footer-primary);
  font-size:.72rem;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:850;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__eyebrow::before{
  content:"";
  width:.45rem;
  height:.45rem;
  border-radius:999px;
  background:var(--lhi-footer-primary);
  box-shadow:0 0 0 5px rgba(var(--lhi-footer-primary-rgb),.12);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__strip-title{
  margin:0;
  max-width: 56ch;
  color:#111827;
  font-size:clamp(1.05rem, 1.35vw, 1.28rem);
  line-height:1.28;
  letter-spacing:-.025em;
  font-weight:850;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__strip-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:.55rem .9rem;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.86rem;
  line-height:1.1;
  font-weight:800;
  white-space:nowrap;
  transition:transform .14s ease, color .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__button:hover{
  transform:translateY(-1px);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__button--primary{
  background:var(--lhi-footer-primary);
  border-color:var(--lhi-footer-primary);
  color:#fff;
  box-shadow:0 14px 26px -20px rgba(var(--lhi-footer-primary-rgb),.95);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__button--primary:hover{
  background:#991b1b;
  border-color:#991b1b;
  color:#fff;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__button--ghost{
  background:#fff;
  border-color:rgba(17,24,39,.12);
  color:#111827;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__button--ghost:hover{
  border-color:rgba(var(--lhi-footer-primary-rgb),.26);
  color:var(--lhi-footer-primary);
  box-shadow:0 14px 30px -25px rgba(15,23,42,.55);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__main{
  display:grid;
  grid-template-columns:minmax(260px, 320px) minmax(0, 1fr);
  gap:clamp(1.25rem, 3vw, 2.35rem);
  align-items:start;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__brand-panel{
  position:relative;
  padding:0 1.25rem 0 1rem;
  border-left:3px solid var(--lhi-footer-primary);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__brand-link{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  margin-bottom:.82rem;
}
.footer-section.lhi-footer-v3 .footer-logo,
.footer-section.lhi-footer-v3 .lhi-footer-v3__logo{
  display:block;
  height:36px;
  width:auto;
  max-width:min(250px, 72vw);
  object-fit:contain;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__about{
  margin:0;
  color:#475569;
  font-size:.95rem;
  line-height:1.65;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.85rem;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.38rem .6rem;
  border-radius:999px;
  border:1px solid rgba(var(--lhi-footer-primary-rgb),.14);
  background:rgba(var(--lhi-footer-primary-rgb),.045);
  color:#7f1d1d;
  font-size:.78rem;
  line-height:1;
  font-weight:800;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__chip:hover{
  border-color:rgba(var(--lhi-footer-primary-rgb),.26);
  background:rgba(var(--lhi-footer-primary-rgb),.08);
  color:var(--lhi-footer-primary);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__contact{
  display:grid;
  gap:.44rem;
  margin-top:.9rem;
  padding-top:.9rem;
  border-top:1px solid var(--lhi-footer-line-soft);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__contact-link{
  display:flex;
  align-items:center;
  gap:.52rem;
  width:max-content;
  max-width:100%;
  color:#475569;
  font-size:.86rem;
  line-height:1.35;
  font-weight:750;
  overflow-wrap:anywhere;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__contact-link:hover{
  color:var(--lhi-footer-primary);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__contact-icon{
  display:inline-flex;
  flex:0 0 auto;
  color:var(--lhi-footer-primary);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__address{
  max-width:30ch;
  color:#667085;
  font-size:.84rem;
  line-height:1.55;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__nav{
  display:grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap:clamp(.85rem, 2vw, 1.25rem);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__nav-group{
  min-width:0;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__nav-title{
  position:relative;
  margin:0 0 .68rem;
  padding-bottom:.5rem;
  color:#111827;
  font-size:.88rem;
  line-height:1.2;
  letter-spacing:-.015em;
  font-weight:850;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__nav-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:1.65rem;
  height:2px;
  border-radius:999px;
  background:var(--lhi-footer-primary);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__nav-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.32rem;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__nav-link{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  color:#667085;
  font-size:.85rem;
  line-height:1.36;
  font-weight:650;
  transition:color .14s ease, transform .14s ease;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__nav-link:hover{
  color:var(--lhi-footer-primary);
  transform:translateX(2px);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:clamp(1.3rem, 2.8vw, 1.9rem);
  padding-top:1rem;
  border-top:1px solid var(--lhi-footer-line);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__bottom-copy{
  min-width:0;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__copyright{
  color:#475569;
  font-size:.88rem;
  line-height:1.45;
  font-weight:800;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__disclaimer{
  margin-top:.24rem;
  max-width:68ch;
  color:#667085;
  font-size:.80rem;
  line-height:1.5;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__bottom-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  flex-wrap:wrap;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__mini-link{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.38rem .58rem;
  border-radius:999px;
  color:#667085;
  font-size:.80rem;
  line-height:1;
  font-weight:800;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__mini-link:hover{
  background:rgba(var(--lhi-footer-primary-rgb),.06);
  color:var(--lhi-footer-primary);
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__social{
  display:flex;
  align-items:center;
  gap:.36rem;
  margin-left:.18rem;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.10);
  background:#fff;
  color:#475569;
  transition:transform .14s ease, color .14s ease, background .14s ease, border-color .14s ease;
}
.footer-section.lhi-footer-v3 .lhi-footer-v3__social-link:hover{
  transform:translateY(-1px);
  border-color:rgba(var(--lhi-footer-primary-rgb),.26);
  background:rgba(var(--lhi-footer-primary-rgb),.06);
  color:var(--lhi-footer-primary);
}
@media (max-width: 1199.98px){
  .footer-section.lhi-footer-v3 .lhi-footer-v3__main{
    grid-template-columns:1fr;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__brand-panel{
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(240px, .9fr);
    gap:1rem 1.25rem;
    padding:1rem;
    border:1px solid var(--lhi-footer-line-soft);
    border-left:3px solid var(--lhi-footer-primary);
    border-radius:16px;
    background:rgba(255,255,255,.64);
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__brand-link,
  .footer-section.lhi-footer-v3 .lhi-footer-v3__about,
  .footer-section.lhi-footer-v3 .lhi-footer-v3__chips{
    grid-column:1;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__contact{
    grid-column:2;
    grid-row:1 / span 3;
    margin-top:0;
    padding-top:0;
    border-top:0;
    border-left:1px solid var(--lhi-footer-line-soft);
    padding-left:1rem;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__nav{
    grid-template-columns: repeat(5, minmax(120px, 1fr));
  }
}
@media (max-width: 991.98px){
  .footer-section.lhi-footer-v3 .lhi-footer-v3__strip{
    grid-template-columns:1fr;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__strip-actions{
    justify-content:flex-start;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__nav{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__bottom{
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__bottom-actions{
    justify-content:flex-start;
  }
}
@media (max-width: 767.98px){
  .footer-section.lhi-footer-v3{
    margin-top:2rem;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__brand-panel{
    display:block;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__contact{
    margin-top:.9rem;
    padding-top:.9rem;
    border-top:1px solid var(--lhi-footer-line-soft);
    border-left:0;
    padding-left:0;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__nav{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:1rem 1.15rem;
  }
}
@media (max-width: 575.98px){
  .footer-section.lhi-footer-v3 .lhi-footer-v3__strip-actions,
  .footer-section.lhi-footer-v3 .lhi-footer-v3__button{
    width:100%;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__nav{
    grid-template-columns:1fr;
  }
  .footer-section.lhi-footer-v3 .lhi-footer-v3__bottom-actions{
    width:100%;
  }
}
html[data-theme="dark"] .footer-section.lhi-footer-v3{
  background:
    radial-gradient(720px 260px at 14% 0%, rgba(var(--lhi-footer-primary-rgb),.16), transparent 65%),
    linear-gradient(180deg, #111827 0%, #0f172a 100%) !important;
  border-top-color:rgba(255,255,255,.10) !important;
  color:#e5e7eb;
}
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__strip,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__brand-panel{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__strip-title,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__nav-title{
  color:#f8fafc;
}
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__about,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__contact-link,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__address,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__nav-link,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__copyright,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__disclaimer,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__mini-link{
  color:#cbd5e1;
}
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__button--ghost,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__social-link{
  background:rgba(255,255,255,.08);
  color:#f8fafc;
  border-color:rgba(255,255,255,.14);
}
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__contact,
html[data-theme="dark"] .footer-section.lhi-footer-v3 .lhi-footer-v3__bottom{
  border-color:rgba(255,255,255,.12);
}
