/* Footer for the partner page only. CILT header/global footer styles are untouched. */
.partner-page.stlc-footer { padding:32px 0 20px; background:var(--p-paper); color:var(--p-ink); border-top:1px solid var(--p-rule); }
.stlc-footer .stlc-footer-wrap { max-width:1280px; padding:0 24px; margin:0 auto; }
.stlc-footer .stlc-footer-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:40px; align-items:start; }
.stlc-footer .stlc-footer-logo { display:block; width:170px; margin-bottom:20px; }
.stlc-footer .stlc-footer-logo img { display:block; width:100%; height:auto; }
.stlc-footer .stlc-footer-info h2 { font-size:36px; line-height:1.15; letter-spacing:-.02em; }
.stlc-footer .stlc-footer-info h2 em { color:var(--p-brand); }
.stlc-footer .stlc-footer-lead { max-width:44ch; font-size:16px; line-height:1.5; margin-top:12px; }
.stlc-footer .stlc-footer-phones { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:16px; }
.stlc-footer .stlc-footer-phones a { display:flex; align-items:center; min-height:44px; font-size:18px; font-weight:600; white-space:nowrap; }
.stlc-footer .stlc-footer-email { display:inline-flex; align-items:center; min-height:44px; font-size:18px; color:var(--p-brand); font-weight:600; }
.stlc-footer address { margin-top:12px; font-size:15px; line-height:1.5; font-style:normal; }
.stlc-footer .stlc-footer-map-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
.stlc-footer .stlc-footer-map-head h3 { font-size:24px; line-height:1.2; }
.stlc-footer .stlc-footer-map-head a { display:flex; align-items:center; gap:8px; min-height:44px; font-size:13px; color:var(--p-brand); font-weight:600; }
.stlc-footer .stlc-footer-map { display:block; width:100%; height:300px; border:1px solid var(--p-rule); border-radius:8px; background:var(--p-white); }
.stlc-footer .stlc-footer-route { display:inline-flex; gap:10px; align-items:center; min-height:44px; margin-top:12px; padding:10px 16px; border:1px solid var(--p-brand); border-radius:4px; color:var(--p-white); background:var(--p-brand); font-size:14px; font-weight:600; }
.stlc-footer .stlc-footer-route svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.stlc-footer .stlc-footer-links { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:24px; padding-top:16px; border-top:1px solid var(--p-rule); }
.stlc-footer .stlc-footer-links a { display:flex; flex-direction:column; justify-content:center; min-height:44px; font-size:14px; font-weight:600; line-height:1.5; }
.stlc-footer .stlc-footer-links span { color:var(--p-text); font-weight:400; font-size:12px; }
.stlc-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.stlc-footer .stlc-footer-route:hover { background:var(--p-accent); text-decoration:none; }
.stlc-footer a:focus-visible { outline:3px solid var(--p-brand); outline-offset:4px; }
.partner-page.theme-stlc .stlc-page-note { max-width:1280px; margin:0 auto; padding:12px 24px; background:var(--p-white); font-size:12px; line-height:1.5; color:var(--p-text); }
@media(max-width:1023px) {
  /* Keep the fixed contact container clear of the last footer links. */
  .stlc-footer .stlc-footer-links { padding-right:140px; }
}
@media(max-width:767px) {
  .partner-page.stlc-footer { padding-block:20px; }
  .stlc-footer .stlc-footer-grid { grid-template-columns:1fr; gap:24px; }
  .stlc-footer .stlc-footer-info h2 { font-size:30px; }
  .stlc-footer .stlc-footer-phones { flex-direction:column; gap:0; margin-top:12px; }
  .stlc-footer .stlc-footer-map { height:260px; }
  .stlc-footer .stlc-footer-map-head { flex-wrap:wrap; gap:8px; }
  .stlc-footer .stlc-footer-links { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin-top:20px; }
  .stlc-footer .stlc-footer-links span { overflow-wrap:anywhere; }
}
