.elementor-element-40bfabd,
.elementor-element-d21c879,
.elementor-element-9dbbcae{
    padding-inline-start:0 !important;
    padding-inline-end:0 !important;
}
.elementor-element-40bfabd .e-con-inner,
.elementor-element-d21c879 .e-con-inner,
.elementor-element-9dbbcae .e-con-inner{
    padding-block-end: 0 !important;
    padding-block-start: 3px !important;
}

.ab-expandable-content{
    max-height: 340px;
    overflow: hidden;
    position: relative;
    transition:max-height .6s cubic-bezier(.22,.61,.36,1);
    
}

.ab-expandable-content::after{
    content:'';
    position:absolute;
    right:0;
    left:0;
    bottom:0;
    height:120px;
    background:linear-gradient(to bottom,transparent,#fff);
    pointer-events:none;
    opacity:1;
    transition:opacity .3s ease;
}

.ab-expandable.open .ab-expandable-content::after,
.ab-expandable.no-fade .ab-expandable-content::after{
    opacity:0;
}

.ab-expandable-toggle {
    margin: 20px auto 0;
    display: block;
    background: #fff !important;
    color: #1672dd !important;
    padding: 12px 28px !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    font-size: 15px !important;
}

.ab-expandable {
    background: #fff;
    padding: 2rem 2rem 0.6rem 2rem;
    border-radius: 7px;
    text-align: justify;
    border: 1px solid #e9e9e9;
}

.ab-expandable-content p {
    margin-top: 1rem;
}

.ab-expandable-content ul{
    list-style:none;
    padding:0;
    margin:0;
}

.ab-expandable-content ul li{
    position:relative;
    padding-right:28px;
    margin-bottom:10px;
}

.ab-expandable-content ul li::before{
    content:"✔";
    position:absolute;
    right:0;
    top:2px;
    color:#16a34a;
    font-size:16px;
    font-weight:700;
}

.ab-decorative-image{
    width: 503px;
    height: 444px !important;
    border-radius: 2rem !important;
    object-fit: contain;
}

.ab-section-title {
    color: #005aab;
    font-size: 1.2rem;
    font-weight: 700;
    font-family: inherit;
}

.ab-attributes-table{
    width:100%;
    border-collapse:collapse;
    border-spacing:0;
}


.ab-attribute-label{
    width:35%;
    padding:14px 18px;
    background:#f7f7f7;
    font-weight:700;
    text-align:right;
    vertical-align:top;
    border: 1px solid #dbdbdb;
}

.ab-attribute-value{
    padding:14px 18px;
    background:#fff;
    text-align:center;
    border: 1px solid #dbdbdb;
}
.center{text-align:center;}


.ab-video{
    background:#fff;
    height:493px;
    padding:2rem;
    border-radius:7px;
    display:flex;
    flex-direction:column;
    border: 1px solid #e9e9e9;
}

.ab-video-wrapper{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ab-video-wrapper iframe{
    width:100%;
    aspect-ratio:16/9;
    height:auto;
    border:0;
    border-radius:12px;
}

.ab-decorative-box{
    background:#fff;
    height:493px; /* هر ارتفاعی که می‌خواهی */
    border-radius:7px;
    padding:2rem;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    border: 1px solid #e9e9e9;
}

.ab-decorative-image{
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}
@media (max-width: 767px){

    .ab-video{ height: auto; }
    .ab-video-wrapper{ display: block; flex: initial; }
    .ab-decorative-box{height:auto;}
    .ab-reviews {height: auto;}

}

@media (min-width: 767px){
    .ab-expandable { min-height: 493px; }
}

/* ===========================================
   Reviews
=========================================== */

.ab-reviews{
    background:#fff;
    border-radius:7px;
    padding:2rem;
    height: 446px;
    border: 1px solid #e9e9e9;
}

.ab-reviews-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:25px;
}

.ab-review-card{
    background:#f8f8f8;
    border-radius:12px;
    padding:20px;
}

.ab-review-author{
    font-size:15px;
    font-weight:700;
    color:#222;
    margin-bottom:8px;
}

.ab-review-date{
    color:#888;
    font-size:12px;
    margin-bottom:12px;
}

.ab-review-content,
.ab-review-text{
    color:#444;
    line-height:2;
    font-size:14px;
    text-align: justify;
}

.ab-review-rating{
    display:flex;
    gap:5px;
    font-size:14px;
    color:#555;
}

.ab-review-actions{
    display:flex;
    gap:12px;
    margin-top:25px;
    justify-content: center;
}
.ab-rating-star{
    display:flex;
    color:#FDBA12;
}
.ab-review-actions button{
    border:none;
    border-radius:10px;
    padding:12px 22px;
    background:#ff6b1a;
    color:#fff;
    cursor:pointer;
    transition:.25s;

}

.ab-review-actions button:hover{
    transform:translateY(-2px);

}


.ab-review-empty{
    padding:32px 20px;
    text-align:center;
    color:#666;
    background:#fafafa;
    border:1px dashed #ddd;
    border-radius:12px;
    margin:15px 0;
    font-size:15px;
    line-height:2;
}

/* ===========================================
   Modal
=========================================== */

.ab-review-modal{
    position:fixed;
    inset:0;
    display:none;
    z-index:99999;
}

.ab-review-modal.active{
    display:block;
}

.ab-review-modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.25);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.ab-review-modal-box{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(900px,92vw);
    height:min(700px,88vh);
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    z-index:2;
    box-shadow:0 15px 60px rgba(0,0,0,.25);
}

/* ===========================================
   Close
=========================================== */


button.ab-review-close {
    right: 2rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: none;
    color: red;
    font-weight: bolder;
    display: flex;
    align-items: center;
    font-size: 1.3rem;
    top: 14px;
    left: 14px;
    width: 42px;
    height: 42px;
    transition: .25s !important;
    z-index: 5;
}


.ab-review-close:hover{
    background:#f5f5f5;
}

/* ===========================================
   Tabs
=========================================== */

.ab-review-tabs{
    display:flex;
    border-bottom:1px solid #eee;
    background:#fff;
}

.ab-review-tab{
    flex:1;
    border:none;
    background:#fff;
    padding:20px;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
    border-bottom:3px solid transparent;
}

.ab-review-tab:hover{
    background:#fafafa;
}

.ab-review-tab.active{
    color:#ff6b1a;
    border-bottom-color:#ff6b1a;
}

/* ===========================================
   Panels
=========================================== */

.ab-review-panel{
    display:none;
    overflow-y:auto;
    height:calc(71vh - 70px);
    padding:25px;
}

.ab-review-panel.active{
    display:block;
}

.ab-review-panel::-webkit-scrollbar{
    width:8px;

}

.ab-review-panel::-webkit-scrollbar-thumb{
    background:#d7d7d7;
    border-radius:10px;

}

.ab-review-panel::-webkit-scrollbar-thumb:hover{
    background:#bfbfbf;

}

/* ===========================================
   Review Item
=========================================== */

.ab-review-item {
    border: 1px solid #ececec;
    border-radius: 1rem;
    margin-bottom: 0.3rem;
    padding: 1rem;
}

.ab-review-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* ===========================================
   Form
=========================================== */

.ab-review-divider{
    margin:35px 0;
    border:none;
    border-top:1px solid #eee;
}

.ab-review-form input,
.ab-review-form textarea,
.ab-review-form select{

    width:100%;

    padding:14px;

    margin-bottom:15px;

    border:1px solid #ddd;

    border-radius:10px;

    box-sizing:border-box;

    font-family:inherit;

}

.ab-review-form textarea{

    resize:vertical;

    min-height:140px;

}

.ab-review-submit{

    border:none;

    padding:14px 26px;

    border-radius:10px;

    background:#ff6b1a;

    color:#fff;

    font-size:15px;

    cursor:pointer;

    transition:.25s;

}

.ab-review-submit:hover{

    background:#e85c10;

}

/* ===========================================
   Mobile
=========================================== */

@media (max-width:767px){

    .ab-reviews{

        padding:20px;

    }

    .ab-reviews-header{

        flex-direction:column;
        align-items:flex-start;
        gap:10px;

    }

    .ab-review-modal-box{
        width:100vw;
        height:100vh;
        border-radius:0;

    }

    .ab-review-panel{

        height:calc(100vh - 70px);

        padding:20px;

    }

}


/* =========================
   ABPE FAQ Style
========================= */

.ab-faq{
    direction:rtl;
}

/* آیتم FAQ */
.ab-faq-item{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:14px;
    margin-bottom:12px;
    overflow:hidden;
    transition:.3s ease;
}

.ab-faq-item:hover{
    border-color:#ff6b1a;
    box-shadow:0 8px 25px rgba(0,0,0,.06);
}

/* سوال */
.ab-faq-question{
    width: 100%;
    padding: 18px 22px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: right !important;
}

.ab-faq-question span:first-child{
    flex:1;
}


/* آیکن */
.ab-faq-icon{

    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f5f5f5;
    color:#ff6b1a;
    border-radius:50%;
    font-size:22px;
    font-weight:600;
    transition:.3s;
}

/* جواب */
.ab-faq-answer{
    max-height:0;
    overflow:hidden;
    padding:0 22px;
    color:#555;
    font-size:15px;
    line-height:2;
    transition:max-height .35s ease,
               padding .35s ease;
}

.ab-faq-item.active .ab-faq-answer{
    padding-bottom:20px;
}

.ab-faq-item.active .ab-faq-icon{
    transform:rotate(180deg);
    background:#ff6b1a;
    color:#fff;
}

/* موبایل */
@media(max-width:768px){

    .ab-section-title{
        font-size:20px;
    }

    .ab-faq-question{
        padding:15px;
        font-size:14px;
    }

    .ab-faq-answer{
        padding-left:15px;
        padding-right:15px;
        font-size:14px;
    }

    .ab-faq-icon{
        width:28px;
        height:28px;
        font-size:18px;
    }
}



.ab-product-intro{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:3px;
    align-items:start;
}
.ab-product-intro.no-description{
    grid-template-columns:1fr 1fr;
}
.ab-product-intro-item:first-child{
    grid-column:1;
}

.ab-product-intro-item:last-child{
    grid-column:2;
}
.ab-product-intro-item{
    min-width:0;
}

@media(max-width:768px){
    .ab-product-intro{
        grid-template-columns:1fr;
    }
}
.ab-description-image{
    float:right;
    width:370px;
    max-width:45%;
    margin:0 0 20px 25px;
    border-radius: 12px !important;
    
}

.ab-expandable-content::after{
    content:"";
    display:block;
    clear:both;
}

@media (max-width:768px){

    .ab-description-image{
        float:none;
        width:100%;
        max-width:100%;
        margin:0 0 20px;
    }

}

/* وقتی فقط ویدیو وجود دارد */
.ab-video-only .ab-video{
    height:100% !important;
}
.ab-product-media{
    display:flex;
    gap:3px;
    align-items:stretch;
    flex-direction: row-reverse;
}

.ab-product-media-item{
    flex:1;
    min-width:0;
}

@media (max-width:767px){

    .ab-product-media{
        flex-direction:column;
    }

}

@media (max-width:767px){

    .ab-product-intro{
        flex-direction:column;
    }
    .ab-product-intro{
        display:flex;
    }
}

.ab-product-feedback{
    display:grid;
    grid-template-columns:1fr 2fr;
    gap:3px;
}
@media (max-width:767px){

    .ab-product-feedback{
        grid-template-columns:1fr;
    }

}
.ab-product-feedback .ab-product-feedback-item:first-child{
    order: 2;
}

.ab-product-feedback .ab-product-feedback-item:last-child{
    order: 1;
}

.ab-product-feedback.ab-reviews-only{
    grid-template-columns:1fr;
}
.ab-product-feedback.ab-reviews-only .ab-reviews{
    height:auto;
}

