/* Shared footer presentation. Content, menu ownership and service metadata stay in PHP. */
.ax-footer{
 /* Core-active pages omit base.css; keep the fallback palette local to the footer. */
 --footer-ink:var(--ax-text,var(--ax-ink));--footer-muted:var(--ax-text-muted,var(--ax-muted));
 --footer-link:var(--footer-muted);--footer-bg:var(--ax-bg,#fff);
 --footer-border:var(--ax-border,var(--ax-line));--footer-focus:var(--ax-focus,#3265de);
 --footer-ambient:color-mix(in srgb,var(--ax-red) 3%,transparent);
 color:var(--footer-ink);border-top:1px solid var(--footer-border);
}
.ax-footer,html[data-theme="dark"] .ax-footer{
 background:radial-gradient(ellipse at 0 100%,var(--footer-ambient),transparent 62%),
 linear-gradient(145deg,var(--footer-bg) 35%,color-mix(in srgb,var(--footer-bg) 78%,var(--ax-surface)));
}
html[data-theme="dark"] .ax-footer{--footer-ambient:color-mix(in srgb,var(--ax-red) 4%,transparent)}
.ax-footer,.home .ax-footer{margin-top:72px;padding:72px 0 0}
.ax-footer>.ax-container{width:min(1280px,calc(100% - 128px));margin-inline:auto}
.ax-footer .ax-footer-top{
 display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1.05fr) minmax(0,1.2fr);
 gap:32px clamp(28px,3vw,48px);align-items:start;padding-bottom:56px;
}
.ax-footer .ax-footer-top>.ax-footer-brand{min-width:0;grid-column:auto;padding:0}
.ax-footer .ax-footer-brand .ax-logo{
 width:auto;height:40px;flex:0 0 auto;max-width:100%;font-size:34px;
 font-weight:820;line-height:1;letter-spacing:-1.45px;color:var(--footer-ink);
}
.ax-footer .ax-footer-brand .ax-logo i{width:6px;height:6px;margin:0 0 22px 5px}
.ax-footer .ax-footer-brand .custom-logo-link{width:160px;height:40px;margin:0;max-width:100%}
.ax-footer .ax-footer-brand .custom-logo{display:block;width:100%;height:40px;max-width:160px;max-height:40px;object-fit:contain;object-position:left center}
html .ax-footer>.ax-container .ax-footer-top>.ax-footer-brand p{
 max-width:240px;margin:18px 0 0;color:var(--footer-muted);font-size:15px;
 font-weight:400;line-height:1.6;letter-spacing:0;
}
.ax-footer .ax-footer-top>.ax-footer-nav{min-width:0;grid-column:auto;margin:0;padding:0;border:0}
.ax-footer .ax-footer-top>.ax-footer-custom{grid-column:2 / span 2}
.ax-footer .ax-footer-top .ax-footer-nav h3{
 margin:0 0 18px;color:var(--footer-ink);font-size:14px;font-weight:650;line-height:1.4;letter-spacing:.025em;
}
.ax-footer .ax-footer-nav .ax-footer-links,.ax-footer .ax-footer-custom .sub-menu{
 display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0;padding:0;list-style:none;
}
.ax-footer .ax-footer-custom>.ax-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}
.ax-footer .ax-footer-custom .sub-menu{margin-top:12px}
html .ax-footer>.ax-container .ax-footer-top .ax-footer-links li a{
 position:relative;display:inline-block;max-width:100%;min-height:0;padding:2px 0;
 color:var(--footer-link);font-size:14px;font-weight:450;line-height:1.55;text-decoration:none;
 overflow-wrap:anywhere;transition:color .22s cubic-bezier(.22,1,.36,1);
}
html .ax-footer>.ax-container .ax-footer-top .ax-footer-docs .ax-footer-links li a{--footer-link:var(--footer-muted);font-weight:400}
.ax-footer .ax-footer-links a::after{
 content:"";position:absolute;left:0;bottom:-2px;width:22px;max-width:55%;height:1px;
 background:var(--ax-red);pointer-events:none;opacity:0;transform:scaleX(.25);transform-origin:left;
 transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s cubic-bezier(.22,1,.36,1);
}
@media(hover:hover) and (pointer:fine){
 html .ax-footer>.ax-container .ax-footer-top .ax-footer-links li a:hover{color:var(--footer-ink)}
 .ax-footer .ax-footer-links a:hover::after{opacity:1;transform:scaleX(1)}
}
html .ax-footer>.ax-container .ax-footer-top a:focus-visible{outline:3px solid var(--footer-focus);outline-offset:5px;border-radius:2px}
html .ax-footer>.ax-container .ax-footer-top .ax-footer-links li a:focus-visible{color:var(--footer-ink)}
.ax-footer .ax-footer-links a:focus-visible::after{opacity:1;transform:scaleX(1)}
html .ax-footer>.ax-container .ax-footer-bottom{
 display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:12px 24px;padding:24px 0 28px;border-top:1px solid var(--footer-border);
 color:var(--footer-muted);font-size:12px;line-height:1.5;
}
html .ax-footer>.ax-container .ax-footer-bottom .ax-payment-review-marker{color:var(--footer-muted);font-size:11px;letter-spacing:.015em}
@media(min-width:1700px){.ax-footer>.ax-container{width:min(1440px,calc(100% - 128px))}}
@media(max-width:1099px){
 .ax-footer>.ax-container{width:calc(100% - 64px)}
 .ax-footer,.home .ax-footer{padding-top:64px}
 .ax-footer .ax-footer-top{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.2fr);gap:36px 24px;padding-bottom:44px}
 .ax-footer .ax-footer-top>.ax-footer-brand{grid-column:1 / -1}
 .ax-footer .ax-footer-top>.ax-footer-custom{grid-column:1 / span 2}
}
@media(max-width:767px){
 .ax-footer,.home .ax-footer{margin-top:48px;padding-top:44px}
 .ax-footer>.ax-container{width:calc(100% - 40px)}
 .ax-footer .ax-footer-top{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:32px}
 .ax-footer .ax-footer-top>:is(.ax-footer-brand,.ax-footer-nav,.ax-footer-custom){grid-column:1 / -1}
 .ax-footer .ax-footer-brand .ax-logo{font-size:32px;height:38px}
 .ax-footer .ax-footer-brand .custom-logo-link{width:152px;height:38px}
 .ax-footer .ax-footer-brand .custom-logo{height:38px}
 html .ax-footer>.ax-container .ax-footer-top>.ax-footer-brand p{margin-top:14px;font-size:14px}
 .ax-footer .ax-footer-top .ax-footer-nav h3{margin-bottom:12px}
 .ax-footer .ax-footer-nav .ax-footer-links,.ax-footer .ax-footer-custom .sub-menu{grid-template-columns:minmax(0,1fr);gap:0}
 html .ax-footer>.ax-container .ax-footer-top .ax-footer-links li a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0}
 .ax-footer .ax-footer-links a::after{bottom:6px}
 html .ax-footer>.ax-container .ax-footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;padding:22px 0 26px}
}
@media(max-width:359px){.ax-footer>.ax-container{width:calc(100% - 32px)}}
/* Homepage final layout owns the 120/80/60px gap; keep footer's interior padding. */
.home .ax-footer{margin-top:0}
@media(prefers-reduced-motion:reduce){
 html .ax-footer>.ax-container .ax-footer-top .ax-footer-links li a,.ax-footer .ax-footer-links a::after{transition:none}
 .ax-footer .ax-footer-links a::after,.ax-footer .ax-footer-links a:hover::after,.ax-footer .ax-footer-links a:focus-visible::after{transform:none!important}
}
