/* Father's House — Footer 0.1.18 | Stage C local candidate.
   Scoped to the Footer Gutenberg template part, preserving Header 0.1.15.
   Matches owner-accepted Stage B composition; only approved design palette.
   Polylang Free serves <html lang="uk"> and <html lang="en-US">. */
.fh-site-footer{
  box-sizing:border-box; width:100%; max-width:none; padding:0; margin-block-start:0!important;
  background:var(--fh-navy,#1D344D);color:var(--fh-text-on-dark,#D3DBE4);
  border-top:1px solid var(--fh-border,#E5E2DA)
}
.fh-site-footer *{box-sizing:border-box}
.fh-site-footer .fh-footer__inner{box-sizing:border-box;width:calc(100% - 40px);max-width:1240px;margin:0 auto;padding:56px 0 29px}
.fh-site-footer .fh-footer__grid{
 display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(120px,.75fr) minmax(210px,1fr);
 gap:clamp(28px,5vw,78px);padding-bottom:67px
}
.fh-site-footer .fh-footer__brand,.fh-site-footer .fh-footer__section{min-width:0}
.fh-site-footer .fh-footer__brand>a{display:inline-flex;max-width:100%;text-decoration:none}
.fh-site-footer img.fh-logo{width:150px;max-width:100%;height:auto;aspect-ratio:1141 / 482;object-fit:contain;object-position:left center;display:block}
.fh-site-footer .fh-footer__mission{
 font-size:15px;line-height:1.8;max-width:365px;margin:22px 0 20px;font-weight:400;color:var(--fh-text-on-dark,#D3DBE4)
}
.fh-site-footer .fh-footer__principle{
 margin:0!important;color:var(--fh-surface,#fff)!important;letter-spacing:.13em;font-size:11px;
 font-weight:700;text-transform:uppercase
}
.fh-site-footer .fh-footer__heading{
 margin:0 0 24px!important;font-size:12px!important;line-height:1.5!important;
 letter-spacing:.13em;font-weight:700!important;text-transform:uppercase;color:var(--fh-surface,#fff)!important
}
.fh-site-footer .fh-footer__nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.fh-site-footer .fh-footer__link{
 color:var(--fh-surface,#fff)!important;text-decoration:none;font-size:14px;
 font-weight:600;line-height:1.6;overflow-wrap:anywhere
}
.fh-site-footer .fh-footer__link:hover{text-decoration:underline;text-underline-offset:4px}
.fh-site-footer .fh-footer__upcoming{
 font-size:14px;color:var(--fh-text-on-dark,#D3DBE4);opacity:.84;font-weight:600;cursor:default
}
.fh-site-footer .fh-footer__upcoming .soon{
 font-size:10px;letter-spacing:.02em;border:1px solid currentColor;border-radius:4px;
 padding:3px 5px;margin-left:7px;font-weight:600;white-space:nowrap
}
.fh-site-footer .fh-footer__email{
 display:inline-flex;align-items:center;gap:9px;margin-bottom:15px;
 white-space:normal;overflow-wrap:anywhere
}
.fh-site-footer .fh-footer__location{
 display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.6;
 color:var(--fh-text-on-dark,#D3DBE4)!important;margin:0 0 24px!important
}
.fh-site-footer .fh-ico{
 width:16px;height:16px;flex:none;display:block;stroke:currentColor;fill:none;
 stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.fh-site-footer .fh-socials{display:flex;gap:10px;margin:2px 0 23px}
.fh-site-footer .fh-socials a{
 width:39px;height:39px;border-radius:50%;border:1px solid var(--fh-text-on-dark,#D3DBE4);
 color:var(--fh-surface,#fff)!important;display:grid;place-items:center;
 text-decoration:none;transition:background-color .2s,border-color .2s
}
.fh-site-footer .fh-socials a:hover{
 background:rgba(211,219,228,.13);border-color:var(--fh-surface,#fff)
}
.fh-site-footer .fh-socials .fh-ico{width:17px;height:17px}
.fh-site-footer .fh-footer__minor{font-size:13px}
.fh-site-footer .fh-footer__end{
 border-top:1px solid rgba(211,219,228,.28);padding-top:23px;
 display:flex;align-items:center;justify-content:space-between;gap:15px 28px;
 flex-wrap:wrap;font-size:12px;color:var(--fh-text-on-dark,#D3DBE4)
}
.fh-site-footer .fh-footer__end strong{font-weight:600;color:var(--fh-surface,#fff)}
.fh-site-footer .fh-footer__legal{display:flex;gap:10px;flex-wrap:wrap}
.fh-site-footer .fh-footer__policy{color:var(--fh-text-on-dark,#D3DBE4);opacity:.77;font-size:12px}
.fh-site-footer .not-ready{cursor:default}
/* Locale: Ukrainian fallback. English selected from Polylang HTML language.
   display:none removes hidden-language links and content from tab/AT. */
.fh-site-footer [data-translation="en"],.fh-site-footer .fh-footer__locale-link--en{display:none!important}
html:lang(en) .fh-site-footer [data-translation="uk"],
html:lang(en) .fh-site-footer .fh-footer__locale-link--uk{display:none!important}
html:lang(en) .fh-site-footer [data-translation="en"]{display:inline!important}
html:lang(en) .fh-site-footer .fh-footer__locale-link--en{display:inline-flex!important}
/* Contrast / keyboard: do not change established dark-surface focus token. */
.fh-site-footer a:focus-visible{
 outline:2px solid var(--fh-yellow,#F5CC00)!important;outline-offset:2px;box-shadow:none
}
@media(max-width:1220px){
 .fh-site-footer img.fh-logo{width:140px}
}
@media(max-width:980px) and (min-width:641px){
 .fh-site-footer .fh-footer__inner{padding:56px 0 27px}
 .fh-site-footer .fh-footer__grid{grid-template-columns:1fr 1fr;gap:35px 54px;padding-bottom:48px}
 .fh-site-footer .fh-footer__brand{grid-column:1/-1}
 .fh-site-footer .fh-footer__heading{margin-top:0!important}
}
@media(max-width:640px){
 .fh-site-footer .fh-footer__inner{padding:40px 0 27px}
 .fh-site-footer .fh-footer__grid{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:34px}
 .fh-site-footer img.fh-logo{width:140px}
 .fh-site-footer .fh-footer__mission{font-size:14px;line-height:1.75;margin:17px 0 17px}
 .fh-site-footer .fh-footer__principle{font-size:10px}
 .fh-site-footer .fh-footer__section{
  padding-top:31px;margin-top:31px;border-top:1px solid rgba(211,219,228,.22)
 }
 .fh-site-footer .fh-footer__heading{margin:0 0 21px!important;font-size:11.5px!important}
 .fh-site-footer .fh-footer__nav{gap:15px}
 .fh-site-footer .fh-footer__link,.fh-site-footer .fh-footer__upcoming{font-size:13px}
 .fh-site-footer .fh-footer__end{flex-direction:column;align-items:flex-start;gap:9px;padding-top:22px;font-size:11px}
 .fh-site-footer .fh-footer__legal{flex-direction:column;gap:3px}
 .fh-site-footer .fh-legal-separator{display:none}
 .fh-site-footer .fh-footer__policy{margin-top:7px}
 .fh-site-footer .fh-footer__location{margin-bottom:22px!important}
 .fh-site-footer .fh-socials{margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){
 .fh-site-footer .fh-socials a{transition:none}
}
