/* WayCare Footer Widget */
.wcftr-footer,.wcftr-footer *{box-sizing:border-box;text-shadow:none!important}
.wcftr-footer{width:100%;padding:58px 42px 26px;background:#071C31;color:#fff;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;overflow:hidden}
.wcftr-footer:before{content:"";position:absolute;inset:-40% -10% auto auto;width:520px;height:520px;border-radius:999px;background:radial-gradient(circle,rgba(91,227,184,.16),transparent 68%);pointer-events:none}
.wcftr-shell{width:100%;max-width:1380px;margin:0 auto;position:relative;z-index:1}
.wcftr-cta-card{--wcftr-start:#122C4A;--wcftr-end:#2ABFB7;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:30px 34px;margin-bottom:44px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:radial-gradient(circle at 88% 20%,rgba(255,255,255,.18),transparent 25%),linear-gradient(135deg,var(--wcftr-start),var(--wcftr-end));box-shadow:0 24px 70px rgba(0,0,0,.22);overflow:hidden}
.wcftr-cta-kicker{margin-bottom:8px;color:rgba(255,255,255,.72);font-family:"Geist Mono",monospace;font-size:11px;line-height:1;font-weight:850;letter-spacing:.26em}
.wcftr-cta-text{color:#fff;font-family:Fraunces,Georgia,serif;font-size:clamp(34px,3.5vw,58px);line-height:1;letter-spacing:-.052em;font-weight:500}
.wcftr-cta-button{min-width:190px;min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:16px 28px;border-radius:16px;background:#5BE3B8;color:#071C31!important;text-decoration:none!important;font-size:15px;font-weight:850;line-height:1;box-shadow:0 18px 42px rgba(0,0,0,.18);transition:transform .22s ease,box-shadow .22s ease}
.wcftr-cta-button:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(0,0,0,.26)}
.wcftr-cta-button b{font-size:22px;line-height:1;font-weight:500}
.wcftr-main{display:grid;grid-template-columns:minmax(260px,1.15fr) .75fr 1fr 1.1fr;gap:38px;align-items:start}
.wcftr-logo{max-width:210px;height:auto;display:block;margin-bottom:10px}
.wcftr-brand-name{margin:0 0 5px;color:#fff;font-size:34px;line-height:1;font-weight:850;letter-spacing:-.04em}
.wcftr-brand-name span{color:#5BE3B8}
.wcftr-tagline{color:rgba(255,255,255,.68);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.wcftr-description{max-width:360px;margin:18px 0 0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.65;font-weight:520}
.wcftr-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.wcftr-social{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#5BE3B8!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.wcftr-social:hover{transform:translateY(-2px);background:rgba(91,227,184,.12);border-color:rgba(91,227,184,.28)}
.wcftr-social svg,.wcftr-social i{width:17px;height:17px;font-size:17px}
.wcftr-heading{margin:0 0 18px;color:#5BE3B8;font-family:"Geist Mono",monospace;font-size:12px;line-height:1;font-weight:850;letter-spacing:.22em;text-transform:uppercase}
.wcftr-links,.wcftr-areas{display:grid;gap:11px}
.wcftr-link,.wcftr-area,.wcftr-contact-value{color:#fff!important;font-size:14px;line-height:1.35;font-weight:650;text-decoration:none!important}
.wcftr-link{width:max-content;opacity:.86;transition:color .2s ease,opacity .2s ease,transform .2s ease}
.wcftr-link:hover{color:#5BE3B8!important;opacity:1;transform:translateX(3px)}
.wcftr-area{opacity:.78}
.wcftr-contact-col{display:grid;gap:16px}
.wcftr-contact-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.wcftr-contact-icon{color:#5BE3B8;font-size:18px;line-height:1;margin-top:2px}
.wcftr-contact-label{color:rgba(255,255,255,.68);font-size:12px;line-height:1.2;font-weight:760;margin-bottom:4px}
.wcftr-contact-value{opacity:.92}
a.wcftr-contact-value:hover{color:#5BE3B8!important}
.wcftr-bottom{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10);display:flex;align-items:center;justify-content:space-between;gap:20px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.4;font-weight:560}
.wcftr-legal{display:flex;flex-wrap:wrap;gap:14px}
.wcftr-bottom-link{color:rgba(255,255,255,.72)!important;text-decoration:none!important}
.wcftr-bottom-link:hover{color:#5BE3B8!important}
@media (max-width:1100px){.wcftr-main{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.wcftr-footer{padding:40px 18px 22px}.wcftr-cta-card{grid-template-columns:1fr;gap:20px;padding:24px 20px;margin-bottom:34px;border-radius:24px}.wcftr-cta-kicker{font-size:10px;letter-spacing:.22em}.wcftr-cta-text{font-size:clamp(32px,10vw,44px)}.wcftr-cta-button{width:100%;min-height:54px}.wcftr-main{grid-template-columns:1fr;gap:30px}.wcftr-description{max-width:none}.wcftr-links{grid-template-columns:1fr 1fr;gap:12px 18px}.wcftr-areas{grid-template-columns:1fr 1fr;gap:10px 16px}.wcftr-bottom{flex-direction:column;align-items:flex-start;margin-top:34px;gap:12px}}
@media (max-width:390px){.wcftr-footer{padding-left:14px;padding-right:14px}.wcftr-links,.wcftr-areas{grid-template-columns:1fr}}


/* v1.1 Best Footer Upgrade */
.wcftr-cta-card{
    grid-template-columns:minmax(0,1fr) minmax(260px,390px)!important;
    position:relative;
}

.wcftr-cta-actions{
    display:grid;
    gap:12px;
    width:100%;
}

.wcftr-cta-button{
    width:100%;
}

.wcftr-cta-button-primary{
    background:#5BE3B8!important;
    color:#071C31!important;
}

.wcftr-cta-button-secondary{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.42);
    backdrop-filter:blur(10px);
}

.wcftr-cta-chips{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    gap:10px 16px;
    margin-top:-8px;
}

.wcftr-cta-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:rgba(255,255,255,.80);
    font-size:12px;
    line-height:1;
    font-weight:750;
    padding:8px 11px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(255,255,255,.055);
}

.wcftr-main{
    grid-template-columns:minmax(250px,1.15fr) minmax(210px,.95fr) .68fr 1fr 1.08fr!important;
    gap:30px!important;
}

.wcftr-mini-services{
    display:grid;
    gap:12px;
}

.wcftr-mini-service{
    display:block;
    padding:14px 14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;
    background:rgba(255,255,255,.045);
    text-decoration:none!important;
    transition:transform .2s ease, border-color .2s ease, background .2s ease;
}

.wcftr-mini-service:hover{
    transform:translateY(-2px);
    border-color:rgba(91,227,184,.28);
    background:rgba(91,227,184,.07);
}

.wcftr-mini-service-title{
    display:block;
    color:#fff;
    font-size:14px;
    line-height:1.2;
    font-weight:850;
    margin-bottom:5px;
}

.wcftr-mini-service-desc{
    display:block;
    color:rgba(255,255,255,.66);
    font-size:12px;
    line-height:1.42;
    font-weight:560;
}

.wcftr-back-top{
    border:0;
    padding:0;
    background:transparent;
    color:#5BE3B8;
    font-size:12px;
    line-height:1;
    font-weight:800;
    cursor:pointer;
    transition:opacity .2s ease, transform .2s ease;
}

.wcftr-back-top:hover{
    opacity:.8;
    transform:translateY(-1px);
}

@media (max-width:1200px){
    .wcftr-main{
        grid-template-columns:1fr 1fr!important;
    }
}

@media (max-width:767px){
    .wcftr-cta-card{
        grid-template-columns:1fr!important;
    }

    .wcftr-cta-chips{
        margin-top:0;
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }

    .wcftr-cta-chip{
        width:100%;
        justify-content:flex-start;
        border-radius:14px;
    }

    .wcftr-main{
        grid-template-columns:1fr!important;
    }

    .wcftr-mini-services{
        grid-template-columns:1fr;
    }

    .wcftr-bottom{
        align-items:flex-start!important;
    }

    .wcftr-back-top{
        order:-1;
        margin-bottom:4px;
    }
}


/* v1.2 Premium Simple Footer */
.wcftr-footer{
    padding-top:44px !important;
    padding-bottom:22px !important;
}

.wcftr-logo{
    max-width:170px;
}

.wcftr-main{
    grid-template-columns:minmax(260px,1.2fr) minmax(190px,.85fr) minmax(160px,.65fr) minmax(250px,1fr) !important;
    gap:34px !important;
}

.wcftr-mini-services-col{
    display:none !important;
}

.wcftr-cta-card{
    margin-bottom:36px !important;
}

.wcftr-description{
    max-width:330px;
    line-height:1.55 !important;
    margin-top:14px !important;
}

.wcftr-heading{
    margin-bottom:15px !important;
}

.wcftr-links,
.wcftr-areas{
    gap:9px !important;
}

.wcftr-contact-col{
    gap:13px !important;
}

.wcftr-social{
    width:38px;
    height:38px;
}

.wcftr-social svg,
.wcftr-social i{
    width:17px;
    height:17px;
    font-size:17px;
}

.wcftr-area:nth-child(n+9){
    display:none;
}

.wcftr-areas::after{
    content:"Metro Vancouver & Lower Mainland";
    color:rgba(255,255,255,.54);
    font-size:12px;
    line-height:1.4;
    margin-top:3px;
    grid-column:1 / -1;
}

.wcftr-bottom{
    margin-top:32px !important;
    padding-top:18px !important;
}

@media (max-width:1100px){
    .wcftr-main{
        grid-template-columns:1.15fr 1fr !important;
    }
}

@media (max-width:767px){
    .wcftr-footer{
        padding-top:34px !important;
    }

    .wcftr-main{
        grid-template-columns:1fr !important;
        gap:26px !important;
    }

    .wcftr-description{
        max-width:none;
    }

    .wcftr-links{
        grid-template-columns:1fr 1fr !important;
    }

    .wcftr-areas{
        grid-template-columns:1fr 1fr !important;
        gap:8px 14px !important;
    }

    .wcftr-area:nth-child(n+7){
        display:none;
    }

    .wcftr-socials{
        margin-top:18px !important;
    }

    .wcftr-cta-card{
        margin-bottom:28px !important;
    }
}


/* v1.3 — hard fix for hiding CTA section */
.wcftr-no-cta .wcftr-cta-card{
    display:none !important;
}

.wcftr-no-cta .wcftr-main{
    margin-top:0 !important;
}


/* v1.4 — clean 3-column footer layout + consistent contact icons */
.wcftr-main{
    grid-template-columns: minmax(280px,1.25fr) minmax(170px,.72fr) minmax(230px,.9fr) minmax(280px,1.08fr) !important;
    gap: 42px !important;
    align-items: start !important;
}

.wcftr-col,
.wcftr-contact-col{
    min-width: 0;
}







.wcftr-links,
.wcftr-areas{
    gap: 10px !important;
}

.wcftr-contact-col{
    display: grid !important;
    gap: 13px !important;
}

.wcftr-contact-item{
    grid-template-columns: 44px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 12px !important;
}

.wcftr-contact-icon{
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(91,227,184,.10) !important;
    border: 1px solid rgba(91,227,184,.18) !important;
    color: #5BE3B8 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    margin-top: 0 !important;
}

.wcftr-contact-icon::before{
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: inherit !important;
}

.wcftr-contact-icon:nth-child(1)::before{
    content: "";
}

/* map labels to icon content by item order */
.wcftr-contact-item:nth-of-type(1) .wcftr-contact-icon::before{ content:"☎"; }
.wcftr-contact-item:nth-of-type(2) .wcftr-contact-icon::before{ content:"✉"; }
.wcftr-contact-item:nth-of-type(3) .wcftr-contact-icon::before{ content:"⌂"; }
.wcftr-contact-item:nth-of-type(4) .wcftr-contact-icon::before{ content:"◷"; }

.wcftr-area:nth-child(n+9){
    display: inline !important;
}

.wcftr-areas::after{
    display: none !important;
}

@media (max-width: 1200px){
    .wcftr-main{
        grid-template-columns: 1fr 1fr !important;
        gap: 34px 40px !important;
    }
}

@media (max-width: 767px){
    .wcftr-main{
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .wcftr-links,
    .wcftr-areas{
        grid-template-columns: 1fr 1fr !important;
    }

    .wcftr-contact-item{
        grid-template-columns: 42px minmax(0,1fr) !important;
    }

    .wcftr-contact-icon{
        width: 32px !important;
        height: 32px !important;
    }

    .wcftr-area:nth-child(n+9){
        display: none !important;
    }
}


/* v1.5 — editable columns fix */
.wcftr-heading{
    color:#5BE3B8;
}

.wcftr-link,
.wcftr-area,
.wcftr-contact-value{
    color:#FFFFFF;
}

.wcftr-contact-label{
    color:rgba(255,255,255,.68);
}

.wcftr-heading,
.wcftr-link,
.wcftr-area,
.wcftr-contact-label,
.wcftr-contact-value{
    font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.wcftr-heading{
    font-size:12px;
    line-height:1;
    font-weight:850;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.wcftr-link,
.wcftr-area,
.wcftr-contact-value{
    font-size:14px;
    line-height:1.38;
    font-weight:650;
}

.wcftr-contact-label{
    font-size:12px;
    line-height:1.2;
    font-weight:760;
}

/* direct class hooks for Elementor selector controls */
.wcftr-explore-col,
.wcftr-areas-col,
.wcftr-contact-col{
    min-width:0;
}

.wcftr-contact-icon{
    color:#5BE3B8 !important;
}

.wcftr-contact-icon::before{
    color:inherit !important;
}


/* v1.6 — typography size edit fix */
/* No hard font-size !important here. Elementor typography controls can now win. */

.wcftr-explore-col .wcftr-link,
.wcftr-areas-col .wcftr-area,
.wcftr-contact-col .wcftr-contact-label,
.wcftr-contact-col .wcftr-contact-value{
    font-size: inherit;
}

.wcftr-heading{
    font-size: 12px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.wcftr-explore-col .wcftr-link,
.wcftr-areas-col .wcftr-area,
.wcftr-contact-col .wcftr-contact-value{
    font-size: 14px;
    line-height: 1.38;
    font-weight: 650;
}

.wcftr-contact-col .wcftr-contact-label{
    font-size: 12px;
    line-height: 1.2;
    font-weight: 760;
}


/* v1.7 — premium aligned defaults + social vertical control */
.wcftr-footer{
    background:
        radial-gradient(circle at 88% 12%, rgba(42,191,183,.16), transparent 28%),
        linear-gradient(135deg, #071C31 0%, #092139 62%, #0A2A3F 100%) !important;
}

.wcftr-shell{
    max-width: 1380px;
}

.wcftr-main{
    grid-template-columns: minmax(280px,1.2fr) minmax(170px,.72fr) minmax(260px,.95fr) minmax(320px,1.15fr) !important;
    align-items: start !important;
    gap: 54px !important;
}

.wcftr-brand-col{
    padding-top: 2px;
}

.wcftr-logo{
    max-width: 175px;
    margin-bottom: 14px !important;
}

.wcftr-tagline{
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .11em !important;
    color: rgba(255,255,255,.52) !important;
}

.wcftr-description{
    max-width: 365px !important;
    margin-top: 18px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    font-weight: 560 !important;
    letter-spacing: 0 !important;
}

.wcftr-socials{
    margin-top: 24px;
}

.wcftr-heading{
    color: #5BE3B8 !important;
    font-family: "Geist Mono", monospace !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 850 !important;
    letter-spacing: .28em !important;
    text-transform: none !important;
    margin-bottom: 20px !important;
}

.wcftr-link,
.wcftr-area,
.wcftr-contact-value{
    color: rgba(255,255,255,.82) !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    font-weight: 650 !important;
    letter-spacing: .08em !important;
}

.wcftr-contact-label{
    color: rgba(255,255,255,.56) !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.wcftr-links,
.wcftr-areas{
    gap: 11px !important;
}

.wcftr-contact-col{
    gap: 18px !important;
}

.wcftr-contact-item{
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 14px !important;
    align-items: center !important;
}

.wcftr-contact-icon{
    width: 34px !important;
    height: 34px !important;
    background: rgba(91,227,184,.09) !important;
    border: 1px solid rgba(91,227,184,.22) !important;
    color: #5BE3B8 !important;
}

.wcftr-bottom{
    margin-top: 42px !important;
}

.wcftr-back-top{
    min-width: 210px;
    min-height: 54px;
    padding: 0 26px !important;
    border-radius: 14px !important;
    background: linear-gradient(90deg, #5BE3B8, #2ABFB7) !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase;
}

@media (max-width: 1200px){
    .wcftr-main{
        grid-template-columns: 1fr 1fr !important;
        gap: 42px !important;
    }
}

@media (max-width: 767px){
    .wcftr-main{
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .wcftr-heading{
        font-size: 13px !important;
        letter-spacing: .22em !important;
        margin-bottom: 14px !important;
    }

    .wcftr-description{
        max-width: none !important;
        font-size: 13px !important;
    }

    .wcftr-link,
    .wcftr-area,
    .wcftr-contact-value{
        font-size: 13px !important;
        letter-spacing: .06em !important;
    }

    .wcftr-contact-item{
        grid-template-columns: 44px minmax(0,1fr) !important;
    }

    .wcftr-back-top{
        width: 100%;
        min-width: 0;
    }
}
