
/* DermPrep Idea 9.44 — canonical footer spacing owner
   This file is the ONLY active owner of footer outer/inner spacing. */
:root{
  --dp944-footer-edge-y:40px;
  --dp944-footer-divider-gap:22px;
  --dp944-footer-column-gap:48px;
}

/* Both footer variants use identical top and bottom edge spacing. */
footer.dp-footer-v940,
.dp-global-footer.dp-footer-v940,
.dp-footer-v940.dp-footer-compact,
.dp-footer-v940.dp-footer-institutional{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:var(--dp944-footer-edge-y)!important;
  padding-bottom:var(--dp944-footer-edge-y)!important;
}

/* The centered shell itself owns no extra top/bottom padding. */
.dp-footer-v940 .dp940-footer-shell{
  box-sizing:border-box!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* First and last child can never add mystery exterior spacing. */
.dp-footer-v940 .dp940-footer-shell > :first-child{
  margin-top:0!important;
}
.dp-footer-v940 .dp940-footer-shell > :last-child{
  margin-bottom:0!important;
}

/* ---------- COMPACT FOOTER ---------- */
.dp-footer-compact .dp940-compact-top{
  margin:0!important;
  padding:0!important;
  gap:var(--dp944-footer-column-gap)!important;
  align-items:center!important;
}
.dp-footer-compact .dp940-brand,
.dp-footer-compact .dp940-compact-nav,
.dp-footer-compact .dp940-logo-plate{
  margin-top:0!important;
  margin-bottom:0!important;
}
.dp-footer-compact .dp940-descriptor{
  margin:14px 0 0!important;
}
.dp-footer-compact .dp940-rule{
  width:100%!important;
  margin:var(--dp944-footer-divider-gap) 0!important;
}
.dp-footer-compact .dp940-utility{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  align-items:flex-end!important;
}
.dp-footer-compact .dp940-copyright,
.dp-footer-compact .dp940-disclaimer,
.dp-footer-compact .dp940-email{
  margin-bottom:0!important;
}
.dp-footer-compact .dp940-disclaimer{
  margin-top:4px!important;
}

/* ---------- FULL INSTITUTIONAL FOOTER ---------- */
.dp-footer-institutional .dp940-institutional-grid{
  margin:0!important;
  padding:0!important;
}
.dp-footer-institutional .dp940-brand-full,
.dp-footer-institutional .dp940-group{
  margin-top:0!important;
}
.dp-footer-institutional .dp940-rule{
  width:100%!important;
  margin:var(--dp944-footer-divider-gap) 0!important;
}
.dp-footer-institutional .dp940-rule-utility{
  margin:18px 0!important;
}
.dp-footer-institutional .dp940-trust-zone{
  margin:0!important;
  padding:0!important;
}
.dp-footer-institutional .dp940-utility{
  margin:0!important;
  padding:0!important;
  align-items:center!important;
}
.dp-footer-institutional .dp940-copyright,
.dp-footer-institutional .dp940-email{
  margin-bottom:0!important;
}

/* Footer remains final visual surface. */
html,body{
  margin-bottom:0!important;
}
.dp-footer-v940{
  border-bottom:0!important;
}

/* Mobile uses the same matching top/bottom concept, slightly tighter. */
@media(max-width:767px){
  :root{
    --dp944-footer-edge-y:30px;
    --dp944-footer-divider-gap:18px;
    --dp944-footer-column-gap:22px;
  }
  .dp-footer-v940.dp-footer-compact,
  .dp-footer-v940.dp-footer-institutional{
    padding-top:var(--dp944-footer-edge-y)!important;
    padding-bottom:var(--dp944-footer-edge-y)!important;
  }
}
