/* Native footer keeps existing layout hooks; menus remain owned by WordPress. */
:where(.as-native-footer) { width:100%; display:block; }
.as-native-footer .e-con, .as-native-footer .e-con-inner { display:flex; flex-direction:column; min-width:0; position:relative; box-sizing:border-box; }
:where(.as-native-footer #asantap-footer) { padding:48px 24px 24px; }
:where(.as-native-footer .e-con-inner) { width:100%; max-width:1200px; margin-inline:auto; }
:where(.as-native-footer .elementor-widget) { position:relative; min-width:0; }
:where(.as-native-footer ul) { list-style:none; padding:0; margin:0; }
:where(.as-native-footer .elementor-nav-menu) { display:flex; }
:where(.as-native-footer a.elementor-item) { display:flex; align-items:center; }
:where(.as-native-footer .elementor-screen-only) { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.as-native-footer .as-native-contact-link { display:inline-flex; align-items:center; min-height:48px; font-size:13px; }
body.as-site-shell .as-native-footer #asantap-footer .as-native-social svg { fill:none !important; stroke:currentColor; width:20px; height:20px; }
body.as-site-shell .as-native-footer #asantap-footer .as-native-social-linkedin svg { fill:currentColor !important; stroke:none; }
html.as-contact-open { overflow:hidden; }
#as-contact-dialog { box-sizing:border-box; width:min(540px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:32px; border:1px solid #E5EAF2; border-radius:16px; color:#1A1A2E; background:#FFFFFF; overflow-y:auto; overflow-x:hidden; margin:auto; font-family:inherit; }
#as-contact-dialog::backdrop { background:rgba(26,26,46,.55); }
#as-contact-dialog:not([open]) { display:none; }
#as-contact-dialog h2 { margin:0 40px 12px 0; font-size:26px; line-height:1.25; color:#1A1A2E; }
#as-contact-dialog .as-contact-intro { margin:0 0 20px; font-size:15px; line-height:1.6; color:#6B7280; }
#as-contact-dialog .as-contact-close { position:absolute; right:12px; top:12px; width:48px; height:48px; border:0; background:transparent; color:#1A1A2E; font-size:28px; border-radius:12px; cursor:pointer; }
#as-contact-dialog label { display:block; margin:0 0 14px; color:#1A1A2E; font-size:14px; font-weight:500; line-height:1.5; }
#as-contact-dialog input:not([type=submit]):not([type=hidden]):not([type=checkbox]), #as-contact-dialog select, #as-contact-dialog textarea { display:block; width:100%; max-width:100%; margin-top:6px; padding:12px 14px; min-height:48px; border:1px solid #E5EAF2; border-radius:12px; background:#F7F9FB; color:#1A1A2E; font:inherit; font-size:16px; box-sizing:border-box; }
#as-contact-dialog textarea { height:128px; min-height:120px; resize:vertical; }
#as-contact-dialog input[type=submit] { width:100%; min-height:48px; padding:12px 20px; border:0; border-radius:12px; background:#467FF7; color:#FFFFFF; font:inherit; font-size:16px; font-weight:600; cursor:pointer; }
#as-contact-dialog input[type=submit]:hover { background:#2D66DE; }
#as-contact-dialog :is(a,button,input,select,textarea):focus-visible { outline:3px solid #467FF7; outline-offset:3px; }
#as-contact-dialog .wpcf7-response-output { margin:16px 0 0; padding:12px; border-radius:12px; font-size:14px; }
#as-contact-dialog .wpcf7-not-valid-tip { font-size:13px; margin-top:4px; }
#as-contact-dialog .wpcf7-spinner { position:relative; inset:auto; display:block; width:24px; height:24px; margin:8px auto 0; border-radius:50%; background:#6B7280; }
#as-contact-dialog .wpcf7-spinner::before { display:block; }
#as-contact-dialog .as-contact-fallback { font-size:13px; margin:12px 0 0; }
@media(max-width:600px) { #as-contact-dialog { padding:24px 20px; } #as-contact-dialog h2 { font-size:24px; } }
@media(prefers-reduced-motion:reduce) { #as-contact-dialog, #as-contact-dialog * { transition:none !important; animation:none !important; } }