/* ============================================================
   DOKAN — dashboard vendeur, annuaire des boutiques, boutique
   Overrides ciblés, cohérents avec le thème (accent, cartes, ombres)
   ============================================================ */

/* ---------- Panneaux (bloc de contenu générique Dokan) ---------- */
.dokan-panel {
    border: 0 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
    border-radius: 14px !important;
    overflow: hidden;
    background: #fff;
    margin-bottom: 20px;
}
.dokan-panel-heading {
    background: #f7f8fa !important;
    border-bottom: 1px solid var(--eco-border, #e6e6e6) !important;
    padding: 14px 18px !important;
}
.dokan-panel-heading strong {
    font-size: 13px; color: var(--eco-text, #1d2327);
    text-transform: uppercase; letter-spacing: .4px;
}
.dokan-panel-body { padding: 20px 18px !important; }

/* En-tête de section du dashboard */
.dokan-dashboard-header {
    border: 0 !important; margin: 0 0 22px !important; padding: 0 !important;
}
.dokan-dashboard-header h1 {
    font-size: 24px !important; font-weight: 800 !important;
    color: var(--eco-text, #1d2327) !important;
    position: relative; padding-left: 16px; margin: 0 !important;
}
.dokan-dashboard-header h1::before {
    content: ''; position: absolute; left: 0; top: 6px; bottom: 6px;
    width: 5px; border-radius: 3px; background: var(--eco-accent, #2b6cb0);
}

/* ---------- Layout dashboard (remplace les floats Dokan par du flex) ---------- */
.dokan-dashboard-wrap { display: flex; gap: 26px; align-items: flex-start; }
.dokan-dash-left, .dokan-dashboard-left {
    float: none !important; width: 250px !important;
    flex: 0 0 250px; max-width: 250px;
}
.dokan-dash-right, .dokan-dashboard-right {
    float: none !important; width: 100% !important;
    flex: 1 1 auto; min-width: 0;
}

/* ---------- Menu latéral du dashboard ---------- */
.dokan-dashboard-menu {
    background: #fff !important;
    border: 0 !important; border-radius: 14px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    padding: 8px !important; margin: 0 !important;
    list-style: none; overflow: hidden;
}
.dokan-dashboard-menu li { border: 0 !important; list-style: none; }
.dokan-dashboard-menu li a {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 14px !important;
    border-radius: 9px !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    text-decoration: none;
    border-bottom: 0 !important;
    transition: background .2s ease, color .2s ease;
}
.dokan-dashboard-menu li a i { width: 18px; text-align: center; color: #6b7177; }
.dokan-dashboard-menu li:hover a {
    background: #f4f6f9 !important; color: var(--eco-accent, #2b6cb0) !important;
}
.dokan-dashboard-menu li.active a {
    background: rgba(43,108,176,.10) !important;
    color: var(--eco-accent, #2b6cb0) !important;
    font-weight: 700;
}
.dokan-dashboard-menu li.active a i { color: var(--eco-accent, #2b6cb0); }
.dokan-dashboard-menu li.active::after { display: none !important; } /* triangle Dokan */
.dokan-dashboard-menu li.dokan-common-links {
    border-top: 1px solid var(--eco-border, #e6e6e6) !important;
    margin-top: 8px; padding-top: 8px;
}
.dokan-dashboard-menu li.dokan-common-links a { color: #6b7177 !important; }
.dokan-dashboard-menu li.dokan-common-links a:hover { color: #e53e3e !important; }

/* ---------- Boutons (renforcés : bat la CSS violette Dokan partout) ---------- */
body .dokan-btn,
body a.dokan-btn,
body .dokan-btn-theme,
body a.dokan-btn-theme,
body .dokan-btn-primary,
body .dokan-dashboard a.dokan-btn-theme,
body .dokan-dashboard .dokan-btn {
    border-radius: 8px !important;
    font-weight: 700 !important;
    transition: background .2s ease, transform .2s ease !important;
}
body .dokan-btn-theme,
body a.dokan-btn-theme,
body .dokan-btn-primary,
body .dokan-dashboard a.dokan-btn-theme,
body .dokan-dashboard .dokan-btn.dokan-btn-theme,
body a.dokan-btn.dokan-btn-theme {
    background: var(--eco-accent, #2b6cb0) !important;
    border-color: var(--eco-accent, #2b6cb0) !important;
    color: #fff !important;
}
body .dokan-btn-theme:hover,
body a.dokan-btn-theme:hover,
body .dokan-dashboard a.dokan-btn-theme:hover {
    background: #1e4e8a !important; border-color: #1e4e8a !important;
    color: #fff !important; transform: translateY(-1px);
}
body .dokan-btn-danger { background: #e53e3e !important; border-color: #e53e3e !important; color: #fff !important; }
body .dokan-btn-white {
    background: #fff !important; color: var(--eco-text, #1d2327) !important;
    border: 1px solid var(--eco-border, #e6e6e6) !important;
}

/* Liens Dokan : accent au lieu du violet de marque */
body .dokan-dashboard-content a,
body .dokan-dashboard a:not(.dokan-btn):not(.dokan-btn-theme) {
    color: var(--eco-accent, #2b6cb0);
}
body .dokan-dashboard-content a:hover {
    color: #1e4e8a;
}

/* ---------- Formulaires ---------- */
.dokan-form-control {
    height: 46px;
    border: 1px solid var(--eco-border, #e6e6e6) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--eco-text, #1d2327);
}
textarea.dokan-form-control { height: auto; min-height: 110px; padding: 12px 13px; }
.dokan-form-control:focus {
    border-color: var(--eco-accent, #2b6cb0) !important;
    box-shadow: 0 0 0 3px rgba(43,108,176,.12) !important;
    outline: none;
}
.dokan-form-group label {
    font-weight: 600; font-size: 13.5px; color: var(--eco-text, #1d2327);
}

/* ---------- Tables ---------- */
.dokan-dashboard-content .dokan-table,
.dokan-dashboard-content .table {
    background: #fff; border: 0 !important;
    border-radius: 12px; overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.dokan-table thead th {
    background: #f7f8fa !important; border: 0 !important;
    font-size: 12px; text-transform: uppercase; letter-spacing: .4px;
    color: #6b7177 !important; padding: 13px 16px !important;
}
.dokan-table tbody td {
    border: 0 !important; border-bottom: 1px solid #f0f2f5 !important;
    padding: 14px 16px !important; font-size: 14px;
    color: var(--eco-text, #1d2327);
}
.dokan-table tbody tr:hover td { background: #fafbfc !important; }

/* ---------- Alertes ---------- */
.dokan-alert { border-radius: 10px !important; border: 0 !important; font-size: 14px; }
.dokan-alert-success { background: #e6f7ef !important; color: #22855b !important; }
.dokan-alert-danger  { background: #fdeaea !important; color: #c53030 !important; }
.dokan-alert-warning { background: #fdf3e2 !important; color: #b7791f !important; }
.dokan-alert-info    { background: #e7f0fb !important; color: #2b6cb0 !important; }

/* ---------- Barres de progression ---------- */
.progress { height: 8px; border-radius: 4px; box-shadow: none !important; background: #eef0f3 !important; }
.progress-bar { background: var(--eco-accent, #2b6cb0) !important; }

/* ---------- Annuaire des boutiques (store listing) ---------- */
.dokan-store-listing-top {
    background: #fff; border-radius: 14px; padding: 16px 18px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    margin-bottom: 22px;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px;
}
.dokan-seller-search { flex: 1; min-width: 200px; }
.dokan-toggle-view { display: inline-flex; gap: 6px; }

.dokan-seller-wrap {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
    margin: 0 !important; padding: 0 !important;
    list-style: none;
}
.dokan-single-seller {
    float: none !important; width: 100% !important; margin: 0 !important;
    background: #fff; border-radius: 14px; overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    display: flex; flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.dokan-single-seller:hover { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(0,0,0,.13); }
.store-wrapper { display: flex; flex-direction: column; height: 100%; float: none !important; width: 100% !important; }
.store-banner img { width: 100%; height: 150px; object-fit: cover; display: block; }
.store-content { float: none !important; width: 100% !important; padding: 16px 18px 6px; }
.store-data { display: flex; align-items: flex-start; gap: 12px; }
.dokan-seller-avatar { flex-shrink: 0; }
.dokan-seller-avatar img {
    width: 52px !important; height: 52px !important; object-fit: cover;
    border-radius: 50% !important; border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.12); margin-top: -30px;
}
.store-name { margin: 2px 0 4px !important; font-size: 16px !important; font-weight: 700; }
.store-name a { color: var(--eco-text, #1d2327) !important; text-decoration: none; }
.store-name a:hover { color: var(--eco-accent, #2b6cb0) !important; }
.store-info { list-style: none; margin: 0; padding: 0; font-size: 13px; color: #6b7177; }
.store-footer { float: none !important; width: 100% !important; margin-top: auto; padding: 14px 18px 18px; text-align: right; }
.dokan-seller-rating .star-rating span::before { color: #f5a623; }

/* ---------- Boutique d'un vendeur (single store) ---------- */
.profile-frame {
    border-radius: 16px; overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
    margin-bottom: 22px;
}
.profile-info-summery { background: #fff !important; }
.profile-info-summery ul { list-style: none; }
.profile-info-summery h1 { font-size: 22px !important; font-weight: 800; color: var(--eco-text, #1d2327); }
.dokan-store-sidebar {
    background: #fff; border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.dokan-store-tabs ul {
    display: flex; gap: 6px; flex-wrap: wrap;
    border-bottom: 1px solid var(--eco-border, #e6e6e6) !important;
    padding: 0 !important; margin: 0 0 20px !important; list-style: none;
}
.dokan-store-tabs ul li { margin: 0 0 10px !important; }
.dokan-store-tabs ul li a {
    display: block; padding: 8px 18px !important;
    border: 1px solid var(--eco-border, #e6e6e6) !important;
    border-radius: 999px !important; background: #fff !important;
    color: #4b5563 !important; font-size: 13.5px; font-weight: 600;
    text-decoration: none; transition: all .2s ease;
}
.dokan-store-tabs ul li.active a,
.dokan-store-tabs ul li a:hover {
    background: var(--eco-accent, #2b6cb0) !important;
    border-color: var(--eco-accent, #2b6cb0) !important;
    color: #fff !important;
}

/* ---------- Pagination Dokan ---------- */
.dokan-pagination-container { text-align: center; margin-top: 24px; }
.dokan-pagination {
    display: inline-flex; gap: 6px; list-style: none; padding: 0; margin: 0;
}
.dokan-pagination li a, .dokan-pagination li span {
    min-width: 38px; height: 38px;
    display: inline-flex; align-items: center; justify-content: center;
    background: #fff; border: 0 !important; border-radius: 10px;
    color: var(--eco-text, #1d2327); font-weight: 600; text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.dokan-pagination li span.current { background: var(--eco-accent, #2b6cb0); color: #fff; }

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
    .dokan-dashboard-wrap { display: block; }
    .dokan-dash-left, .dokan-dashboard-left { width: 100% !important; max-width: none; margin-bottom: 20px; }
    .dokan-dashboard-menu { display: flex; flex-wrap: wrap; gap: 4px; }
    .dokan-dashboard-menu li a { white-space: nowrap; padding: 9px 12px !important; }
    .dokan-dashboard-menu li.dokan-common-links {
        border-top: 0 !important; margin-top: 0; padding-top: 0; margin-left: auto;
    }
    .dokan-seller-wrap { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 782px) {
    .dokan-seller-wrap { grid-template-columns: 1fr !important; }
    .dokan-store-listing-top { flex-direction: column; align-items: stretch; }
}