.ecw-footer{
    --ef-bg:#353732;
    --ef-text:#fff;
    --ef-muted:#c9c9c4;
    --ef-accent:#FD5734;
    --ef-gold:#BBB382;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    direction:rtl;
    background:var(--ef-bg);
    color:var(--ef-text);
    font-family:var(--dr-font,"IRANSans",Tahoma,Arial,sans-serif);
}

.ecw-footer *,
.ecw-footer *::before,
.ecw-footer *::after{box-sizing:border-box}

.ecw-footer-eye{
    position:absolute;
    z-index:-1;
    top:-18%;
    right:-4%;
    width:48%;
    height:125%;
    background-repeat:no-repeat;
    background-position:center right;
    background-size:cover;
    opacity:.11;
    filter:grayscale(1) contrast(1.05);
    pointer-events:none;
    -webkit-mask-image:linear-gradient(to left,#000 20%,transparent 100%);
    mask-image:linear-gradient(to left,#000 20%,transparent 100%);
}

.ecw-footer::after{
    content:"";
    position:absolute;
    z-index:-2;
    inset:0;
    background:
        radial-gradient(circle at 80% 25%,rgba(187,179,130,.07),transparent 31%),
        linear-gradient(115deg,rgba(20,22,20,.16),transparent 50%);
    pointer-events:none;
}

.ecw-footer-container{
    width:min(1240px,calc(100% - 48px));
    margin-inline:auto;
}

.ecw-footer-main{
    padding:64px 0 52px;
}

.ecw-footer-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr .8fr 1.25fr;
    gap:0;
}

.ecw-footer-column{
    min-width:0;
    padding:0 32px;
    border-left:1px solid rgba(255,255,255,.1);
}

.ecw-footer-column:first-child{padding-right:0}
.ecw-footer-column:last-child{
    padding-left:0;
    border-left:0;
}

.ecw-footer-title{
    position:relative;
    margin:0 0 26px;
    padding-bottom:13px;
    color:#fff;
    font-size:17px;
    font-weight:400;
    line-height:1.8;
}

.ecw-footer-title::after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    width:34px;
    height:3px;
    border-radius:10px;
    background:var(--ef-accent);
}

.ecw-footer-muted{
    color:var(--ef-muted);
}

.ecw-footer-about{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.ecw-footer-logo{
    display:block;
    width:auto;
    max-width:150px;
    max-height:82px;
    margin-bottom:18px;
    object-fit:contain;
}

.ecw-footer-about-title{
    margin:0 0 10px;
    color:#fff;
    font-size:16px;
    font-weight:400;
    line-height:1.9;
}

.ecw-footer-bio{
    max-width:290px;
    margin:0;
    font-size:13px;
    font-weight:400;
    line-height:2.05;
}

.ecw-footer-socials{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:22px;
}

.ecw-footer-socials a{
    width:39px;
    height:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    background:rgba(255,255,255,.06);
    color:#fff;
    text-decoration:none;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.ecw-footer-socials a:hover{
    transform:translateY(-2px);
    background:var(--ef-accent);
    border-color:var(--ef-accent);
    color:#fff;
}

.ecw-footer-socials svg{
    width:18px;
    height:18px;
    fill:currentColor;
}

.ecw-footer-menu-list{
    margin:0;
    padding:0;
    list-style:none;
}

.ecw-footer-menu-list li{
    margin:0;
    padding:0;
    border-bottom:1px solid rgba(255,255,255,.065);
}

.ecw-footer-menu-list li:last-child{border-bottom:0}

.ecw-footer-menu-list a{
    position:relative;
    display:block;
    padding:9px 15px 9px 0;
    color:#eee;
    font-size:13px;
    font-weight:400;
    line-height:1.8;
    text-decoration:none;
    transition:color .18s ease,padding-right .18s ease;
}

.ecw-footer-menu-list a::before{
    content:"";
    position:absolute;
    right:1px;
    top:50%;
    width:5px;
    height:5px;
    border-left:1.5px solid var(--ef-accent);
    border-bottom:1.5px solid var(--ef-accent);
    transform:translateY(-50%) rotate(45deg);
}

.ecw-footer-menu-list a:hover{
    color:var(--ef-accent);
    padding-right:19px;
}

.ecw-contact-row{
    display:grid;
    grid-template-columns:25px minmax(0,1fr);
    gap:10px;
    align-items:start;
    margin-bottom:15px;
    color:#fff;
    font-size:13px;
    font-weight:400;
    line-height:1.95;
}

.ecw-contact-row a{
    color:#fff;
    text-decoration:none;
    font-weight:400;
}

.ecw-contact-row a:hover{color:var(--ef-accent)}

.ecw-contact-icon{
    width:25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--ef-gold);
}

.ecw-contact-icon svg{
    width:17px;
    height:17px;
    fill:currentColor;
}

.ecw-footer-location{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    margin-top:5px;
    padding:7px 14px;
    border:1px solid rgba(187,179,130,.32);
    border-radius:9px;
    color:#ddd !important;
    font-size:12px;
    font-weight:400;
    text-decoration:none;
    transition:background .18s ease,color .18s ease;
}

.ecw-footer-location:hover{
    background:rgba(187,179,130,.1);
    color:#fff !important;
}

.ecw-footer-bottom{
    position:relative;
    border-top:1px solid rgba(255,255,255,.1);
    background:rgba(20,22,20,.13);
}

.ecw-footer-bottom-inner{
    min-height:66px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.ecw-footer-copyright{
    color:#aaa;
    font-size:11.5px;
    font-weight:400;
    line-height:1.8;
}

.ecw-footer-bottom-links{
    display:flex;
    align-items:center;
    gap:20px;
}

.ecw-footer-bottom-links a{
    color:#aaa;
    font-size:11.5px;
    font-weight:400;
    text-decoration:none;
}

.ecw-footer-bottom-links a:hover{color:#fff}

.ecw-footer a:focus-visible{
    outline:2px solid var(--ef-accent);
    outline-offset:3px;
}

/* Tablet */

@media(max-width:1024px){

    .ecw-footer-main{padding:52px 0 44px}

    .ecw-footer-grid{
        grid-template-columns:1fr 1fr;
        gap:38px 0;
    }

    .ecw-footer-column{
        padding:0 28px;
    }

    .ecw-footer-column:nth-child(2){
        border-left:0;
    }

    .ecw-footer-column:nth-child(3),
    .ecw-footer-column:nth-child(4){
        padding-top:6px;
    }

    .ecw-footer-eye{
        width:70%;
        right:25%;
        opacity:.065;
    }
}

/* Mobile */

@media(max-width:767px){

    .ecw-footer-container{
        width:calc(100% - 32px);
    }

    .ecw-footer-main{
        padding:42px 0 32px;
    }

    .ecw-footer-grid{
        display:flex;
        flex-direction:column;
        gap:0;
    }

    .ecw-footer-column,
    .ecw-footer-column:first-child,
    .ecw-footer-column:last-child{
        width:100%;
        padding:27px 0;
        border-left:0;
        border-bottom:1px solid rgba(255,255,255,.09);
    }

    .ecw-footer-column:first-child{padding-top:0}

    .ecw-footer-column:last-child{
        padding-bottom:0;
        border-bottom:0;
    }

    .ecw-footer-about{
        align-items:flex-start;
    }

    .ecw-footer-logo{
        max-width:130px;
        max-height:72px;
    }

    .ecw-footer-title{
        margin-bottom:18px;
        font-size:16px;
    }

    .ecw-footer-bio{
        max-width:100%;
        font-size:12.5px;
    }

    .ecw-footer-menu-list a{
        min-height:42px;
        display:flex;
        align-items:center;
    }

    .ecw-footer-eye{
        top:auto;
        right:-40%;
        bottom:0;
        width:125%;
        height:52%;
        opacity:.055;
        background-position:center;
    }

    .ecw-footer-bottom-inner{
        min-height:0;
        padding:20px 0;
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    .ecw-footer-bottom-links{
        gap:15px;
        flex-wrap:wrap;
    }
}

@media(prefers-reduced-motion:reduce){
    .ecw-footer *,
    .ecw-footer *::before,
    .ecw-footer *::after{
        transition-duration:.01ms !important;
    }
}


/* =========================================================
   ECW FOOTER V3 — Elementor style controls / typography guard
   ========================================================= */

.ecw-footer{
    font-synthesis:none;
}

.ecw-footer *,
.ecw-footer *::before,
.ecw-footer *::after{
    font-synthesis:none;
}

.ecw-footer-title,
.ecw-footer-about-title,
.ecw-footer-bio,
.ecw-footer-menu-list a,
.ecw-contact-row,
.ecw-contact-row a,
.ecw-footer-location,
.ecw-footer-copyright,
.ecw-footer-bottom-links a{
    font-family:var(--dr-font,"IRANSans",Tahoma,Arial,sans-serif);
}

/* Default typography is intentionally light.
   Elementor Typography controls may override these values. */

.ecw-footer-title,
.ecw-footer-about-title{
    font-weight:400;
}

.ecw-footer-bio,
.ecw-footer-menu-list a,
.ecw-contact-row,
.ecw-contact-row a,
.ecw-footer-location,
.ecw-footer-copyright,
.ecw-footer-bottom-links a{
    font-weight:400;
}

/* RTL DOM order:
   About → Services → Quick → Contact */

.ecw-footer-about{
    order:1;
}

.ecw-footer-services{
    order:2;
}

.ecw-footer-quick{
    order:3;
}

.ecw-footer-contact{
    order:4;
}

/* Allow per-column Elementor backgrounds/radius without clipping issues */

.ecw-footer-column{
    min-width:0;
    transition:
        background-color .2s ease,
        border-color .2s ease;
}

/* Elementor controls should determine presentation,
   these are only safe defaults */

.ecw-footer-services,
.ecw-footer-quick,
.ecw-footer-contact,
.ecw-footer-about{
    background-color:transparent;
}

/* Prevent browser synthetic bold on Persian text */

.ecw-footer strong,
.ecw-footer b{
    font-weight:500;
}

/* Tablet keeps two-by-two layout but preserves semantic order */

@media(max-width:1024px){

    .ecw-footer-grid{
        direction:rtl;
    }

    .ecw-footer-about{
        order:1;
    }

    .ecw-footer-services{
        order:2;
    }

    .ecw-footer-quick{
        order:3;
    }

    .ecw-footer-contact{
        order:4;
    }
}

/* Mobile:
   About first, contact last, matching DOM/accessibility order */

@media(max-width:767px){

    .ecw-footer-about{
        order:1;
    }

    .ecw-footer-services{
        order:2;
    }

    .ecw-footer-quick{
        order:3;
    }

    .ecw-footer-contact{
        order:4;
    }
}


/* =========================================================
   ECW FOOTER V3.1
   Alignment + slim menus + contact socials + trust badges
   ========================================================= */

/* خدمات و دسترسی سریع عمداً ضخیم نباشند */
.ecw-footer-services .ecw-footer-menu-list a,
.ecw-footer-quick .ecw-footer-menu-list a{
    font-weight:400 !important;
}

/* Title remains restrained */
.ecw-footer-services .ecw-footer-title,
.ecw-footer-quick .ecw-footer-title{
    font-weight:500;
}

/* Alignment should also affect headings */
.ecw-footer-column{
    text-align:inherit;
}

.ecw-footer-column .ecw-footer-title{
    text-align:inherit;
}

.ecw-footer-column .ecw-footer-title::after{
    right:0;
    left:auto;
}

/* Contact socials */
.ecw-footer-contact-socials{
    margin-top:14px;
}

/* Trust badges use the space vacated by social icons */
.ecw-footer-trusts{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:10px;
    margin-top:16px;
}

.ecw-trust-box{
    width:80px;
    height:80px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:7px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:rgba(255,255,255,.06);
}

.ecw-trust-box a{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ecw-trust-box img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

/*
 * Footer height guard:
 * tighten vertical rhythm instead of growing footer.
 */
.ecw-footer-main{
    padding-top:52px;
    padding-bottom:42px;
}

.ecw-contact-row{
    margin-bottom:10px;
}

.ecw-footer-contact-socials{
    margin-top:10px;
}

.ecw-footer-about .ecw-footer-trusts{
    margin-top:14px;
}

/* Tablet/mobile */
@media(max-width:1024px){
    .ecw-footer-main{
        padding-top:44px;
        padding-bottom:38px;
    }
}

@media(max-width:767px){

    .ecw-footer-services .ecw-footer-menu-list a,
    .ecw-footer-quick .ecw-footer-menu-list a{
        font-weight:400 !important;
    }

    .ecw-footer-trusts{
        margin-top:14px;
    }

    .ecw-trust-box{
        width:72px;
        height:72px;
    }
}


/* =========================================================
   ECW FOOTER V3.2
   Final typography + contact actions alignment
   ========================================================= */

/*
 * IMPORTANT:
 * Some theme/integration rules apply heavy weights to menu text.
 * These selectors intentionally win only inside this footer.
 */
.ecw-footer .ecw-footer-services .ecw-footer-menu-list,
.ecw-footer .ecw-footer-services .ecw-footer-menu-list li,
.ecw-footer .ecw-footer-services .ecw-footer-menu-list li a,
.ecw-footer .ecw-footer-quick .ecw-footer-menu-list,
.ecw-footer .ecw-footer-quick .ecw-footer-menu-list li,
.ecw-footer .ecw-footer-quick .ecw-footer-menu-list li a{
    font-family:var(--dr-font,"IRANSans",Tahoma,Arial,sans-serif) !important;
    font-weight:400 !important;
    font-synthesis:none !important;
}

/* Column headings remain restrained */
.ecw-footer .ecw-footer-services .ecw-footer-title,
.ecw-footer .ecw-footer-quick .ecw-footer-title{
    font-weight:500 !important;
    font-synthesis:none !important;
}

/* Contact data */
.ecw-footer .ecw-contact-row,
.ecw-footer .ecw-contact-row a,
.ecw-footer .ecw-contact-row span{
    font-weight:400 !important;
    font-synthesis:none !important;
}

/* Route button: remove the heavy appearance */
.ecw-footer .ecw-footer-location{
    min-height:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    vertical-align:middle;
    margin-top:8px;
    padding:0 14px;
    font-family:var(--dr-font,"IRANSans",Tahoma,Arial,sans-serif) !important;
    font-size:12px;
    font-weight:400 !important;
    line-height:1;
    font-synthesis:none !important;
}

/*
 * Social icons appear immediately to the LEFT of the route button
 * in the RTL contact column.
 */
.ecw-footer .ecw-footer-contact-socials{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    margin:8px 8px 0 0;
    vertical-align:middle;
}

/* Same visual height as the route button */
.ecw-footer .ecw-footer-contact-socials a{
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    margin:0;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 40px;
}

/* Keep social SVGs visually balanced */
.ecw-footer .ecw-footer-contact-socials svg{
    width:17px;
    height:17px;
}

/* Don't let contact actions increase footer height unnecessarily */
.ecw-footer .ecw-footer-contact{
    align-content:start;
}

.ecw-footer .ecw-footer-contact .ecw-contact-row:last-of-type{
    margin-bottom:2px;
}

/* Mobile: actions stay compact and may wrap if necessary */
@media(max-width:767px){

    .ecw-footer .ecw-footer-location,
    .ecw-footer .ecw-footer-contact-socials{
        margin-top:8px;
    }

    .ecw-footer .ecw-footer-location{
        height:40px;
        min-height:40px;
    }

    .ecw-footer .ecw-footer-contact-socials a{
        width:40px;
        height:40px;
        min-width:40px;
        min-height:40px;
    }
}


/* =========================================================
   ECW FOOTER V3.3 — definitive typography + contact actions
   ========================================================= */

/*
 * Elementor currently generates YEKAN for these menu links.
 * Force the site's approved IRANSans here with higher specificity.
 */
body .elementor .elementor-widget-eye_clinic_footer
.ecw-footer .ecw-footer-services .ecw-footer-menu-list li > a,

body .elementor .elementor-widget-eye_clinic_footer
.ecw-footer .ecw-footer-quick .ecw-footer-menu-list li > a{

    font-family:"IRANSans","IRANSansX",Tahoma,Arial,sans-serif !important;
    font-weight:400 !important;
    font-style:normal !important;
    font-synthesis:none !important;

    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* Also prevent li / menu ancestors from introducing heavy text */
body .elementor .elementor-widget-eye_clinic_footer
.ecw-footer .ecw-footer-services .ecw-footer-menu-list,

body .elementor .elementor-widget-eye_clinic_footer
.ecw-footer .ecw-footer-services .ecw-footer-menu-list li,

body .elementor .elementor-widget-eye_clinic_footer
.ecw-footer .ecw-footer-quick .ecw-footer-menu-list,

body .elementor .elementor-widget-eye_clinic_footer
.ecw-footer .ecw-footer-quick .ecw-footer-menu-list li{
    font-family:"IRANSans","IRANSansX",Tahoma,Arial,sans-serif !important;
    font-weight:400 !important;
    font-synthesis:none !important;
}

/* Route button */
body .elementor .elementor-widget-eye_clinic_footer
.ecw-footer .ecw-footer-location{
    font-family:"IRANSans","IRANSansX",Tahoma,Arial,sans-serif !important;
    font-weight:400 !important;
    font-synthesis:none !important;
}

/* One real horizontal actions row */
.ecw-footer .ecw-contact-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:8px;
    margin-top:10px;
}

/* Remove old individual margins */
.ecw-footer .ecw-contact-actions .ecw-footer-location,
.ecw-footer .ecw-contact-actions .ecw-footer-contact-socials{
    margin:0 !important;
}

/* Route button and social buttons exactly same height */
.ecw-footer .ecw-contact-actions .ecw-footer-location{
    height:40px;
    min-height:40px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    line-height:1;
}

.ecw-footer .ecw-contact-actions .ecw-footer-contact-socials{
    height:40px;
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
}

.ecw-footer .ecw-contact-actions .ecw-footer-contact-socials a{
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    flex:0 0 40px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ecw-footer .ecw-contact-actions .ecw-footer-contact-socials svg{
    width:17px;
    height:17px;
}

/* Mobile may wrap only if physical width is insufficient */
@media(max-width:767px){
    .ecw-footer .ecw-contact-actions{
        flex-wrap:wrap;
    }
}
