/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/








/* =========================================================
   GLOBAL
========================================================= */

:root{
    --el-green:#234B38;
    --el-gold:#C8A24C;
    --el-white:#FAF8F3;
    --el-beige:#F3EEE5;
    --el-text:#2E2E2E;
}

html{
    scroll-behavior:smooth;
    margin:0 !important;
    padding:0 !important;
    margin-top:0 !important;
}

body{
    margin:0 !important;
    margin-top:0 !important;
    padding-top:68px !important;
}


/* =========================================================
   REMOVE WORDPRESS ADMIN BAR SPACE
========================================================= */

/* مخفی کردن نوار مدیریت وردپرس در فرانت‌اند */
#wpadminbar{
    display:none !important;
}

/* وردپرس هنگام لاگین روی HTML فاصله ایجاد می‌کند */
html,
html.wp-toolbar,
html[style]{
    margin-top:0 !important;
}

body.admin-bar{
    margin-top:0 !important;
    padding-top:68px !important;
}


/* =========================================================
   ANCHOR
========================================================= */

#form{
    scroll-margin-top:100px;
}


/* =========================================================
   TIMELINE
========================================================= */

.rs7-timeline{
    position:relative;
}

.rs7-timeline::before{
    content:"";
    position:absolute;
    left:50px;
    top:40px;
    width:2px;
    height:calc(100% - 80px);
    background:#C8A24C;
    z-index:0;
}

.process-card{
    background:#FFFFFF;
    border:1px solid #ECE6DB;
    border-radius:22px;
    padding:28px;
    margin-bottom:22px;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
    transition:all .35s ease;
}

.process-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 42px rgba(0,0,0,.10);
    border-color:#C8A85B;
}

.process-number{
    position:absolute;
    left:-18px;
    top:35px;

    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#123C2F;
    color:#fff;

    font-size:15px;
    font-weight:700;

    box-shadow:0 5px 15px rgba(0,0,0,.15);

    z-index:5;
}


/* =========================================================
   CONTACT FORM
========================================================= */

.contact-form-box{
    position:relative;

    width:100%;

    background:#ffffff;

    border-radius:24px;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    padding:32px;

    box-sizing:border-box;
}

.elorigin-form{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
}

.elorigin-form .wpforms-container{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;

    margin:0 !important;
}

.elorigin-form .wpforms-field-container{
    width:100% !important;

    display:grid !important;

    grid-template-columns:1fr 1fr;

    column-gap:24px;

    row-gap:20px;
}

.elorigin-form .wpforms-field{
    width:100% !important;
    max-width:100% !important;

    margin:0 !important;
    padding:0 !important;

    box-sizing:border-box;
}

.elorigin-form .wpforms-field-label{
    display:block;

    font-size:14px !important;
    font-weight:600 !important;

    color:#163F33 !important;

    margin-bottom:8px !important;
}

.elorigin-form input,
.elorigin-form select,
.elorigin-form textarea{
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;

    display:block;

    box-sizing:border-box;
}

.elorigin-form input::placeholder,
.elorigin-form textarea::placeholder{
    color:#A6A6A6 !important;
}

.elorigin-form input:focus,
.elorigin-form textarea:focus,
.elorigin-form select:focus{
    border-color:#C8A046 !important;

    box-shadow:
    0 0 0 4px rgba(200,160,70,.15) !important;

    outline:none !important;
}


/* Field Positions */

#wpforms-921-field_1-container{
    grid-column:1;
}

#wpforms-921-field_2-container{
    grid-column:2;
}

#wpforms-921-field_3-container{
    grid-column:1;
}

#wpforms-921-field_4-container{
    grid-column:2;
}

#wpforms-921-field_5-container,
#wpforms-921-field_11-container,
#wpforms-921-field_8-container{
    grid-column:1 / -1;
}


/* Form Headings */

.elorigin-form h2,
.elorigin-form h3{
    color:#123F32;

    font-weight:700;
}


/* Submit */

.elorigin-form .wpforms-submit-container{
    width:100% !important;

    margin-top:10px;
}

.elorigin-form button.wpforms-submit{
    width:100% !important;

    height:56px !important;

    background:#0E4B3B !important;

    color:#ffffff !important;

    border:none !important;

    border-radius:12px !important;

    font-size:16px !important;

    font-weight:600 !important;

    letter-spacing:.2px;

    cursor:pointer;

    transition:.3s ease;
}

.elorigin-form button.wpforms-submit:hover{
    background:#C9A24A !important;

    transform:translateY(-2px);
}


/* Form Notes */

.elorigin-form .form-note{
    margin-top:18px;

    text-align:center;

    font-size:13px;

    line-height:1.7;

    color:#777;
}


/* Textarea */

.elorigin-form textarea{
    height:150px !important;

    padding-top:15px !important;
}


/* Select */

.elorigin-form select{
    cursor:pointer;
}


/* Description */

.elorigin-form .wpforms-field-description{
    color:#999 !important;

    font-size:12px !important;

    line-height:1.5;
}


/* Errors */

.elorigin-form .wpforms-error{
    font-size:12px;
}


/* Form Mobile */

@media(max-width:767px){

    .contact-form-box{
        padding:22px;

        border-radius:18px;
    }

    .elorigin-form .wpforms-field-container{
        grid-template-columns:1fr !important;

        gap:16px !important;
    }

    .elorigin-form .wpforms-field{
        grid-column:1 !important;
    }

    .elorigin-form input,
    .elorigin-form select{
        height:52px !important;
    }

    .elorigin-form textarea{
        min-height:130px !important;
    }

    .elorigin-form button.wpforms-submit{
        height:52px !important;

        font-size:15px !important;
    }
}


/* =========================================================
   FOOTER
========================================================= */

.elorigin-footer{
    position:relative;

    background:var(--el-green);

    overflow:hidden;

    padding:135px 0 40px;
}

.footer-main,
.footer-cta,
.footer-bottom{
    width:100%;

    max-width:1280px;

    margin-inline:auto;

    padding-inline:32px;

    box-sizing:border-box;
}


/* =========================================================
   FOOTER CTA
========================================================= */

.footer-cta{
    position:relative;

    z-index:20;

    margin-bottom:80px;
}

.footer-cta-card{
    background:var(--el-white);

    border-radius:28px;

    border:1px solid rgba(200,162,76,.18);

    padding:46px 54px;

    box-shadow:0 20px 60px rgba(0,0,0,.12);

    transition:all .35s ease;
}

.footer-cta-card:hover{
    transform:translateY(-5px);

    box-shadow:0 30px 70px rgba(0,0,0,.16);
}

.footer-cta-content{
    max-width:720px;
}

.footer-cta-content .elementor-heading-title{
    color:var(--el-green);

    font-size:36px;

    font-weight:700;

    line-height:1.25;

    margin:0 0 16px;
}

.footer-cta-content p{
    color:#5D655E;

    font-size:17px;

    line-height:1.8;

    margin:0;
}

.footer-cta-button{
    display:flex;

    align-items:center;

    justify-content:flex-end;
}

.footer-cta-button .elementor-button{
    background:var(--el-gold);

    color:#FFF;

    border-radius:999px;

    border:none;

    padding:18px 34px;

    font-size:15px;

    font-weight:700;

    letter-spacing:.7px;

    text-transform:uppercase;

    transition:all .35s ease;

    box-shadow:0 12px 30px rgba(200,162,76,.28);
}

.footer-cta-button .elementor-button:hover{
    background:#B8933F;

    transform:translateY(-3px);

    box-shadow:0 18px 35px rgba(0,0,0,.18);
}

.footer-cta-button .elementor-button i,
.footer-cta-button .elementor-button svg{
    transition:transform .35s ease;
}

.footer-cta-button .elementor-button:hover i,
.footer-cta-button .elementor-button:hover svg{
    transform:translateX(4px);
}


/* =========================================================
   FOOTER BRAND
========================================================= */

.footer-brand{
    display:flex;

    flex-direction:column;

    gap:20px;
}

.brand-header{
    display:flex;

    align-items:center;

    justify-content:flex-start;

    gap:10px;

    margin:0;

    padding:0;
}

.brand-header > *{
    margin:0 !important;

    padding:0 !important;
}

.brand-header .elementor-widget-image{
    flex:0 0 auto;
}

.brand-header img{
    display:block;

    width:68px;

    height:auto;

    margin:0 !important;

    padding:0 !important;
}

.brand-header .elementor-heading-title{
    margin:0 !important;

    padding:0 !important;

    color:var(--el-white);

    font-size:30px;

    font-weight:700;

    letter-spacing:1px;

    line-height:1;
}

.footer-brand h4,
.footer-brand h5{
    color:var(--el-gold);

    font-size:18px;

    font-weight:600;

    line-height:1.5;

    margin:0;
}

.footer-brand p{
    color:rgba(250,248,243,.82);

    font-size:15px;

    line-height:1.8;

    margin:0;
}


/* =========================================================
   FOOTER CONTACT
========================================================= */

.footer-contact{
    display:flex;

    flex-direction:column;

    gap:14px;
}

.footer-contact > .e-con:first-child{
    margin-bottom:8px;
}

.footer-contact > .e-con:first-child .elementor-heading-title{
    color:var(--el-white);

    font-size:20px;

    font-weight:700;

    margin:0;
}

.footer-contact .contact-item{
    display:flex;

    align-items:center;

    gap:14px;

    padding:12px 14px;

    border-radius:14px;

    transition:all .3s ease;
}

.footer-contact .contact-item .elementor-icon{
    width:40px;

    height:40px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.06);

    color:var(--el-gold);

    transition:.3s;
}

.footer-contact .contact-item p,
.footer-contact .contact-item a{
    margin:0;

    color:rgba(250,248,243,.85);

    font-size:15px;

    line-height:1.6;

    text-decoration:none;
}

.footer-contact .contact-item:hover{
    background:rgba(255,255,255,.05);
}

.footer-contact .contact-item:hover .elementor-icon{
    background:rgba(200,162,76,.18);

    color:var(--el-gold);

    transform:rotate(-8deg);
}

.footer-contact .contact-item:hover a,
.footer-contact .contact-item:hover p{
    color:#FFF;
}


/* =========================================================
   FOOTER LINKS
========================================================= */

.footer-links{
    display:flex;

    flex-direction:column;

    gap:18px;
}

.footer-links > .e-con:first-child{
    margin-bottom:6px;
}

.footer-links > .e-con:first-child .elementor-heading-title{
    margin:0;

    color:var(--el-white);

    font-size:20px;

    font-weight:700;
}

.footer-links .elementor-icon-list{
    margin:0;
}

.footer-links .elementor-icon-list-items{
    display:flex;

    flex-direction:column;

    gap:10px;
}

.footer-links .elementor-icon-list-item{
    padding:12px 14px;

    border-radius:14px;

    transition:.30s ease;
}

.footer-links .elementor-icon-list-icon{
    color:var(--el-gold);

    font-size:14px;

    min-width:18px;
}

.footer-links .elementor-icon-list-text{
    color:rgba(250,248,243,.86);

    font-size:15px;

    font-weight:500;

    transition:.30s;
}

.footer-links .elementor-icon-list-item:hover{
    background:rgba(255,255,255,.05);

    transform:translateX(6px);
}

.footer-links .elementor-icon-list-item:hover .elementor-icon-list-text{
    color:#FFFFFF;
}

.footer-links .elementor-icon-list-item:hover .elementor-icon-list-icon{
    color:#E2BE68;
}


/* =========================================================
   SOCIAL ICONS
========================================================= */

.social-icons{
    display:flex;

    align-items:center;

    gap:14px;

    flex-wrap:wrap;
}

.social-icons .elementor-social-icon{
    width:46px;

    height:46px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.10);

    transition:all .35s ease;
}

.social-icons .elementor-social-icon i,
.social-icons .elementor-social-icon svg{
    font-size:18px;

    transition:.35s ease;
}

.social-icons .elementor-social-icon:hover{
    background:var(--el-gold);

    border-color:var(--el-gold);

    transform:translateY(-4px);

    box-shadow:0 12px 28px rgba(200,162,76,.30);
}

.social-icons .elementor-social-icon:hover i,
.social-icons .elementor-social-icon:hover svg{
    transform:scale(1.12);
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom{
    margin-top:72px;

    padding-top:28px;

    border-top:1px solid rgba(255,255,255,.08);

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;
}

.footer-bottom > .e-con{
    flex:1;
}

.footer-bottom > .e-con:first-child{
    text-align:left;
}

.footer-bottom > .e-con:nth-child(2){
    text-align:center;
}

.footer-bottom > .e-con:last-child{
    text-align:right;
}

.footer-bottom p{
    margin:0;

    color:rgba(250,248,243,.70);

    font-size:14px;

    line-height:1.7;
}

.footer-bottom .elementor-heading-title{
    margin:0;

    color:#C8A24C;

    font-size:12px;

    letter-spacing:2px;

    text-transform:uppercase;

    font-weight:600;
}

.footer-bottom .elementor-icon-list-items{
    display:flex;

    justify-content:flex-end;

    gap:20px;

    flex-wrap:wrap;
}

.footer-bottom .elementor-icon-list-item{
    padding:0;
}

.footer-bottom .elementor-icon-list-text{
    color:rgba(250,248,243,.70);

    font-size:14px;

    transition:.3s;
}

.footer-bottom .elementor-icon-list-item:hover .elementor-icon-list-text{
    color:#C8A24C;
}


/* =========================================================
   TRUSTED BADGE
========================================================= */

.trusted-badge{
    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 18px;

    background:rgba(0,0,0,.16);

    border:1px solid rgba(200,162,76,.35);

    border-radius:999px;

    margin-top:26px;
}

.trusted-badge .elementor-icon{
    color:var(--el-gold);

    font-size:18px;

    flex-shrink:0;
}

.trusted-badge p,
.trusted-badge span{
    margin:0;

    color:#FAF8F3;

    font-size:14px;

    font-weight:600;
}


/* =========================================================
   FOOTER TITLE
========================================================= */

.footer-title .elementor-heading-title{
    color:#FAF8F3 !important;

    font-size:20px !important;

    font-weight:700 !important;

    margin:0 !important;

    line-height:1.3;
}


/* =========================================================
   NEWSLETTER FORM
========================================================= */

.newsletter-form .wpforms-field-container{
    display:flex;

    flex-direction:column;

    gap:16px;
}

.newsletter-form input::placeholder{
    color:#8E8E8E;

    opacity:1;
}

.newsletter-form .wpforms-submit-container{
    margin-top:18px;
}

.newsletter-form .wpforms-submit{
    cursor:pointer;

    letter-spacing:.8px;

    text-transform:uppercase;
}

.newsletter-form .wpforms-submit:hover{
    box-shadow:0 14px 30px rgba(200,162,76,.25);
}

.newsletter-form .wpforms-submit-spinner{
    margin-left:12px;
}


/* =========================================================
   NEWSLETTER INLINE
========================================================= */

.newsletter-inline{
    display:flex;

    align-items:center;

    gap:0;

    width:100%;
}

.input-box{
    flex:1;

    min-width:0;
}

.button-box{
    width:130px;

    flex-shrink:0;

    margin-left:-2px;
}

.newsletter-input{
    width:100%;

    height:56px !important;

    min-height:56px !important;

    line-height:56px !important;

    padding:0 18px;

    border:none;

    outline:none;

    background:#FFFFFF;

    color:#2E2E2E;

    font-size:15px;

    border-radius:14px 0 0 14px;

    box-sizing:border-box;
}

.newsletter-input::placeholder{
    color:#8E8E8E;
}

.button-box .elementor-button{
    width:100%;

    height:56px !important;

    min-height:56px !important;

    padding:0 28px !important;

    border:none !important;

    border-radius:0 14px 14px 0;

    display:flex !important;

    align-items:center;

    justify-content:center;

    background:#C8A24C !important;

    color:#FFFFFF !important;

    font-weight:700;

    line-height:1 !important;

    transition:.35s;

    box-shadow:0 8px 20px rgba(200,162,76,.18);
}

.button-box .elementor-button:hover{
    background:#B8933F !important;

    color:#FFFFFF !important;

    transform:translateY(-2px);

    box-shadow:
    0 12px 28px rgba(200,162,76,.35),
    0 0 18px rgba(200,162,76,.25);
}


/* =========================================================
   FOOTER RESPONSIVE
========================================================= */

@media(max-width:1024px){

    .footer-main{
        grid-template-columns:1fr 1fr;

        gap:40px;
    }

    .footer-cta-card{
        padding:34px;
    }
}

@media(max-width:767px){

    .footer-main{
        display:flex;

        flex-direction:column;

        gap:40px;
    }

    .footer-cta-card{
        padding:28px 24px;

        text-align:center;
    }

    .footer-cta-content{
        width:100%;
    }

    .footer-cta-button{
        width:100%;

        margin-top:22px;

        justify-content:center;
    }

    .brand-header{
        justify-content:center;
    }

    .footer-brand{
        text-align:center;
    }

    .contact-item{
        justify-content:flex-start;
    }

    .footer-links{
        text-align:left;
    }

    .footer-links .elementor-icon-list-items{
        display:grid;

        grid-template-columns:1fr 1fr;

        gap:12px 18px;
    }

    .footer-links .elementor-icon-list-item{
        justify-content:flex-start;

        width:100%;
    }

    .footer-links .elementor-icon-list-text{
        text-align:left;
    }

    .newsletter-card{
        text-align:center;
    }

    .newsletter-form .wpforms-submit{
        width:100% !important;
    }

    .social-icons{
        justify-content:center;
    }

    .footer-bottom{
        flex-direction:column;

        text-align:center;

        gap:22px;
    }

    .footer-bottom > .e-con{
        width:100%;

        text-align:center !important;
    }

    .footer-bottom .elementor-icon-list-items{
        justify-content:center;
    }

    .trusted-badge{
        width:100%;

        justify-content:center;

        box-sizing:border-box;
    }
}


/* =========================================================
   TESTIMONIALS
========================================================= */

#testimonials-toggle{
    position:absolute;

    width:1px;

    height:1px;

    opacity:0;

    pointer-events:none;
}

.testimonials-list:has(#testimonials-toggle:checked)
~
.testimonials-toggle
.testimonials-show-more span:first-child{
    font-size:0;
}

.testimonials-list:has(#testimonials-toggle:checked)
~
.testimonials-toggle
.testimonials-show-more span:first-child::after{
    content:"Show Less";

    font-size:16px;
}

.testimonials-list:has(#testimonials-toggle:checked)
~
.testimonials-toggle
.show-more-arrow{
    transform:rotate(180deg);
}

.testimonials-show-more{
    width:100%;

    min-height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    box-sizing:border-box;

    background:#08351E;

    color:#FFFFFF;

    border:1px solid #08351E;

    border-radius:12px;

    font-family:inherit;

    font-size:16px;

    font-weight:600;

    line-height:1;

    text-align:center;

    cursor:pointer;

    transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.testimonials-show-more:hover{
    background:#1B3D2D;

    border-color:#1B3D2D;
}

.show-more-arrow{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    color:#C8A24C;

    font-size:20px;

    line-height:1;

    transition:transform .25s ease;
}

.testimonials-section:has(#testimonials-toggle:checked)
.show-more-text{
    font-size:0;
}

.testimonials-section:has(#testimonials-toggle:checked)
.show-more-text::after{
    content:"Show Less";

    font-size:16px;
}

.testimonials-section:has(#testimonials-toggle:checked)
.show-more-arrow{
    transform:rotate(180deg);
}


/* Testimonials Mobile */

@media(max-width:767px){

    .testimonials-section .testimonial-5,
    .testimonials-section .testimonial-6,
    .testimonials-section .testimonial-7,
    .testimonials-section .testimonial-8{
        display:none;
    }

    .testimonials-section .testimonial-4{
        max-height:190px;

        overflow:hidden;

        position:relative;
    }

    .testimonials-section .testimonial-4::after{
        content:"";

        position:absolute;

        left:0;

        right:0;

        bottom:0;

        height:90px;

        background:
        linear-gradient(
        to bottom,
        rgba(250,248,243,0),
        #FAF8F3
        );

        pointer-events:none;
    }

    .testimonials-section:has(#testimonials-toggle:checked)
    .testimonial-4{
        max-height:none;
    }

    .testimonials-section:has(#testimonials-toggle:checked)
    .testimonial-4::after{
        display:none;
    }

    .testimonials-section:has(#testimonials-toggle:checked)
    .testimonial-5,

    .testimonials-section:has(#testimonials-toggle:checked)
    .testimonial-6,

    .testimonials-section:has(#testimonials-toggle:checked)
    .testimonial-7,

    .testimonials-section:has(#testimonials-toggle:checked)
    .testimonial-8{
        display:flex;
    }
}


/* Testimonials Desktop */

@media(min-width:768px){

    .testimonials-section .testimonial-1,
    .testimonials-section .testimonial-2,
    .testimonials-section .testimonial-3,
    .testimonials-section .testimonial-4,
    .testimonials-section .testimonial-5,
    .testimonials-section .testimonial-6,
    .testimonials-section .testimonial-7,
    .testimonials-section .testimonial-8{
        display:flex;

        max-height:none;
    }

    .testimonials-section .testimonial-4::after{
        display:none;
    }

    .testimonials-show-more{
        display:none;
    }
}


/* =========================================================
   HEADER - FINAL
========================================================= */

.main-header{
    position:fixed !important;

    top:0 !important;
    inset-block-start:0 !important;

    left:0 !important;
    right:0 !important;

    width:100% !important;

    height:68px !important;
    min-height:68px !important;
    max-height:68px !important;

    margin:0 !important;
    margin-top:0 !important;
    margin-block-start:0 !important;

    padding:0 !important;
    padding-top:0 !important;

    background:#FFFFFF !important;

    border-bottom:1px solid #234B38 !important;

    overflow:visible !important;

    box-sizing:border-box !important;

    z-index:2147483000 !important;
}


/* Elementor Reset */

.main-header.elementor-element,
.main-header.e-con,
.main-header.e-flex{
    top:0 !important;

    inset-block-start:0 !important;

    margin-top:0 !important;

    margin-block-start:0 !important;

    padding-top:0 !important;
}

.main-header > .e-con-inner{
    margin-top:0 !important;

    padding-top:0 !important;
}


/* اگر هدر داخل Elementor Location Header باشد */

.elementor-location-header{
    margin-top:0 !important;

    padding-top:0 !important;

    top:0 !important;
}


/* Additional Child / Menu */

.main-header >
.elementor-element:not(.header-left):not(.header-logo):not(.header-right){

    position:absolute !important;

    left:10px !important;

    top:50% !important;

    transform:translateY(-50%) !important;

    margin:0 !important;

    padding:0 !important;

    z-index:3000 !important;
}


/* =========================================================
   HEADER LEFT
========================================================= */

.header-left{
    position:absolute !important;

    left:65px !important;

    top:50% !important;

    transform:translateY(-50%) !important;

    width:42px !important;

    height:42px !important;

    min-width:42px !important;

    min-height:42px !important;

    margin:0 !important;

    padding:0 !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    box-sizing:border-box !important;

    z-index:3000 !important;
}


/* =========================================================
   HEADER RIGHT
========================================================= */

.header-right{
    position:absolute !important;

    right:10px !important;

    top:50% !important;

    transform:translateY(-50%) !important;

    width:auto !important;

    height:42px !important;

    min-height:42px !important;

    margin:0 !important;

    padding:0 !important;

    display:flex !important;

    flex-direction:row !important;

    flex-wrap:nowrap !important;

    align-items:center !important;

    justify-content:flex-end !important;

    gap:12px !important;

    box-sizing:border-box !important;

    z-index:3000 !important;
}

.header-right > .elementor-element{
    width:42px !important;

    height:42px !important;

    min-width:42px !important;

    min-height:42px !important;

    flex:0 0 42px !important;

    margin:0 !important;

    padding:0 !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    box-sizing:border-box !important;
}


/* =========================================================
   HEADER LOGO
========================================================= */

.header-logo{
    position:absolute !important;

    left:50% !important;

    top:0 !important;

    transform:translateX(-50%) !important;

    width:100px !important;

    height:100px !important;

    min-width:100px !important;

    min-height:100px !important;

    margin:0 !important;

    padding:0 !important;

    background:#FFFFFF !important;

    border-radius:0 0 50px 50px !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    box-shadow:0 3px 14px rgba(0,0,0,.18) !important;

    box-sizing:border-box !important;

    z-index:5000 !important;
}

.logo-image{
    width:100% !important;

    height:100% !important;

    margin:0 !important;

    padding:0 !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;
}

.logo-image img{
    display:block !important;

    width:92px !important;

    height:92px !important;

    max-width:none !important;

    margin:0 !important;

    padding:0 !important;

    object-fit:contain !important;
}


/* =========================================================
   HEADER ICONS
========================================================= */

.header-left .elementor-icon,
.header-right .elementor-icon{
    color:#69B35A !important;
}


/* =========================================================
   ANIMATED BORDER
========================================================= */

.main-header .animated-border{
    position:relative !important;

    width:42px !important;

    height:42px !important;

    min-width:42px !important;

    min-height:42px !important;

    flex:0 0 42px !important;

    padding:0 !important;

    margin:0 !important;

    border-radius:50% !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    box-sizing:border-box !important;
}

.main-header .animated-border::before{
    content:"";

    position:absolute;

    inset:0;

    border:2px solid transparent;

    border-top-color:#69B35A;

    border-right-color:#69B35A;

    border-radius:50%;

    animation:greenBorder 2s linear infinite;

    pointer-events:none;
}

@keyframes greenBorder{
    to{
        transform:rotate(360deg);
    }
}

.main-header .animated-border .elementor-icon,
.main-header .animated-border .elementor-icon i,
.main-header .animated-border .elementor-icon svg{
    position:relative !important;

    z-index:2 !important;

    color:#69B35A !important;

    fill:#69B35A !important;
}


/* =========================================================
   TRANSLATEPRESS - ONLY HEADER
========================================================= */

.main-header
.animated-border
.trp-language-switcher{

    position:relative !important;

    top:0 !important;

    left:0 !important;

    width:42px !important;

    height:42px !important;

    min-width:42px !important;

    min-height:42px !important;

    margin:0 !important;

    padding:0 !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    line-height:1 !important;

    box-sizing:border-box !important;
}

.main-header
.animated-border
.trp-language-switcher > div{

    width:42px !important;

    height:42px !important;

    min-width:42px !important;

    min-height:42px !important;

    margin:0 !important;

    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    border-radius:50% !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    box-sizing:border-box !important;

    overflow:visible !important;
}

.main-header
.animated-border
.trp-language-switcher a{

    width:42px !important;

    height:42px !important;

    min-width:42px !important;

    min-height:42px !important;

    margin:0 !important;

    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    line-height:1 !important;

    text-align:center !important;

    text-decoration:none !important;

    color:#69B35A !important;

    box-sizing:border-box !important;
}

.main-header
.animated-border
.trp-language-switcher img{

    display:block !important;

    width:22px !important;

    height:22px !important;

    max-width:22px !important;

    margin:0 !important;

    padding:0 !important;

    object-fit:contain !important;
}

.main-header
.trp-language-switcher
.trp-arrow{
    display:none !important;
}


/* =========================================================
   FORCE HEADER TOP EVEN WHEN LOGGED IN
========================================================= */

body.admin-bar .main-header,
.admin-bar .main-header,
html.wp-toolbar .main-header{
    top:0 !important;

    inset-block-start:0 !important;

    margin-top:0 !important;
}


/* =========================================================
   HEADER TABLET
========================================================= */

@media(max-width:1024px){

    .main-header{
        top:0 !important;

        inset-block-start:0 !important;

        height:68px !important;

        min-height:68px !important;
    }

    .main-header >
    .elementor-element:not(.header-left):not(.header-logo):not(.header-right){
        left:10px !important;
    }

    .header-left{
        left:65px !important;
    }

    .header-right{
        right:10px !important;
    }
}


/* =========================================================
   HEADER MOBILE
========================================================= */

@media(max-width:767px){

    html,
    body,
    body.admin-bar{
        margin-top:0 !important;
    }

    body{
        padding-top:68px !important;
    }

    .main-header,
    body.admin-bar .main-header{
        top:0 !important;

        inset-block-start:0 !important;

        height:68px !important;

        min-height:68px !important;

        margin-top:0 !important;
    }

    .header-logo{
        top:0 !important;

        width:100px !important;

        height:100px !important;

        min-width:100px !important;

        min-height:100px !important;

        border-radius:0 0 50px 50px !important;
    }

    .logo-image img{
        width:92px !important;

        height:92px !important;
    }

    .header-left{
        left:65px !important;
    }

    .header-right{
        right:10px !important;

        gap:12px !important;
    }
}


/* =========================================================
   HEADER DESKTOP
========================================================= */

@media(min-width:1025px){

    .header-left{
        left:710px !important;
    }
}


/* =========================================================
   VIDEO GALLERY
========================================================= */

.video-gallery{
    width:100%;

    overflow:hidden;
}

.video-gallery .elementor-image-carousel-wrapper{
    overflow:visible;
}

.video-gallery .swiper{
    overflow:visible;
}

.video-gallery .swiper-slide{
    position:relative;

    border-radius:22px;

    overflow:hidden;
}

.video-gallery .swiper-slide img{
    width:100%;

    height:390px;

    object-fit:cover;

    display:block;

    border-radius:22px;
}

.video-gallery .elementor-image-carousel-caption{
    position:absolute;

    left:0;

    right:0;

    bottom:0;

    margin:0;

    padding:16px 18px;

    background:rgba(20,25,20,0.72);

    color:#FFFFFF;

    font-size:16px;

    font-weight:500;

    line-height:1.4;

    text-align:left;

    z-index:5;
}

@media(max-width:767px){

    .video-gallery{
        padding-left:22px;

        padding-right:22px;

        box-sizing:border-box;
    }

    .video-gallery .swiper{
        overflow:visible;
    }

    .video-gallery .swiper-slide{
        border-radius:22px;

        overflow:hidden;
    }

    .video-gallery .swiper-slide img{
        height:360px;

        border-radius:22px;

        object-fit:cover;
    }
}


/* =========================================================
   PHOTO GALLERY
========================================================= */

.photo-gallery{
    width:100%;

    overflow:hidden;
}

.photo-gallery .elementor-image-carousel-wrapper{
    overflow:visible;
}

.photo-gallery .swiper{
    overflow:visible;
}

.photo-gallery .swiper-slide{
    position:relative;

    border-radius:22px;

    overflow:hidden;
}

.photo-gallery .swiper-slide img{
    width:100%;

    height:390px;

    object-fit:cover;

    display:block;

    border-radius:22px;
}

.photo-gallery .elementor-image-carousel-caption{
    position:absolute;

    left:0;

    right:0;

    bottom:0;

    margin:0;

    padding:16px 18px;

    background:rgba(20,25,20,0.72);

    color:#FFFFFF;

    font-size:16px;

    font-weight:500;

    line-height:1.4;

    text-align:left;

    z-index:5;
}

@media(max-width:767px){

    .photo-gallery{
        padding-left:22px;

        padding-right:22px;

        box-sizing:border-box;
    }

    .photo-gallery .swiper{
        overflow:visible;
    }

    .photo-gallery .swiper-slide{
        border-radius:22px;
    }

    .photo-gallery .swiper-slide img{
        height:360px;

        border-radius:22px;

        object-fit:cover;
    }

    .photo-gallery .elementor-image-carousel-caption{
        padding:15px 16px;

        font-size:15px;
    }
}


/* =========================================================
   PRODUCT CATEGORIES
========================================================= */

.product-categories{
    display:flex !important;

    flex-direction:row !important;

    flex-wrap:nowrap !important;

    overflow-x:auto !important;

    overflow-y:hidden !important;

    gap:12px !important;

    width:100% !important;

    padding:5px 20px 15px !important;

    box-sizing:border-box;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
}

.product-categories::-webkit-scrollbar{
    display:none;
}

.product-categories .e-con{
    flex:0 0 145px !important;

    width:145px !important;

    min-width:145px !important;

    max-width:145px !important;
}






/* ==================================================
   TranslatePress Language Icon
   Final Size: Circle 38px / Flag 16px
================================================== */

/* خود ویجت Shortcode */
.lang-switcher-icon{
    width:38px !important;
    height:38px !important;

    min-width:38px !important;
    min-height:38px !important;

    flex:0 0 38px !important;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:50% !important;

    background:#F1F8F3 !important;
    border:1px solid #BFD8CB !important;

    box-sizing:border-box !important;

    overflow:visible !important;

    align-self:center !important;
}


/* کانتینر داخلی Elementor */
.lang-switcher-icon .elementor-widget-container{
    width:100% !important;
    height:100% !important;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}


/* کانتینر TranslatePress */
.lang-switcher-icon .trp-language-switcher{
    width:100% !important;
    height:100% !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    position:relative !important;

    top:0 !important;
    left:0 !important;

    line-height:1 !important;
}


/* باکس داخلی TranslatePress */
.lang-switcher-icon .trp-language-switcher > div{
    width:100% !important;
    height:100% !important;

    min-width:0 !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    border:none !important;

    border-radius:50% !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    box-sizing:border-box !important;

    overflow:visible !important;
}


/* لینک زبان */
.lang-switcher-icon .trp-language-switcher a{
    width:100% !important;
    height:100% !important;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:transparent !important;

    border:none !important;

    text-decoration:none !important;

    color:#0E4B3B !important;

    font-size:11px !important;
    font-weight:700 !important;

    line-height:1 !important;

    text-align:center !important;

    box-sizing:border-box !important;
}


/* خود پرچم */
.lang-switcher-icon .trp-language-switcher img{
    width:16px !important;
    height:16px !important;

    min-width:16px !important;
    min-height:16px !important;

    max-width:16px !important;
    max-height:16px !important;

    object-fit:contain !important;

    margin:0 !important;
    padding:0 !important;

    display:block !important;
}


/* حذف فلش TranslatePress */
.lang-switcher-icon .trp-arrow{
    display:none !important;
}


/* تراز با آیکون‌های هدر */
.header-right .lang-switcher-icon,
.header-left .lang-switcher-icon{
    align-self:center !important;

    margin-top:0 !important;
    margin-bottom:0 !important;

    transform:none !important;
}


/* جلوگیری از اثر animation قبلی در صورت باقی ماندن کلاس */
.lang-switcher-icon::before{
    display:none !important;
}


/* موبایل */
@media(max-width:767px){

    .lang-switcher-icon{
        width:38px !important;
        height:38px !important;

        min-width:38px !important;
        min-height:38px !important;

        flex:0 0 38px !important;
    }

    .lang-switcher-icon .trp-language-switcher img{
        width:16px !important;
        height:16px !important;

        max-width:16px !important;
        max-height:16px !important;
    }
}