/* 23/10/2026: full footer, social icons, working enquiry form and the pop-up enquiry form. Design A tokens (--b-*). */

/* Footer */
.v-a .mt-foot{display:block;padding:clamp(40px,5vw,64px) var(--b-gutter) 110px}
.v-a .mt-foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,48px);max-width:1280px;margin:0 auto}
.v-a .mt-foot__brand p{margin:12px 0 16px;max-width:36ch;line-height:1.55}
.v-a .mt-foot__tel{display:inline-flex;align-items:center;min-height:44px;font-family:"Bricolage Grotesque",sans-serif;font-size:20px;font-weight:600;color:var(--b-ink)!important;text-decoration:none;border-bottom:1px solid var(--b-red)}
.v-a .mt-foot__col h2{margin:0 0 12px;font:600 11px/1.4 ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--b-muted)}
.v-a .mt-foot__col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.v-a .mt-foot__col a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none}
.v-a .mt-foot a:hover{color:var(--b-ink)}
.v-a .mt-foot nav{display:block}
.v-a .mt-foot__base{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;max-width:1280px;margin:36px auto 0;padding-top:20px;border-top:1px solid var(--b-line);font-size:13px}
.v-a .mt-foot__base nav{display:flex;gap:20px}
.v-a .mt-foot__base a{display:inline-flex;align-items:center;min-height:36px}
.v-a .mt-social{display:flex;gap:10px;margin-top:16px}
.v-a .mt-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:var(--b-ink)}
@media(max-width:1050px){.v-a .mt-foot__grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
  .v-a .mt-foot{padding:36px 20px 120px}
  .v-a .mt-foot__grid{grid-template-columns:1fr;gap:28px}
  .v-a .mt-foot__col a{min-height:44px}
}

/* Contact form (and pop-up) */
.mt-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.v-a .mt-consent{font-size:13px;line-height:1.5;color:var(--b-ink-2);margin:12px 0 0}
.v-a .mt-consent a{color:var(--b-ink)}
.v-a .mt-form-msg{padding:12px 14px;border-radius:14px;margin:0 0 8px}
.v-a .mt-form-msg.is-ok,.v-a .pop__msg.is-ok{background:rgba(80,190,120,.14);color:#c9f1d6}
.v-a .mt-form-msg.is-bad,.v-a .pop__msg.is-bad{background:rgba(255,90,71,.14);color:#ffd2cb}
.v-a .mt-form-msg a,.v-a .pop__msg a{color:#fff;font-weight:600}

/* Pop-up */
.v-a .mt-pop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}
.v-a .mt-pop[hidden]{display:none}
.mt-pop__backdrop{position:absolute;inset:0;background:rgba(5,6,7,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .35s var(--b-ease)}
.mt-pop__box{position:relative;width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:28px 26px 22px;border-radius:28px;background:var(--b-paper);color:var(--b-ink);box-shadow:var(--b-shadow),inset 0 0 0 1px rgba(255,255,255,.08);opacity:0;transform:translateY(16px);transition:opacity .35s var(--b-ease),transform .35s var(--b-ease)}
.mt-pop.is-in .mt-pop__backdrop{opacity:1}
.mt-pop.is-in .mt-pop__box{opacity:1;transform:none}
.mt-pop__x{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:var(--b-ink);font-size:24px;line-height:1;cursor:pointer}
.mt-pop__eyebrow{margin:0;font:600 11px/1.4 ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--b-red)}
.mt-pop__box h2{margin:8px 44px 8px 0;font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(24px,3vw,30px);line-height:1.05}
.mt-pop__line{margin:0 0 14px;color:var(--b-ink-2);font-size:15px;line-height:1.5}
.mt-pop label{display:block;margin:10px 0;font-size:14px}
.mt-pop input,.mt-pop textarea{display:block;width:100%;margin-top:5px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#0c0d0f;color:var(--b-ink);font:inherit}
.mt-pop input:focus-visible,.mt-pop textarea:focus-visible{outline:3px solid #ffbd59;outline-offset:2px}
.mt-pop .btn{width:100%;justify-content:space-between;margin-top:14px}
.v-a .pop__msg{margin:12px 0 0;font-size:14px;line-height:1.5}
.v-a .pop__msg:empty{display:none}
.v-a .pop__msg.is-ok,.v-a .pop__msg.is-bad{padding:10px 14px;border-radius:14px}
html.pop-open{overflow:hidden}
/* Phones: the dialog sits above the fixed call bar and the bar stays above the backdrop, so Call is still tappable. */
@media(max-width:860px){
  .v-a .mt-pop{z-index:19;align-items:flex-end;padding:12px 12px calc(var(--mt-bar,78px) + 10px)}
  .mt-pop__box{max-height:calc(100vh - var(--mt-bar,78px) - 34px);padding:22px 18px 18px;border-radius:24px}
  html.pop-open body.v-a>.wp-site-blocks{z-index:auto}
  html.pop-open .v-a .head{z-index:18}
}
@media(prefers-reduced-motion:reduce){.mt-pop__backdrop,.mt-pop__box{transition:none}.mt-pop__box{transform:none}}
.v-a .mt-foot__base a .ph{margin-left:.3em}
