/* Site-wide header and footer, injected into pages that are not built on an Acadame template.
   Everything is scoped inside .acadame-shell so it cannot leak into Elementor's own styles, and the
   page's own content between the two is left completely alone. */

.acadame-shell { --gutter:20px; --tab:0px; }
@media (min-width:721px) { .acadame-shell { --tab:60px; } }

.acadame-shell, .acadame-shell * { box-sizing:border-box; }
.acadame-shell-top { position:relative; z-index:60; }
.acadame-shell-bottom { margin-top:0; }

/* The theme usually adds its own spacing above the first element; with our header injected at the
   very top of the body that gap sits in the wrong place. */
.acadame-shell-top + * { margin-top:0 !important; }

/* Elementor pages set their own font stack on descendants. Ours has to win inside the shell only. */
.acadame-shell :where(h1,h2,h3,h4,h5,h6,p,a,span,li,button,strong,em,small,label,div) {
  font-family:Poppins, Inter, system-ui, Arial, sans-serif;
}
.acadame-shell a { text-decoration:none; }
.acadame-shell img { max-width:100%; height:auto; }

/* Some themes force full-width children; the header and footer already handle their own width. */
.acadame-shell > .hdr, .acadame-shell > .ftr { width:100%; }

/* Print: the header and footer are furniture, not content. */
@media print { .acadame-shell { display:none !important; } }
