
/* DermPrep Idea 9.48 — FINAL compact footer size + spacing canonical owner
   All compact educational footers use exactly the same dimensions and vertical rhythm. */
:root{
  --dp948-footer-edge-y:44px;
  --dp948-footer-divider-y:24px;
  --dp948-footer-shell-max:1120px;
  --dp948-footer-logo-width:172px;
}

/* -------- shared shell -------- */
footer.dp-footer-v940{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  border-bottom:0!important;
  background:#083A32!important;
}
footer.dp-footer-v940 .dp940-footer-shell{
  box-sizing:border-box!important;
  width:min(var(--dp948-footer-shell-max),calc(100% - 64px))!important;
  max-width:var(--dp948-footer-shell-max)!important;
  margin:0 auto!important;
  padding:0!important;
}
footer.dp-footer-v940 .dp940-footer-shell > :first-child{margin-top:0!important}
footer.dp-footer-v940 .dp940-footer-shell > :last-child{margin-bottom:0!important}

/* -------- compact footer: IDENTICAL on all Learn/Pimp/Resources subpages -------- */
footer.dp-footer-compact{
  min-height:0!important;
  height:auto!important;
  padding-top:var(--dp948-footer-edge-y)!important;
  padding-bottom:var(--dp948-footer-edge-y)!important;
}
footer.dp-footer-compact .dp940-compact-top{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) auto!important;
  gap:48px!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
footer.dp-footer-compact .dp940-brand{
  width:100%!important;
  max-width:520px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
footer.dp-footer-compact .dp940-logo-plate{
  display:inline-flex!important;
  margin:0!important;
  padding:7px 11px!important;
}
footer.dp-footer-compact .dp940-logo{
  width:var(--dp948-footer-logo-width)!important;
  max-width:var(--dp948-footer-logo-width)!important;
  height:auto!important;
}
footer.dp-footer-compact .dp940-descriptor{
  max-width:48ch!important;
  margin:14px 0 0!important;
  padding:0!important;
  line-height:1.55!important;
}
footer.dp-footer-compact .dp940-compact-nav{
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  padding:0!important;
}
footer.dp-footer-compact .dp940-rule{
  width:100%!important;
  height:1px!important;
  margin:var(--dp948-footer-divider-y) 0!important;
  padding:0!important;
}
footer.dp-footer-compact .dp940-utility{
  display:flex!important;
  width:100%!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:32px!important;
  margin:0!important;
  padding:0!important;
}
footer.dp-footer-compact .dp940-utility > div,
footer.dp-footer-compact .dp940-copyright,
footer.dp-footer-compact .dp940-disclaimer,
footer.dp-footer-compact .dp940-email{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
footer.dp-footer-compact .dp940-copyright{margin-top:0!important}
footer.dp-footer-compact .dp940-disclaimer{margin-top:4px!important}
footer.dp-footer-compact .dp940-email{
  margin-top:0!important;
  margin-left:auto!important;
  align-self:flex-end!important;
}

/* -------- institutional footer: same OUTER edge spacing token -------- */
footer.dp-footer-institutional{
  padding-top:var(--dp948-footer-edge-y)!important;
  padding-bottom:var(--dp948-footer-edge-y)!important;
}
footer.dp-footer-institutional .dp940-institutional-grid{margin:0!important;padding:0!important}
footer.dp-footer-institutional .dp940-rule{margin:24px 0!important}
footer.dp-footer-institutional .dp940-rule-utility{margin:18px 0!important}
footer.dp-footer-institutional .dp940-utility{margin:0!important;padding:0!important}

/* Never let page-specific styles alter footer edge spacing. */
.dp-learn-page > footer.dp-footer-compact,
.pimp-mode > footer.dp-footer-compact,
body > footer.dp-footer-compact,
main + footer.dp-footer-compact{
  padding-top:var(--dp948-footer-edge-y)!important;
  padding-bottom:var(--dp948-footer-edge-y)!important;
}

/* mobile */
@media(max-width:767px){
  :root{
    --dp948-footer-edge-y:30px;
    --dp948-footer-divider-y:18px;
  }
  footer.dp-footer-v940 .dp940-footer-shell{
    width:calc(100% - 32px)!important;
  }
  footer.dp-footer-compact .dp940-compact-top{
    grid-template-columns:1fr!important;
    gap:22px!important;
    align-items:start!important;
  }
  footer.dp-footer-compact .dp940-compact-nav{
    justify-self:start!important;
  }
  footer.dp-footer-compact .dp940-utility{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  footer.dp-footer-compact .dp940-email{
    margin-left:0!important;
    align-self:flex-start!important;
  }
}
