/* Manor Properties — site footer 2026.
   Markup lives in the "Footer New" template part (core/html block) rendered by
   the theme's footer.php. Scoped to .mpf so nothing else on the site is touched. */

/* The theme wraps the footer in .wrap, which constrains and pads. This footer
   handles its own gutters so the navy ground can run edge to edge. */
footer.alignfull:has(.mpf) > .wrap{max-width:none;width:100%;padding:0;margin:0;}
footer.alignfull:has(.mpf){background:#003b49;}

/* ============ valuation CTA sitting above the footer proper ============
   Same navy ground as .mpf so the two read as one block; the only separation
   is the rhythm of the padding and the hairline above the footer columns. */
.mpv{
  --f-navy:#003b49;
  --f-sand:#D7CDB6;
  --f-red:#BD0010;
  --f-line:rgba(215,205,182,.22);
  --f-max:var(--wp--style--global--content-size,1170px);
  background:var(--f-navy);
  color:rgba(255,255,255,.78);
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  text-align:left;
}
.mpv *{box-sizing:border-box;}
.mpv p{margin:0;}

.mpv-in{
  max-width:calc(var(--f-max) + 2 * clamp(16px,4vw,48px));
  margin-inline:auto;
  padding-inline:clamp(16px,4vw,48px);
  padding-block:clamp(56px,7vw,88px);
  display:grid;
  /* the portrait image takes the narrower column */
  grid-template-columns:1.45fr .55fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
}

.mpv-rule{display:block;width:52px;height:3px;background:var(--f-red);margin-bottom:26px;}
.mpv-h{
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-weight:700;
  font-size:clamp(24px,2.7vw,35px);
  line-height:1.12;
  letter-spacing:-.015em;
  color:#fff;
  margin:0;
}
.mpv-sub{max-width:none;margin-top:16px;}
/* one line on desktop, where the copy column is wide enough to hold it */
@media (min-width:1024px){.mpv-sub{white-space:nowrap;}.mpv-h{white-space:nowrap;}}

/* two-up steps, numbered in the same mono the homepage kickers use */
.mpv-steps{
  list-style:none;margin:clamp(26px,3vw,34px) 0 0;padding:clamp(26px,3vw,34px) 0 0;
  border-top:1px solid var(--f-line);
  /* flow DOWN the first column before starting the second, so the numbers
     read 01 / 02 top-to-bottom rather than across the row */
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;
  grid-auto-flow:column;gap:22px 28px;
}
.mpv-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;}
.mpv-num{
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;font-weight:600;letter-spacing:.1em;
  color:var(--f-sand);line-height:1.9;
  grid-row:1 / span 2;
}
.mpv-steps h3{
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-weight:600;font-size:16.5px;line-height:1.35;color:#fff;margin:0 0 4px;
}
.mpv-steps p{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.66);}

.mpv-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3.4vw,38px);}
.mpv-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 28px;
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-weight:600;font-size:15.5px;
  background:var(--f-red);color:#fff;text-decoration:none;
  border:1px solid var(--f-red);
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.mpv-btn:hover,.mpv-btn:focus-visible{background:#9c000d;border-color:#9c000d;color:#fff;}
.mpv-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);}
.mpv-btn--ghost:hover,.mpv-btn--ghost:focus-visible{background:#fff;border-color:#fff;color:var(--f-navy);}

/* red spine on the image edge, echoing the rule above the heading */
.mpv-fig{position:relative;margin:0;border-left:4px solid var(--f-red);}
.mpv-fig img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;}

@media (max-width:900px){
  .mpv-in{grid-template-columns:1fr;gap:32px;}
  .mpv-fig{order:-1;}
  /* stacked, a portrait crop would eat the screen — go letterbox instead */
  .mpv-fig img{aspect-ratio:16/9;}
  .mpv-sub{max-width:none;}
}
@media (max-width:560px){
  .mpv-steps{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none;}
  .mpv-btn{flex:1 1 100%;}
}

.mpf{
  --f-navy:#003b49;
  --f-teal:#005569;
  --f-sand:#D7CDB6;
  --f-line:rgba(215,205,182,.22);
  --f-body:rgba(255,255,255,.74);
  --f-max:var(--wp--style--global--content-size,1170px);
  background:var(--f-navy);
  color:var(--f-body);
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:15.5px;
  line-height:1.65;
  text-align:left;
}
.mpf *{box-sizing:border-box;}
.mpf a{color:var(--f-body);text-decoration:none;transition:color .18s ease;}
.mpf a:hover,.mpf a:focus-visible{color:#fff;}
.mpf ul{list-style:none;margin:0;padding:0;}
.mpf p{margin:0;}

.mpf-in{
  max-width:calc(var(--f-max) + 2 * clamp(16px,4vw,48px));
  margin-inline:auto;
  padding-inline:clamp(16px,4vw,48px);
}

/* ---- main columns: brand block is wider than the three link columns ---- */
.mpf-top{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1.15fr;
  gap:clamp(28px,4vw,56px);
  padding-block:clamp(48px,6vw,76px) clamp(32px,4vw,44px);
}

.mpf-logo{display:inline-block;}
.mpf-logo img{display:block;width:auto;height:clamp(52px,5vw,64px);max-width:100%;}

.mpf-addr{
  font-style:normal;
  display:flex;
  flex-direction:column;
  margin-top:22px;
}
.mpf-contact{display:flex;flex-direction:column;margin-top:14px;}
.mpf-contact a{font-weight:600;color:#fff;}
.mpf-contact a:hover{color:var(--f-sand);}

.mpf-social{display:flex;gap:10px;margin-top:22px;}
.mpf-social a{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--f-line);color:var(--f-sand);
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.mpf-social a:hover{background:var(--f-sand);border-color:var(--f-sand);color:var(--f-navy);}
.mpf-social svg{width:17px;height:17px;}

/* ---- column headings: same mono kicker the homepage sections use ---- */
.mpf-h{
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--f-sand);
  margin:0 0 16px;
  line-height:1.3;
}
.mpf-col li{margin-bottom:9px;}
.mpf-col li:last-child{margin-bottom:0;}
.mpf-col a{position:relative;}
.mpf-col a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;
  background:var(--f-sand);transition:width .18s ease;
}
.mpf-col a:hover::after{width:100%;}

/* ---- regulatory: a quieter block so licence detail reads as fine print ---- */
.mpf-reg li{color:#fff;font-size:14.5px;margin-bottom:7px;}
.mpf-regnote{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--f-line);
  font-size:13px;
  line-height:1.55;
  color:rgba(255,255,255,.55);
}

/* ---- accreditation logos: cap HEIGHT so mixed aspect ratios sit level ---- */
.mpf-logos{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(22px,3vw,44px);
  padding-block:clamp(24px,3vw,32px);
  border-top:1px solid var(--f-line);
}
.mpf-logos img{
  display:block;width:auto;height:auto;
  max-height:38px;max-width:140px;object-fit:contain;
  opacity:.85;transition:opacity .18s ease;
}
.mpf-logos img:hover{opacity:1;}

/* ---- bottom bar ---- */
.mpf-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px 28px;
  padding-block:20px clamp(22px,3vw,28px);
  border-top:1px solid var(--f-line);
  font-size:13.5px;
  color:rgba(255,255,255,.55);
}
.mpf-bar ul{display:flex;flex-wrap:wrap;gap:8px 22px;}
/* 4Property signature folded into the same bar */
.mpf-bar .footer-signature{margin:0;padding:0;max-width:none;width:auto;background:none;text-align:left;border:0 !important;box-shadow:none;}
.mpf-bar .footer-signature small{font-size:13.5px;color:rgba(255,255,255,.55);}
.mpf-bar .footer-signature a{color:rgba(255,255,255,.55);}
.mpf-bar .footer-signature a:hover{color:#fff;}
.mpf-bar a{color:rgba(255,255,255,.55);}
.mpf-bar a:hover{color:#fff;}

@media (max-width:980px){
  .mpf-top{grid-template-columns:1fr 1fr;gap:36px 32px;}
  .mpf-brand{grid-column:1 / -1;}
}
@media (max-width:600px){
  .mpf-top{grid-template-columns:1fr;}
  .mpf-logos{gap:20px 26px;}
  .mpf-logos img{max-height:30px;}
  .mpf-bar{justify-content:flex-start;}
}
