/* =========================================
   DM Reviews Core Style (Bootstrap Lite Engine)
   Version: 5.0.0
   ========================================= */

/* --- 1. Isolation & Reset (مهم: ایزوله کردن استایل‌ها از قالب اصلی) --- */
.dm-reviews-wrapper {
    direction: rtl;
    text-align: right;
    font-family: inherit;
    line-height: 1.6;
    width: 100%;
    box-sizing: border-box;
}
.dm-reviews-wrapper *, 
.dm-reviews-wrapper *::before, 
.dm-reviews-wrapper *::after {
    box-sizing: border-box !important;
}

/* جلوگیری از تداخل استایل لیست‌ها و لینک‌های قالب */
.dm-reviews-wrapper ul, .dm-reviews-wrapper li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.dm-reviews-wrapper a { text-decoration: none !important; box-shadow: none !important; }
.dm-reviews-wrapper button { box-shadow: none !important; text-shadow: none !important; }

/* --- 2. Grid System (سیستم گرید کامل) --- */
.dm-reviews-wrapper .container-fluid { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
.dm-reviews-wrapper .row { display: flex; flex-wrap: wrap; margin-right: -10px; margin-left: -10px; }
.dm-reviews-wrapper .row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: 10px; padding-left: 10px; }

/* ستون‌ها (Mobile First) */
.dm-reviews-wrapper .col-6 { flex: 0 0 auto; width: 50%; }
.dm-reviews-wrapper .col-12 { flex: 0 0 auto; width: 100%; }

/* تبلت (md >= 768px) */
@media (min-width: 768px) {
    .dm-reviews-wrapper .col-md-4 { flex: 0 0 auto; width: 33.33333333%; }
    .dm-reviews-wrapper .col-md-6 { flex: 0 0 auto; width: 50%; }
    .dm-reviews-wrapper .col-md-8 { flex: 0 0 auto; width: 66.66666667%; }
    .dm-reviews-wrapper .d-md-block { display: block !important; }
    .dm-reviews-wrapper .mb-md-0 { margin-bottom: 0 !important; }
}

/* دسکتاپ (lg >= 992px) */
@media (min-width: 992px) {
    .dm-reviews-wrapper .col-lg-3 { flex: 0 0 auto; width: 25%; }
    .dm-reviews-wrapper .col-lg-9 { flex: 0 0 auto; width: 75%; }
}

/* --- 3. Utilities (کاربردی‌ها) --- */
.dm-reviews-wrapper .d-flex { display: flex !important; }
.dm-reviews-wrapper .d-none { display: none !important; }
.dm-reviews-wrapper .flex-wrap { flex-wrap: wrap !important; }
.dm-reviews-wrapper .flex-column { flex-direction: column !important; }
.dm-reviews-wrapper .align-items-center { align-items: center !important; }
.dm-reviews-wrapper .justify-content-between { justify-content: space-between !important; }
.dm-reviews-wrapper .justify-content-center { justify-content: center !important; }
.dm-reviews-wrapper .flex-row-reverse { flex-direction: row-reverse !important; }
.dm-reviews-wrapper .gap-1 { gap: 0.25rem !important; }
.dm-reviews-wrapper .gap-2 { gap: 0.5rem !important; }
.dm-reviews-wrapper .gap-3 { gap: 1rem !important; }

/* Spacing */
.dm-reviews-wrapper .m-0 { margin: 0 !important; }
.dm-reviews-wrapper .mt-2 { margin-top: 0.5rem !important; }
.dm-reviews-wrapper .mt-3 { margin-top: 1rem !important; }
.dm-reviews-wrapper .mt-4 { margin-top: 1.5rem !important; }
.dm-reviews-wrapper .my-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.dm-reviews-wrapper .mb-1 { margin-bottom: 0.25rem !important; }
.dm-reviews-wrapper .mb-2 { margin-bottom: 0.5rem !important; }
.dm-reviews-wrapper .mb-3 { margin-bottom: 1rem !important; }
.dm-reviews-wrapper .mb-4 { margin-bottom: 1.5rem !important; }
.dm-reviews-wrapper .p-0 { padding: 0 !important; }
.dm-reviews-wrapper .p-2 { padding: 0.5rem !important; }
.dm-reviews-wrapper .p-3 { padding: 1rem !important; }
.dm-reviews-wrapper .pb-2 { padding-bottom: 0.5rem !important; }
.dm-reviews-wrapper .pb-3 { padding-bottom: 1rem !important; }
.dm-reviews-wrapper .pt-2 { padding-top: 0.5rem !important; }
.dm-reviews-wrapper .px-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
.dm-reviews-wrapper .px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }

/* Visuals */
.dm-reviews-wrapper .border { border: 1px solid #dee2e6 !important; }
.dm-reviews-wrapper .border-top { border-top: 1px solid #dee2e6 !important; }
.dm-reviews-wrapper .border-bottom { border-bottom: 1px solid #dee2e6 !important; }
.dm-reviews-wrapper .border-start { border-right: 1px solid #dee2e6 !important; }
.dm-reviews-wrapper .rounded { border-radius: 0.375rem !important; }
.dm-reviews-wrapper .shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }
.dm-reviews-wrapper .bg-light { background-color: #f8f9fa !important; }
.dm-reviews-wrapper .bg-white { background-color: #fff !important; }
.dm-reviews-wrapper .img-fluid { max-width: 100%; height: auto; }
.dm-reviews-wrapper .sticky-top { position: sticky; top: 20px; z-index: 1020; }

/* Text */
.dm-reviews-wrapper .text-center { text-align: center !important; }
.dm-reviews-wrapper .text-end { text-align: left !important; } 
.dm-reviews-wrapper .fw-bold { font-weight: 700 !important; }
.dm-reviews-wrapper .small { font-size: 0.875em !important; }
.dm-reviews-wrapper .text-muted { color: #6c757d !important; }
.dm-reviews-wrapper .text-dark { color: #212529 !important; }
.dm-reviews-wrapper .text-success { color: #198754 !important; }
.dm-reviews-wrapper .text-danger { color: #dc3545 !important; }
.dm-reviews-wrapper .text-warning { color: #ffc107 !important; }
.dm-reviews-wrapper .text-secondary { color: #6c757d !important; }
.dm-reviews-wrapper .text-break { word-wrap: break-word !important; word-break: break-word !important; }

/* --- 4. Components --- */
.dm-reviews-wrapper .btn {
    display: inline-block; font-weight: 400; line-height: 1.5; text-align: center;
    vertical-align: middle; cursor: pointer; user-select: none;
    border: 1px solid transparent; padding: 0.375rem 0.75rem;
    font-size: 1rem; border-radius: 0.25rem; transition: color .15s ease-in-out,background-color .15s ease-in-out;
}
.dm-reviews-wrapper .btn-sm { padding: 0.25rem 0.5rem; font-size: .875rem; border-radius: .2rem; }
.dm-reviews-wrapper .btn-link { font-weight: 400; color: #0d6efd; text-decoration: none; border: none; background: none; }
.dm-reviews-wrapper .btn-link:hover { color: #0a58ca; }
.dm-reviews-wrapper .btn-danger { color: #fff; background-color: #dc3545; border-color: #dc3545; }
.dm-reviews-wrapper .btn-success { color: #fff; background-color: #198754; border-color: #198754; }
.dm-reviews-wrapper .btn-secondary { color: #fff; background-color: #6c757d; border-color: #6c757d; }
.dm-reviews-wrapper .btn-outline-secondary { color: #6c757d; border-color: #6c757d; background: transparent; }
.dm-reviews-wrapper .btn-outline-secondary:hover { color: #fff; background-color: #6c757d; }
.dm-reviews-wrapper .btn-outline-danger { color: #dc3545; border-color: #dc3545; background: transparent; }
.dm-reviews-wrapper .w-100 { width: 100% !important; }

.dm-reviews-wrapper .form-control {
    display: block; width: 100%; padding: 0.375rem 0.75rem;
    font-size: 1rem; font-weight: 400; line-height: 1.5;
    color: #212529; background-color: #fff; background-clip: padding-box;
    border: 1px solid #ced4da; border-radius: 0.25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.dm-reviews-wrapper .form-control:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25); }
.dm-reviews-wrapper .form-control-sm { min-height: calc(1.5em + .5rem + 2px); padding: .25rem .5rem; font-size: .875rem; border-radius: .2rem; }
.dm-reviews-wrapper .form-select { display: block; width: 100%; padding: .375rem 2.25rem .375rem .75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; border: 1px solid #ced4da; border-radius: .25rem; }
.dm-reviews-wrapper .form-label { margin-bottom: .5rem; }

.dm-reviews-wrapper .alert { position: relative; padding: 1rem 1rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: .25rem; }
.dm-reviews-wrapper .alert-secondary { color: #41464b; background-color: #e2e3e5; border-color: #d3d6d8; }
.dm-reviews-wrapper .alert-warning { color: #664d03; background-color: #fff3cd; border-color: #ffecb5; }
.dm-reviews-wrapper .alert-light { color: #636464; background-color: #fefefe; border-color: #fdfdfe; }

.dm-reviews-wrapper .card { position: relative; display: flex; flex-direction: column; min-width: 0; word-wrap: break-word; background-color: #fff; background-clip: border-box; border: 1px solid rgba(0,0,0,.125); border-radius: .25rem; }
.dm-reviews-wrapper .card-body { flex: 1 1 auto; padding: 15px; }
.dm-reviews-wrapper .badge { display: inline-block; padding: .35em .65em; font-size: .75em; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25rem; }

.dm-reviews-wrapper .btn-close { box-sizing: content-box; width: 1em; height: 1em; padding: .25em .25em; color: #000; background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; border: 0; border-radius: .25rem; opacity: .5; cursor: pointer; }

/* =========================================
   5. Star Rating System (Updated)
   ========================================= */
.dm-star-interactive {
    display: inline-flex;
    align-items: center;
    direction: ltr !important; /* فیکس جهت ستاره‌ها */
    gap: 2px;
}
.dm-star-interactive .dashicons {
    font-family: "dashicons";
    font-size: inherit;
    width: auto;
    height: auto;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.1s ease, color 0.2s;
    vertical-align: middle;
}
.dm-star-interactive .dashicons:hover {
    transform: scale(1.2);
}

/* ستاره‌های فقط نمایش (Read-only) */
.dm-stars-display {
    display: inline-flex;
    direction: ltr !important;
    gap: 1px;
}
.dm-stars-display .dashicons {
    font-size: inherit;
    width: auto;
    height: auto;
    line-height: 1;
}

/* =========================================
   6. Core Modal Styles
   ========================================= */
.dm-modal {
    display: none;
    position: fixed;
    z-index: 100050;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}
.dm-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100051;
}
.dm-modal-content {
    position: relative;
    background-color: #fff;
    margin: 30px auto;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    width: 95%;
    max-width: 700px;
    z-index: 100052;
    display: flex;
    flex-direction: column;
}
/* Responsive Modal */
@media (min-width: 576px) {
    .dm-modal-content {
        margin: 50px auto;
    }
}