/* Sectioned Footer: inherits the template's colors and background. */
.sf-root {
  width: 100%;
  max-width: var(--sf-max);
  margin-inline: auto;
  padding: var(--sf-py) var(--sf-px);
  box-sizing: border-box;
  background: transparent;
  border: 0;
  color: inherit;
}
.sf-root.sf-fluid { max-width: none; }
.sf-root, .sf-root * { box-sizing: border-box; }
.sf-root .sf-grid {
  display: grid;
  grid-template-columns: repeat(var(--sf-desktop), minmax(0, 1fr));
  gap: var(--sf-gap);
  align-items: start;
}
.sf-root .sf-column { min-width: 0; overflow-wrap: anywhere; background: transparent; border: 0; }
.sf-root .sf-top { margin-bottom: var(--sf-gap); }
.sf-root .sf-bottom { margin-top: var(--sf-gap); min-width: 0; overflow-wrap: anywhere; }
.sf-root .sf-bottom-divider { border-top: 1px solid rgba(160, 170, 190, .3); padding-top: 18px; }
.sf-root .sf-top > :last-child, .sf-root .sf-column > :last-child, .sf-root .sf-bottom > :last-child { margin-bottom: 0; }
@media (max-width: 991px) {
  .sf-root .sf-grid { grid-template-columns: repeat(var(--sf-tablet), minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .sf-root .sf-grid { grid-template-columns: repeat(var(--sf-mobile), minmax(0, 1fr)); }
}

/* Optional horizontal separator below the header. */
.sf-root .sf-top-divider {
  border-bottom: 1px solid rgba(160, 170, 190, .3);
  padding-bottom: 18px;
}

/* Middle-column separators use real borders rather than pseudo-elements. */
.sf-root .sf-grid.sf-column-dividers > .sf-column {
  border-left: 1px solid rgba(160, 170, 190, .35);
  padding-left: calc(var(--sf-gap) / 2);
}

/* Device-specific visibility, applied to header, columns and bottom independently. */
@media (min-width: 992px) {
  .sf-root .sf-hide-desktop { display: none !important; }
}
@media (min-width: 601px) and (max-width: 991px) {
  .sf-root .sf-hide-tablet { display: none !important; }
}
@media (max-width: 600px) {
  .sf-root .sf-hide-mobile { display: none !important; }
}

/* Default typography, scoped to this module. Explicit editor font sizes remain intact. */
.sf-root { font-size: 14px; }
.sf-root :is(p, li):not([style*="font-size"]):not([style*="font-size"]) { font-size: 14px; }
/* Strong enough to override template link rules, except editor-sized links. */
.sf-root a:not([style*="font-size"]) { font-size: 14px !important; }
/* Editor-sized text inside a link should continue to control its own size. */
