/* ---------------------------------------------------------------------------
   THE STANDARD FOOTER — one file, every page.

   Set 19 August 2026. The layout, colours and sizes are lifted from the sales
   page footer, measured from it rather than guessed: band #474747, logo 124px,
   wordmark 300px, 14px white text ranged right.

   WHY EVERY CLASS IS PREFIXED aaf-
   The first build named the logo `mark`. Bootstrap defines `.mark` with a
   cream background and padding, so the logo appeared in a white box on the
   grey band. This file is loaded onto pages carrying Bootstrap, the calculator
   stylesheet and the timetable stylesheet, so nothing here may use a name
   another stylesheet might also use. Every property is stated outright rather
   than inherited, for the same reason.

   To change the footer anywhere, change it here. Nothing else needs touching.
--------------------------------------------------------------------------- */

.aaf{
  background:#474747 !important;
  color:#FFFFFF !important;
  padding:22px 0 !important;
  margin:0 !important;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif !important;
  line-height:1.6 !important;
  text-align:left !important;
  border:0 !important;
  box-shadow:none !important;
  width:auto !important;
  max-width:none !important;
  clear:both;
}
.aaf *{box-sizing:border-box}

/* --- HARDENING -------------------------------------------------------------
   Measured, not guessed: /tfm/ styles every <a> as display:inline-block with
   padding:14px 25px, which made the footer 56px taller there than everywhere
   else and blew gaps around the "|" separators. Anything this footer inherits
   from a host page must be stated here instead.
--------------------------------------------------------------------------- */
.aaf, .aaf *{
  letter-spacing:normal !important; word-spacing:normal !important;
  text-transform:none !important; text-shadow:none !important;
  font-style:normal !important; float:none !important;
  min-height:0 !important; max-height:none !important;
}
.aaf p{
  margin:0 !important; padding:0 !important;
  font-size:14px !important; line-height:1.6 !important; font-weight:400 !important;
}
.aaf a{
  display:inline !important; padding:0 !important; margin:0 !important;
  border:0 !important; background:none !important; box-shadow:none !important;
  font-size:inherit !important; line-height:inherit !important;
  font-weight:400 !important; width:auto !important; height:auto !important;
  text-align:inherit !important;
}
.aaf-in{
  max-width:1140px; margin:0 auto !important; padding:0 15px !important;
  display:flex !important; align-items:center !important; gap:20px !important;
}
.aaf-logo{
  width:124px !important; height:auto !important; flex:0 0 auto !important;
  display:block !important; background:none !important; border:0 !important;
  padding:0 !important; margin:0 !important; box-shadow:none !important;
  max-width:124px !important;
}
.aaf-r{flex:1 1 auto !important; text-align:right !important; min-width:0}
.aaf-word{
  width:300px !important; max-width:100% !important; height:auto !important;
  display:block !important; margin:0 0 4px auto !important;
  background:none !important; border:0 !important; padding:0 !important;
  box-shadow:none !important;
}
.aaf-r p{
  margin:0 !important; padding:0 !important;
  font-size:14px !important; line-height:1.6 !important;
  color:#FFFFFF !important; font-weight:400 !important; text-align:right !important;
}
.aaf-r a{
  color:rgba(255,255,255,.95) !important; text-decoration:underline !important;
  background:none !important;
}
.aaf-r a:hover{color:#FFFFFF !important}
.aaf-legal{
  color:rgba(255,255,255,.8) !important; font-size:13px !important;
  margin-top:5px !important;
}

@media (max-width:640px){
  .aaf-in{flex-direction:column !important; gap:14px !important}
  .aaf-r{text-align:center !important}
  .aaf-r p{text-align:center !important}
  .aaf-word{margin:0 auto 4px !important; width:240px !important}
  .aaf-logo{width:96px !important; max-width:96px !important}
}
