/* One shared footer treatment for the existing Elementor template (ID 1381). */
.elementor-location-footer {
    --pa-purple:#92278f;
    --pa-text:#1e1e1e;
    --pa-neutral:#646473;
    --pa-surface:#f3f2f8;
    --pa-border:#dedde5;
    clear:both;
    width:100%;
    margin-top:48px;
    border-top:1px solid var(--pa-border);
    background:var(--pa-surface);
    color:var(--pa-text);
    font-family:"Plus Jakarta Sans",sans-serif;
}
.elementor-location-footer > .e-parent.elementor-element-ccceef6 {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    --margin-top:0;
    --margin-right:0;
    --margin-bottom:0;
    --margin-left:0;
    background:transparent;
}
.elementor-location-footer .elementor-element-ccceef6 > .e-con-inner {
    display:grid;
    grid-template-columns:minmax(220px,1.35fr) minmax(180px,.8fr) minmax(220px,1fr);
    gap:32px clamp(32px,5vw,72px);
    align-items:start;
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:42px 24px;
}
.elementor-location-footer .elementor-element-ccceef6 > .e-con-inner:before,
.elementor-location-footer .elementor-element-ccceef6 > .e-con-inner:after { content:none; }
.elementor-location-footer .e-con-inner > .e-child {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:12px;
    width:auto;
    min-width:0;
    margin:0;
    padding:0;
    border:0;
    --margin-top:0;
    --margin-right:0;
    --margin-bottom:0;
    --margin-left:0;
    --padding-top:0;
    --padding-right:0;
    --padding-bottom:0;
    --padding-left:0;
}
.elementor-location-footer .e-con-inner > .e-child:not(:last-child) {
    padding-right:clamp(20px,3vw,44px);
    border-right:1px solid var(--pa-border);
}
.elementor-location-footer .elementor-widget { width:100%; margin:0; }
.elementor-location-footer .elementor-widget-container { margin:0; padding:0; }
.elementor-location-footer .elementor-element-60d5f37 { width:auto; }
.elementor-location-footer .elementor-element-60d5f37 a {
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    min-width:48px;
    min-height:48px;
}
.elementor-location-footer .elementor-element-60d5f37 img {
    display:block;
    width:92px;
    max-width:100%;
    height:72px;
    object-fit:contain;
    object-position:left center;
}
.elementor-location-footer .elementor-element-8bbc71f {
    max-width:30ch;
    color:var(--pa-neutral);
    font-size:15px;
    line-height:1.6;
}
.elementor-location-footer .elementor-element-8bbc71f p { margin:0; }
.elementor-location-footer .elementor-heading-title {
    margin:0 0 6px;
    color:var(--pa-text);
    font-size:17px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:0;
    text-transform:none;
}
.elementor-location-footer .elementor-icon-list-items {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:0;
    padding:0;
}
.elementor-location-footer .elementor-icon-list-item {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    margin:0;
    padding:0;
    color:var(--pa-neutral);
    font-size:14px;
    line-height:1.55;
    text-transform:none;
}
.elementor-location-footer .elementor-icon-list-item > a {
    display:inline-flex;
    align-items:center;
    min-height:36px;
    max-width:100%;
    padding:5px 0;
    font-weight:500;
    text-decoration:none;
    overflow-wrap:anywhere;
}
.elementor-location-footer .elementor-icon-list-item > a:hover {
    transform:none;
    text-decoration:underline;
    text-underline-offset:3px;
}
/* Contact links retain the original unlinked row's typography and spacing. */
.elementor-location-footer .elementor-element-067d455 .elementor-icon-list-item > a {
    gap:10px;
    min-height:0;
    padding:0;
    font-weight:inherit;
}
/* All footer links, including visited contacts, share one state palette.
   Elementor widget colours must not override the link or its icon/text. */
/* Override theme/widget effects on links, their contents and pseudo-elements. */
.elementor-location-footer a,
.elementor-location-footer a *,
.elementor-location-footer a::before,
.elementor-location-footer a::after,
.elementor-location-footer a *::before,
.elementor-location-footer a *::after {
    transition:none!important;
    animation:none!important;
}
.elementor-location-footer a:any-link { color:#92278f!important; }
.elementor-location-footer a:any-link:hover { color:#782075!important; }
.elementor-location-footer a:any-link:active { color:#92278f!important; }
.elementor-location-footer a :is(.elementor-icon-list-text,.elementor-icon-list-icon,.elementor-icon,i,svg) { color:inherit!important; }
.elementor-location-footer a :is(.elementor-icon-list-icon,.elementor-icon) svg { fill:currentColor; }
.elementor-location-footer :is(a,button,input):focus-visible {
    outline:3px solid #92278f44;
    outline-offset:3px;
    border-radius:4px;
}
.elementor-location-footer .elementor-icon-list-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 24px;
    width:24px;
    height:24px;
    color:var(--pa-purple);
}
.elementor-location-footer .elementor-icon-list-icon .pa-dash-icon {
    width:21px;
    height:21px;
    fill:currentColor;
}
.elementor-location-footer .elementor-icon-list-text {
    min-width:0;
    color:inherit;
    overflow-wrap:anywhere;
    text-transform:none;
}
@media (max-width:767px) {
    .elementor-location-footer { margin-top:32px; }
    .elementor-location-footer .elementor-element-ccceef6 > .e-con-inner {
        grid-template-columns:minmax(0,1fr);
        gap:0;
        padding:28px 20px 24px;
    }
    .elementor-location-footer .e-con-inner > .e-child,
    .elementor-location-footer .e-con-inner > .e-child:not(:last-child) {
        width:100%;
        padding:20px 0;
        border-right:0;
        border-bottom:1px solid var(--pa-border);
    }
    .elementor-location-footer .e-con-inner > .e-child:first-child { padding-top:0; }
    .elementor-location-footer .e-con-inner > .e-child:last-child { padding-bottom:0; border-bottom:0; }
    .elementor-location-footer .elementor-element-60d5f37 img { width:80px; height:64px; }
    .elementor-location-footer .elementor-icon-list-item > a { min-height:40px; }
}
