/* Stili di templates/components/footer.html */
/* Sticky footer: main fills leftover viewport height, footer pinned via margin-top:auto */
html, body{ height: 100%; }
body{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body > main{
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.dapca-footer{
  background: #eef0f3;
  color: var(--bs-gray-700);
  position: relative;
  margin-top: auto;
  flex-shrink: 0;
}

/* Angoli superiori — via pseudo-elementi, come da tua versione */
.dapca-footer::before, .dapca-footer::after{
  content: "";
  position: absolute;
  top: .05rem;
  width: 14px; height: 14px;
}
.dapca-footer::before{
  left: .7rem;
  border-top: 2px solid var(--bs-primary);
  border-left: 2px solid var(--bs-primary);
}
.dapca-footer::after{
  right: .7rem;
  border-top: 2px solid var(--bs-primary);
  border-right: 2px solid var(--bs-primary);
}

  .footer-brand{
    font-size: var(--fs-lg);
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--bs-body-color);
  }
  .footer-tagline{
    font-size: var(--fs-sm);
    color: var(--bs-secondary-color);
    max-width: 30rem;
    line-height: 1.55;
  }

  /* Stesso linguaggio del .fascicolo-header già usato nella pagina About */
  .footer-heading{
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600;
    color: var(--bs-secondary-color);
    margin-bottom: .85rem;
  }

  .footer-links li{ margin-bottom: .4rem; font-size: var(--fs-sm); }
  .footer-links a{ color: var(--bs-gray-700); }
  .footer-links a:hover{ color: var(--bs-primary); }

  .footer-publisher-logo-box{
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    display: inline-block;
    padding: .6rem 1.1rem;
    border-radius: .375rem;
    margin-bottom: .85rem;
  }
  .footer-publisher-logo{
    height: 30px;
    width: auto;
    display: block;
  }

  .footer-address{
    font-style: normal;
    font-size: var(--fs-sm);
    color: var(--bs-secondary-color);
    line-height: 1.6;
  }
  .footer-isbn{
    font-size: var(--fs-xs);
    color: var(--bs-secondary-color);
    margin-top: .6rem;
    padding-top: .6rem;
    border-top: 1px dashed var(--bs-border-color);
    display: inline-block;
  }

  .footer-license, .footer-copy{
    font-size: var(--fs-xs);
    color: var(--bs-secondary-color);
  }

  .footer-bottom{
    border-top: 1px solid var(--bs-border-color);
    margin-top: 2.5rem;
    padding-top: 1rem;
    font-size: var(--fs-xs);
    color: var(--bs-gray-500);
  }
