/* ==========================================================================
   JDVC TOOLBOX - ÉCOSYSTÈME USHOP (Multiple Commerce + add-ons ushop-*)
   Chargé par multiple-commerce.php (admin_enqueue_scripts, après apps.css si présent).
   unique-commerce.php n'est volontairement pas concerné (il vit aussi seul, en tant qu'App).
   ushop-ui-dark.php garde son CSS front (thème sombre) : il n'est chargé que sur les sites qui l'utilisent.

   Conventions :
   - Nouvelles classes préfixées .jdvc-us-*
   - Styles propres à un écran admin : scopés sous :where(.jdvc-us-page-{slug}), classe ajoutée
     au <body> par multiple-commerce.php (pages jdvc-ucommerce* et jdvc-unique-commerce).
     Reproduit le chargement conditionnel des anciens <style> sans modifier la spécificité.
   - Les utilitaires (largeurs, marges…) portent !important : ils remplacent des styles inline,
     qui primaient sur toute règle de classe.
   - Les display:none initiaux basculés en JS restent inline.
   - Les valeurs dynamiques (couleurs, pourcentages) passent par une variable CSS inline.
   - Les styles des e-mails restent inline (les clients mail ignorent les CSS externes).
   - Quand admin.css (surcharges globales !important) écrase un style propre à uShop, c'est uShop
     qui gagne : sélecteurs renforcés regroupés en fin de fichier (« Priorité sur admin.css »).
   ========================================================================== */


/* ==========================================================================
   1. UTILITAIRES
   ========================================================================== */
.jdvc-us-m-0 { margin: 0 !important; }
.jdvc-us-mt-10 { margin-top: 10px !important; }
.jdvc-us-mt-15 { margin-top: 15px !important; }
.jdvc-us-mb-4  { margin-bottom: 4px !important; }
.jdvc-us-mb-6  { margin-bottom: 6px !important; }
.jdvc-us-mb-12 { margin-bottom: 12px !important; }
.jdvc-us-mb-15 { margin-bottom: 15px !important; }
.jdvc-us-mb-10 { margin-bottom: 10px !important; }
.jdvc-us-mb-20 { margin-bottom: 20px !important; }
.jdvc-us-mr-auto { margin-right: auto !important; }
.jdvc-us-w-full { width: 100% !important; }
.jdvc-us-maxw-220 { max-width: 220px !important; }
.jdvc-us-modal-w-560 { width: min(560px, calc(100% - 40px)) !important; }
.jdvc-us-modal-w-650 { width: min(650px, calc(100% - 40px)) !important; }
.jdvc-us-flex-1 { flex: 1 !important; }
.jdvc-us-flex-2 { flex: 2 !important; }
.jdvc-us-flex-gap-8 { display: flex !important; gap: 8px !important; }
.jdvc-us-flex-gap-10 { display: flex !important; gap: 10px !important; }
.jdvc-us-cursor-default { cursor: default !important; }
.jdvc-us-mt-20 { margin-top: 20px !important; }
.jdvc-us-fs-12 { font-size: 12px !important; }
.jdvc-us-text-muted { color: #64748b; }
.jdvc-us-text-faint { color: #94a3b8; }
.jdvc-us-text-disabled { color: #cbd5e1; }
.jdvc-us-link-blue { color: #2563eb; }
.jdvc-us-hr { border: 0; border-top: 1px solid #e2e8f0; margin: 20px 0; }
/* Résultat d'un test de connexion (ex-.css() du JS) */
.jdvc-us-test-result { margin-left: 8px; font-size: 13px; }
.jdvc-us-test-result.is-pending { color: #64748b; }
.jdvc-us-test-result.is-ok { color: #16a34a; }
.jdvc-us-test-result.is-error { color: #dc2626; }
.jdvc-us-empty-italic { color: #64748b; font-style: italic; }


/* ==========================================================================
   1 bis. COMPOSANTS ADMIN PARTAGÉS
   ========================================================================== */
/* Carte de réglages insérée dans la Configuration (double classe : prime sur .jdvc-mc-card) */
.jdvc-mc-card.jdvc-us-card { margin: 0 0 24px; padding: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); }
.jdvc-us-card .jdvc-us-card-title { margin: 0 0 15px; font-size: 16px; color: #0f172a; }
.jdvc-us-card-intro { margin: 0 0 15px; color: #64748b; font-size: 13px; }
.jdvc-us-card-note { margin: 0; color: #64748b; font-size: 12px; }
.jdvc-us-code { background: #f1f5f9; padding: 2px 8px; border-radius: 4px; }
.jdvc-us-stack-12 { display: grid; gap: 12px; }
.jdvc-us-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.jdvc-us-field-box { display: block; padding: 12px 16px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; }
.jdvc-us-field-box-title { display: block; color: #0f172a; margin-bottom: 6px; }
.jdvc-us-field-box-help { display: block; color: #64748b; margin-bottom: 8px; }
.jdvc-us-input-days { width: 80px; padding: 6px; border-radius: 6px; border: 1px solid #cbd5e1; }

/* Pastilles */
.jdvc-us-chip { background: #f1f5f9; padding: 4px 8px; border-radius: 4px; font-size: 12px; color: #475569; }
.jdvc-us-badge { padding: 4px 8px; border-radius: 6px; font-size: 11px; font-weight: 700; }
.jdvc-us-badge-verified { background: #dcfce7; color: #15803d; }
.jdvc-us-badge-unverified { background: #f1f5f9; color: #64748b; }
/* Variantes de couleur pour .jdvc-mc-status */
.jdvc-us-pill-success { background: #dcfce7; color: #15803d; }
.jdvc-us-pill-danger { background: #fee2e2; color: #dc2626; }
.jdvc-us-pill-neutral { background: #f1f5f9; color: #475569; }
/* En-tête de page : titre + action */
.jdvc-us-page-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 16px; flex-wrap: wrap; }


/* ==========================================================================
   2. MULTIPLE COMMERCE — COMMANDES, MODALE, CONFIGURATION (ex-admin_head)
   ========================================================================== */
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-wrap { max-width:1400px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-stat, :where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-stat { padding:22px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-stat span { display:block;color:#64748b;font-size:13px;margin-bottom:8px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-stat strong { font-size:30px;color:#0f172a }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-card { padding:22px;margin-bottom:20px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-search { display:flex;gap:8px;justify-content:flex-end;align-items:center;margin:15px 0 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-search input[type=search] { min-width:280px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-table { border:0;box-shadow:none }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-table th { background:#f8fafc;color:#475569;text-transform:uppercase;font-size:11px;letter-spacing:.4px;padding:14px 12px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-table td { padding:14px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-status { display:inline-block;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:700 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-empty { color:#64748b;font-style:italic }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-pagination { padding-top:20px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal { display:none;position:fixed;inset:0;z-index:99999 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal.is-open { display:flex;align-items:center;justify-content:center }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-backdrop { position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);cursor:default }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-box { position: relative; width: min(680px,calc(100% - 40px)); max-height: calc(100vh - 80px); overflow: auto; background: #fff; border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); padding: 28px; box-sizing: border-box; }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-close { position:absolute;right:16px;top:10px;border:0;background:none;font-size:28px;color:#64748b;cursor:pointer }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-header { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-header small, :where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-form-grid small { display:block;color:#64748b;margin-bottom:3px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-header h2 { margin:0 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; background: #f8fafc; padding: 15px; border-radius: 10px; margin-bottom: 20px; border: 1px solid #e2e8f0; }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-items { list-style:none;padding:0;margin:0 0 20px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-items li { display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #f1f5f9 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-meta { margin:0 0 20px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-meta div { display:grid;grid-template-columns:160px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid #f1f5f9 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-meta dt { font-weight:700 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-meta dd { margin:0 }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-note { background:#f8fafc;padding:10px;border-radius:6px }
:where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-actions { display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid #e2e8f0 }
@media (max-width:782px) {
    :where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-grid { grid-template-columns:1fr }
    :where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-search { flex-wrap:wrap;justify-content:flex-start }
    :where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-form-grid { grid-template-columns:1fr }
    :where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-actions { grid-template-columns:1fr }
    :where(.jdvc-us-page-jdvc-ucommerce, .jdvc-us-page-jdvc-ucommerce-orders, .jdvc-us-page-jdvc-unique-commerce) .jdvc-mc-modal-actions span { display:none }
}

/* Pastille de statut (couleurs : style="--jdvc-us-bg:#…; --jdvc-us-color:#…") */
.jdvc-us-status { background: var(--jdvc-us-bg); color: var(--jdvc-us-color); }
.jdvc-us-page-title { color: #0f172a; font-weight: 800; }
.jdvc-us-loading { text-align: center; color: #64748b; }

/* Carte "Add-ons U-Commerce" (page Configuration) — double classe : prime sur .jdvc-mc-card */
.jdvc-mc-card.jdvc-mc-addons-card { margin: 0 0 24px; padding: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); }
.jdvc-mc-addons-card .jdvc-us-addons-title { margin: 0 0 15px; font-size: 16px; color: #0f172a; }
.jdvc-us-addons-empty { padding: 15px; background: #f8fafc; border-radius: 8px; color: #64748b; font-style: italic; }
.jdvc-us-addons-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.jdvc-us-addon { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; cursor: pointer; }
.jdvc-us-addon-name { display: block; color: #0f172a; }
.jdvc-us-addon-desc { display: block; color: #64748b; margin-top: 3px; }

/* Onglets User Core (historique) */
.jdvc-us-uc-title { display: block; margin-bottom: 8px; color: #0f172a; }
.jdvc-us-uc-history { max-height: 220px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 6px; padding: 12px; background: #f8fafc; }
.jdvc-us-uc-list { margin: 0; padding-left: 18px; }
.jdvc-us-uc-item { font-size: 13px; padding: 3px 0; }
.jdvc-us-uc-empty { color: #94a3b8; font-style: italic; margin: 0; }

/* Accès JDVC dans User Core */
.jdvc-us-uc-section { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #e2e8f0; }
.jdvc-us-uc-check { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.jdvc-us-uc-help { color: #94a3b8; font-size: 12px; margin: 6px 0 0; }


/* ==========================================================================
   3. MULTIPLE COMMERCE — TABLEAU DE BORD (jdvc-ucommerce)
   Valeurs dynamiques : style="--jdvc-us-h:NN%" (histogramme), "--jdvc-us-w:NN%" (meilleures ventes)
   ========================================================================== */
.jdvc-us-dash-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 10px 0 20px; }
.jdvc-us-dash .jdvc-us-dash-title { margin: 0; padding: 0; font-size: 24px; font-weight: 700; color: #0f172a; }
.jdvc-us-dash-date { margin: 4px 0 0; color: #64748b; font-size: 14px; }
.jdvc-us-dash-actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* Indicateurs */
.jdvc-us-dash-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 20px; }
.jdvc-us-dash-kpi { display: flex; flex-direction: column; padding: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; }
.jdvc-us-dash-kpi span { font-size: 13px; color: #64748b; }
.jdvc-us-dash-kpi strong { margin: 6px 0 2px; font-size: 30px; line-height: 1.1; color: #0f172a; font-variant-numeric: tabular-nums; }
.jdvc-us-dash-kpi small { font-size: 12px; color: #94a3b8; }
.jdvc-us-dash-kpi.is-todo { border-color: #93c5fd; box-shadow: inset 4px 0 0 #2563eb; }
.jdvc-us-dash-kpi.is-todo strong { color: #1d4ed8; }
.jdvc-us-dash-trend.is-up { color: #16a34a; }
.jdvc-us-dash-trend.is-down { color: #dc2626; }

/* Panneaux */
.jdvc-us-dash-panel { padding: 22px 24px; margin-bottom: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; }
.jdvc-us-dash-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.jdvc-us-dash-panel-head h2 { margin: 0; padding: 0; font-size: 16px; font-weight: 600; color: #0f172a; }
.jdvc-us-dash-panel-head span, .jdvc-us-dash-panel-head a { font-size: 13px; color: #64748b; }
.jdvc-us-dash-panel-head a:hover { color: #2563eb; }
.jdvc-us-dash-empty { margin: 0; color: #64748b; font-style: italic; }
.jdvc-us-dash-cols { display: grid; grid-template-columns: 3fr 2fr; gap: 20px; align-items: start; }
.jdvc-us-dash-side { display: flex; flex-direction: column; }

/* Histogramme 14 jours */
.jdvc-us-dash-chart { display: grid; grid-template-columns: repeat(14, 1fr); gap: 6px; }
.jdvc-us-dash-bar { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.jdvc-us-dash-bar-track { display: flex; align-items: flex-end; width: 100%; max-width: 32px; height: 140px; background: #f1f5f9; border-radius: 8px; overflow: hidden; }
.jdvc-us-dash-bar-fill { display: block; width: 100%; height: var(--jdvc-us-h, 0%); background: #93c5fd; border-radius: 8px 8px 0 0; }
.jdvc-us-dash-bar.is-today .jdvc-us-dash-bar-fill { background: #2563eb; }
.jdvc-us-dash-bar-day { font-size: 11px; line-height: 1.3; text-align: center; color: #64748b; }
.jdvc-us-dash-bar.is-today .jdvc-us-dash-bar-day { font-weight: 700; color: #0f172a; }

/* Dernières commandes */
.jdvc-us-dash-orders { margin: 0; padding: 0; list-style: none; }
.jdvc-us-dash-orders li { display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 14px; margin: 0; padding: 12px 0; border-bottom: 1px solid #f1f5f9; }
.jdvc-us-dash-orders li:last-child { border-bottom: none; }
.jdvc-us-dash-order-main strong { display: block; color: #0f172a; }
.jdvc-us-dash-order-main span { font-size: 13px; color: #64748b; }
.jdvc-us-dash-order-total { color: #0f172a; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Meilleures ventes */
.jdvc-us-dash-product { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin-bottom: 12px; }
.jdvc-us-dash-product:last-child { margin-bottom: 0; }
.jdvc-us-dash-product-name { font-size: 13px; color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jdvc-us-dash-product-name small { color: #94a3b8; }
.jdvc-us-dash-product strong { font-size: 13px; color: #0f172a; font-variant-numeric: tabular-nums; }
.jdvc-us-dash-product-track { grid-column: 1 / -1; height: 6px; background: #f1f5f9; border-radius: 999px; overflow: hidden; }
.jdvc-us-dash-product-track span { display: block; height: 100%; width: var(--jdvc-us-w, 0%); background: #2563eb; border-radius: 999px; }

/* Statuts du mois */
.jdvc-us-dash-statuses { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.jdvc-us-dash-statuses li { margin: 0; }
.jdvc-us-dash-statuses a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 8px; border-radius: 8px; text-decoration: none; }
.jdvc-us-dash-statuses a:hover { background: #f8fafc; }
.jdvc-us-dash-statuses strong { color: #0f172a; font-variant-numeric: tabular-nums; }

/* Raccourcis */
.jdvc-us-dash-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }

@media (max-width: 1400px) {
    .jdvc-us-dash-kpis { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1100px) {
    .jdvc-us-dash-cols { grid-template-columns: 1fr; }
    .jdvc-us-dash-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .jdvc-us-dash-kpis { grid-template-columns: 1fr; }
    .jdvc-us-dash-orders li { grid-template-columns: 1fr auto; }
    .jdvc-us-dash-chart { grid-template-columns: repeat(7, 1fr); }
    .jdvc-us-dash-bar:nth-child(-n+7) { display: none; }
}

/* ==========================================================================
   4. ONGLETS DE LA FICHE PRODUIT (Interface Avancée + onglets ajoutés par les add-ons)
   État actif piloté par la classe .is-active (basculée par le JS d'Interface Avancée).
   Front : !important pour garder la priorité de l'ancien inline face aux styles du thème.
   ========================================================================== */
.jdvc-af-tab-button { border: 0 !important; background: none !important; padding: 12px 18px !important; font-weight: 700 !important; cursor: pointer !important; color: #64748b !important; border-bottom: 2px solid transparent !important; }
.jdvc-af-tab-button.is-active { color: #0f172a !important; border-bottom: 2px solid #0f172a !important; }


/* ==========================================================================
   5. ADD-ON AVIS CLIENTS (ushop-avis-clients.php)
   (e-mails de demande d'avis : restent inline)
   ========================================================================== */
/* 5.1 Page Avis Clients (jdvc-ucommerce-reviews) — ex-admin_head */
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-wrap { max-width:1400px }
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); padding: 22px; margin-bottom: 20px; }
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-search { display:flex;gap:8px;justify-content:flex-end;align-items:center;margin:15px 0 }
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-table { border:0;box-shadow:none }
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-table th { background:#f8fafc;color:#475569;text-transform:uppercase;font-size:11px;letter-spacing:.4px;padding:14px 12px }
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-table td { padding:14px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle }
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-empty { color:#64748b;font-style:italic }
:where(.jdvc-us-page-jdvc-ucommerce-reviews) .jdvc-mc-pagination { padding-top:20px }
.jdvc-us-rating-num { color: #0f172a; font-size: 13px; margin-left: 5px; }
.jdvc-us-review-excerpt { max-height: 60px; overflow-y: auto; font-style: italic; color: #334155; font-size: 13px; }

/* 5.2 Étoiles de notation (admin + front) — largeur : style="--jdvc-us-w:NN%" */
.jdvc-us-stars { position: relative !important; display: inline-block !important; white-space: nowrap !important; }
.jdvc-us-stars-bg { color: #e2e8f0 !important; }
.jdvc-us-stars-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: var(--jdvc-us-w) !important; overflow: hidden !important; color: #eab308 !important; white-space: nowrap !important; }

/* 5.3 Front : onglet "Avis" de la fiche produit */
.jdvc-us-ac-summary { display: flex !important; align-items: center !important; gap: 15px !important; margin-bottom: 30px !important; padding-bottom: 20px !important; border-bottom: 1px solid #e2e8f0 !important; }
.jdvc-us-ac-average { font-size: 36px !important; font-weight: 800 !important; color: #0f172a !important; }
.jdvc-us-ac-average-max { font-size: 18px !important; color: #94a3b8 !important; }
.jdvc-us-ac-average-stars { color: #eab308 !important; font-size: 20px !important; }
.jdvc-us-ac-average-count { color: #64748b !important; font-size: 13px !important; }
.jdvc-us-ac-empty { color: #94a3b8 !important; font-style: italic !important; }
.jdvc-us-ac-reviews { display: grid !important; gap: 18px !important; }
.jdvc-us-ac-review { padding: 16px 20px !important; border: 1px solid #e2e8f0 !important; border-radius: 10px !important; }
.jdvc-us-ac-review-head { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 8px !important; }
.jdvc-us-ac-review-author { color: #0f172a !important; }
.jdvc-us-ac-review-date { color: #94a3b8 !important; font-size: 12px !important; }
.jdvc-us-ac-review-stars { color: #eab308 !important; margin-bottom: 8px !important; }
.jdvc-us-ac-review-text { color: #334155 !important; margin: 0 0 8px !important; }
.jdvc-us-ac-verified { background: #dcfce7 !important; color: #15803d !important; padding: 3px 8px !important; border-radius: 6px !important; font-size: 11px !important; font-weight: 700 !important; }
.jdvc-us-ac-form-wrap { margin-bottom: 30px !important; padding-bottom: 30px !important; border-bottom: 1px solid #f1f5f9 !important; }

/* 5.4 Front : formulaire d'avis (la largeur de .jdvc-ac-stars-fg reste pilotée en JS) */
.jdvc-us-ac-form { margin-top: 12px !important; }
.jdvc-us-ac-form-free { max-width: 500px !important; }
.jdvc-ac-free-product { width: 100% !important; padding: 8px 10px !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; margin-bottom: 10px !important; box-sizing: border-box !important; }
.jdvc-ac-stars { position: relative !important; display: inline-block !important; font-size: 22px !important; line-height: 1 !important; letter-spacing: 2px !important; cursor: pointer !important; }
.jdvc-ac-stars-bg { color: #e2e8f0 !important; white-space: nowrap !important; }
.jdvc-ac-stars-fg { position: absolute !important; top: 0 !important; left: 0 !important; overflow: hidden !important; color: #eab308 !important; white-space: nowrap !important; pointer-events: none !important; }
.jdvc-ac-stars-hit { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; display: flex !important; }
.jdvc-ac-star { flex: 1 !important; }
.jdvc-ac-comment { width: 100% !important; margin-top: 8px !important; padding: 8px 10px !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; font-family: inherit !important; box-sizing: border-box !important; }
.jdvc-ac-submit { margin-top: 10px !important; padding: 8px 16px !important; background: #0f172a !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; cursor: pointer !important; font-weight: 600 !important; }
/* Message de retour (ex-.css() du JS) */
.jdvc-ac-msg { margin-left: 10px !important; font-size: 13px !important; }
.jdvc-ac-msg.is-error { color: #dc2626 !important; }
.jdvc-ac-msg.is-success { color: #15803d !important; }

/* 5.5 Front : page [jdvc_avis_achat] */
.jdvc-us-ac-login { max-width: 600px !important; margin: 60px auto !important; text-align: center !important; font-family: sans-serif !important; }
.jdvc-us-ac-login-text { color: #334155 !important; }
.jdvc-us-ac-btn { display: inline-block !important; margin-top: 10px !important; padding: 10px 20px !important; background: #0f172a !important; color: #fff !important; border-radius: 8px !important; text-decoration: none !important; }
.jdvc-us-ac-page { max-width: 800px !important; margin: 60px auto !important; padding: 0 20px !important; font-family: sans-serif !important; }
.jdvc-us-ac-page-title { font-size: 26px !important; font-weight: 800 !important; color: #0f172a !important; margin-bottom: 10px !important; }
.jdvc-us-ac-page-intro { color: #64748b !important; margin-bottom: 30px !important; }
.jdvc-us-ac-list { display: grid !important; gap: 20px !important; }
.jdvc-ac-item-card { display: flex !important; gap: 20px !important; padding: 20px !important; border: 1px solid #e2e8f0 !important; border-radius: 12px !important; position: relative !important; }
.jdvc-ac-dismiss { position: absolute !important; top: 10px !important; right: 10px !important; width: 26px !important; height: 26px !important; border-radius: 50% !important; border: 0 !important; background: #fee2e2 !important; color: #dc2626 !important; font-weight: 700 !important; cursor: pointer !important; line-height: 1 !important; }
.jdvc-us-ac-item-media { flex-shrink: 0 !important; }
.jdvc-us-ac-item-img { width: 90px !important; height: 90px !important; object-fit: cover !important; border-radius: 8px !important; background: #f1f5f9 !important; }
.jdvc-us-ac-item-body { flex: 1 !important; }
.jdvc-us-ac-item-name { font-weight: 700 !important; color: #0f172a !important; text-decoration: none !important; font-size: 16px !important; }
.jdvc-us-ac-free { margin-top: 40px !important; padding-top: 30px !important; border-top: 1px solid #e2e8f0 !important; }
.jdvc-us-ac-free-title { font-size: 18px !important; font-weight: 700 !important; color: #0f172a !important; margin-bottom: 15px !important; }


/* ==========================================================================
   6. ADD-ON CATALOGUE (ushop-catalogue.php)
   ========================================================================== */
/* 6.1 Page Produits (jdvc-ucommerce-products) — ex-<style> de la page */
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-wrap { max-width: 1300px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-search { display:flex; gap:8px; margin:15px 0; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-search input[type="search"] { min-width:260px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); padding: 20px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-table th { background:#f8fafc; color:#475569; text-transform:uppercase; font-size:11px; letter-spacing:.4px; padding:12px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-table td { padding:12px; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-empty { color:#64748b; font-style:italic; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-thumb { width:42px; height:42px; border-radius:8px; background:#f1f5f9 center/cover no-repeat; border:1px solid #e2e8f0; display:inline-block; vertical-align:middle; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-badge { padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-shortcode { font-family:monospace; font-size:11px; background:#f1f5f9; padding:3px 6px; border-radius:4px; cursor:pointer; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-modal { display:none; position:fixed; inset:0; z-index:100000; align-items:center; justify-content:center; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-modal.is-open { display:flex; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.6); backdrop-filter:blur(2px); }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-modal-box { position: relative; width: min(720px, calc(100% - 40px)); max-height: calc(100vh - 80px); overflow-y: auto; background: #fff; border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); padding: 30px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-modal-close { position:absolute; top:15px; right:15px; background:none; border:none; font-size:22px; cursor:pointer; color:#64748b; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-form-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:15px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-form-grid label { display:flex; flex-direction:column; font-weight:600; font-size:12px; gap:6px; color:#475569; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-form-grid input, :where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-form-grid select, :where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-form-grid textarea { width:100%; box-sizing:border-box; padding:8px 10px; border:1px solid #cbd5e1; border-radius:6px; font-size:13px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-section { background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:18px; margin-top:18px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-section h4 { margin:0 0 12px; font-size:13px; color:#0f172a; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-modal-actions { display:flex; justify-content:space-between; align-items:center; margin-top:24px; padding-top:18px; border-top:1px solid #e2e8f0; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-type-block { display:none; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-media-upload { width:70px; height:70px; border:2px dashed #cbd5e1; background:#f8fafc center/cover no-repeat; cursor:pointer; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:10px; color:#64748b; font-weight:600; text-align:center; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-repeater-row { display:flex; gap:10px; margin-bottom:8px; align-items:center; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-remove-row { color:#ef4444; border:none; background:none; font-size:16px; font-weight:bold; cursor:pointer; }
/* Tags — widget façon metabox native WordPress */
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tagsdiv { position:relative; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-input-row { display:flex; gap:8px; margin-bottom:10px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-input-row input[type="text"] { flex:1; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-suggest { position:absolute; z-index:10; top:100%; left:0; right:90px; background:#fff; border:1px solid #cbd5e1; border-radius:6px; box-shadow:0 8px 20px rgba(15,23,42,.12); max-height:180px; overflow-y:auto; display:none; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-suggest div { padding:7px 10px; font-size:13px; cursor:pointer; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-suggest div:hover, :where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-suggest div.is-active { background:#f1f5f9; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-checklist { display:flex; flex-wrap:wrap; gap:8px; min-height:20px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-chip { display: inline-flex; align-items: center; gap: 6px; background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-chip button { background:none; border:none; color:#4338ca; font-size:15px; line-height:1; cursor:pointer; padding:2px 4px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-howto { font-size:12px; color:#64748b; margin:0 0 10px; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-cloud-toggle { background:none; border:none; color:#2563eb; font-size:12px; cursor:pointer; padding:0; margin-top:10px; text-decoration:underline; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-cloud { display:none; flex-wrap:wrap; gap:8px; margin-top:12px; padding-top:12px; border-top:1px dashed #e2e8f0; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-cloud.is-open { display:flex; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-cloud span { background: #f1f5f9; color: #334155; border: 1px solid #e2e8f0; border-radius: 999px; padding: 4px 10px; font-size: 12px; cursor: pointer; font-weight: 600; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-cloud span:hover { background:#e2e8f0; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tag-cloud span.is-selected { opacity:.4; cursor:default; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tags-manage-table td { vertical-align:middle; }
:where(.jdvc-us-page-jdvc-ucommerce-products) .jdvc-cat-tags-manage-row-edit { background:#f8fafc; }
.jdvc-us-cat-badge-draft { background: #f1f5f9; color: #64748b; }
.jdvc-us-cat-badge-out { background: #fee2e2; color: #dc2626; }
.jdvc-us-cat-badge-active { background: #dcfce7; color: #15803d; }
.jdvc-us-cat-pagination { padding-top: 15px; text-align: right; }
.jdvc-us-cat-modal-title { margin-top: 0; color: #0f172a; font-weight: 800; }
.jdvc-us-cat-media-row { display: grid; grid-template-columns: 90px 1fr; gap: 20px; margin-top: 15px; align-items: start; }
.jdvc-us-cat-label { display: block; font-size: 12px; font-weight: 600; color: #475569; margin-bottom: 6px; }
.jdvc-us-cat-input { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 6px; }
.jdvc-us-cat-input-sm { padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1; }
.jdvc-us-cat-toggle { font-size: 13px; font-weight: 600; color: #1e293b; }
.jdvc-us-cat-subtitle { margin: 15px 0 8px; color: #0f172a; }
.jdvc-us-cat-sep { margin-top: 15px; padding-top: 15px; border-top: 1px solid #e2e8f0; }
.jdvc-us-cat-shortcode-box { margin-top: 18px; padding: 12px 15px; background: #f1f5f9; border-radius: 8px; font-size: 12px; color: #475569; }
.jdvc-us-cat-checklist { max-height: 220px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; padding: 10px; margin-bottom: 12px; }
.jdvc-us-cat-tagform-title { margin: 0 0 10px; font-size: 13px; color: #0f172a; }
/* Arborescence des catégories (le retrait par niveau reste inline : valeur calculée en JS) */
.jdvc-cat-category-row { display: flex; align-items: center; gap: 6px; margin: 3px 0; }
.jdvc-us-cat-cat-label { flex: 1; cursor: pointer; font-weight: normal; }
.jdvc-us-cat-cat-del { border: 0; background: none; color: #94a3b8; cursor: pointer; font-weight: bold; }
.jdvc-us-cat-none { font-style: italic; color: #64748b; }
/* Shortcode copié (ex-.css() du JS ; !important = priorité de l'ancien inline sur le fond du badge) */
.jdvc-cat-shortcode.is-copied { background: #dcfce7 !important; }

/* 6.2 Placeholder de la matrice (page Configuration) */
.jdvc-us-cat-moved { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 30px; text-align: center; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); }
.jdvc-us-cat-moved-icon { font-size: 32px; margin-bottom: 10px; }
.jdvc-us-cat-moved .jdvc-us-cat-moved-title { margin: 0 0 8px; color: #0f172a; }
.jdvc-us-cat-moved-text { color: #64748b; max-width: 420px; margin: 0 auto 20px; }

/* 6.3 Front : infos produit sous le bouton d'achat (!important : priorité face au thème) */
.jdvc-us-cat-info { font-size: 12px !important; color: #64748b !important; margin-top: 12px !important; }
.jdvc-us-cat-info.is-out { color: #dc2626 !important; }

/* 6.4 Front : fiche produit (the_content) — ex-<style> */
.jdvc-cat-single-product { max-width: 1000px; margin: 0 auto; }
.jdvc-cat-single-product-header { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(280px, 1fr); gap: 40px; align-items: center; margin-bottom: 35px; }
.jdvc-cat-single-product-image img { display: block; width: 100%; height: auto; border-radius: 12px; }
.jdvc-cat-single-product-type { font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.jdvc-cat-single-product-main h1 { margin: 0 0 15px; }
.jdvc-cat-single-product-price { font-size: 24px; font-weight: 700; }
.jdvc-cat-single-product-description { margin-bottom: 30px; }
.jdvc-cat-single-product-info { padding: 18px; margin: 25px 0; border: 1px solid #e2e8f0; border-radius: 10px; }
.jdvc-cat-single-product-purchase { margin-top: 30px; }
@media (max-width: 700px) {
    .jdvc-cat-single-product-header { grid-template-columns: 1fr; gap: 20px; }
}

/* 6.5 Landing "Notre Catalogue" d'Unique Commerce (document autonome : ushop.css y est lié par le Catalogue) */
.jdvc-cat-product-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.jdvc-cat-product-card { overflow:hidden; border:1px solid #e2e8f0; border-radius:12px; background:#fff; }
.jdvc-cat-product-card img { display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; }
.jdvc-cat-product-card-body { padding:18px; }
.jdvc-cat-product-card h3 { margin:0 0 8px; }
.jdvc-cat-product-card h3 a { text-decoration:none; }
.jdvc-cat-product-card-price { margin-bottom:15px; font-weight:600; }
.jdvc-us-cat-landing-empty { text-align: center; color: #64748b; }


/* ==========================================================================
   7. ADD-ON CLIENTS (ushop-clients.php)
   ========================================================================== */
/* 7.1 Page Base Clients (jdvc-ucommerce-clients) — ex-<style> de la page */
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-box { max-width: 1200px; margin: 20px 20px 0 0; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-search { display: flex; gap: 10px; margin: 15px 0; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-search input[type="search"] { width: 320px; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-card { background: #fff; border: 1px solid #ccd0d4; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); padding: 20px; border-radius: 16px; margin-top: 15px; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-table th { font-weight: 600; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-pagination { margin-top: 15px; text-align: right; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-empty { color: #64748b; font-style: italic; margin: 0; }
/* Modale */
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-modal { display: none; position: fixed; inset: 0; z-index: 100000; align-items: center; justify-content: center; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-modal.is-open { display: flex; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-modal-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.6); backdrop-filter: blur(2px); }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-modal-box { position: relative; background: #fff; padding: 30px; border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); z-index: 10; max-height: 90vh; overflow-y: auto; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-modal-close { position: absolute; top: 15px; right: 15px; background: none; border: none; font-size: 22px; cursor: pointer; color: #64748b; line-height: 1; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-modal-close:hover { color: #0f172a; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-form-grid label { display: flex; flex-direction: column; font-weight: 600; font-size: 12px; gap: 6px; color: #475569; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-form-grid input { width: 100%; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 6px; }
:where(.jdvc-us-page-jdvc-ucommerce-clients) .jdvc-uc-modal-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 25px; padding-top: 20px; border-top: 1px solid #e2e8f0; }
.jdvc-us-cl-search-input { border-radius: 6px; border: 1px solid #cbd5e1; }
.jdvc-us-cl-wp-badge { background: #e0f2fe; color: #0369a1; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.jdvc-us-cl-guest { color: #94a3b8; font-size: 12px; }

/* 7.2 Fiche client (modale) */
.jdvc-us-cl-section { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #e2e8f0; }
.jdvc-us-cl-subtitle { margin: 20px 0 12px; font-size: 14px; color: #0f172a; }
.jdvc-us-cl-orders { background: #f8fafc; padding: 15px; border-radius: 10px; border: 1px solid #e2e8f0; font-size: 13px; max-height: 160px; overflow-y: auto; }
.jdvc-us-cl-orders-empty { color: #64748b; margin: 0; }
.jdvc-us-cl-orders-list { margin: 0; padding-left: 20px; color: #334155; }


/* ==========================================================================
   8. ADD-ON CONFIGURATION AVANCÉE (ushop-config-avancee.php)
   ========================================================================== */
/* 8.1 Carte de la page Configuration (double classe : prime sur .jdvc-mc-card) */
.jdvc-mc-card.jdvc-us-ca-card { margin-bottom: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 20px; }
.jdvc-us-ca-card .jdvc-us-ca-title { margin-top: 0; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; color: #0f172a; }
.jdvc-us-ca-box { margin-top: 20px; background: #f8fafc; padding: 15px; border-radius: 10px; border: 1px solid #e2e8f0; }
.jdvc-us-ca-box .jdvc-us-ca-box-title { margin: 0 0 15px; font-size: 15px; color: #0f172a; }
.jdvc-us-ca-row { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.jdvc-us-ca-field { font-weight: 600; font-size: 12px; color: #475569; }
.jdvc-us-ca-field-block { display: block; }
.jdvc-us-ca-field-label { display: block; margin-bottom: 4px; }
.jdvc-us-ca-input { padding: 6px; border-radius: 6px; border: 1px solid #cbd5e1; }
.jdvc-us-ca-check { font-size: 13px; font-weight: 600; cursor: pointer; }
.jdvc-us-ca-check-offset { margin-top: 16px; color: #1e293b; }
.jdvc-us-ca-check-block { display: block; margin-bottom: 8px; }
.jdvc-us-ca-sandbox { display: inline-block; margin-bottom: 15px; font-size: 13px; cursor: pointer; }
.jdvc-us-ca-gateways { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.jdvc-us-ca-gateway-title { margin: 0 0 10px; }
.jdvc-us-ca-gateway-title.is-stripe { color: #6366f1; }
.jdvc-us-ca-gateway-title.is-paypal { color: #0284c7; }
.widefat td.jdvc-us-ca-empty-cell { color: #64748b; font-style: italic; }

/* 8.2 Modale commande : détails financiers & logistique */
.jdvc-us-ca-order-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; margin-bottom: 20px; }
.jdvc-us-ca-order-box .jdvc-us-ca-order-title { margin: 0 0 10px; font-size: 14px; border-bottom: 1px solid #e2e8f0; padding-bottom: 8px; color: #0f172a; }
.jdvc-us-ca-order-list { list-style: none; padding: 0; margin: 0; font-size: 13px; }
.jdvc-us-ca-order-row { display: flex; justify-content: space-between; margin-bottom: 6px; }
.jdvc-us-ca-order-row.is-muted { color: #64748b; }
.jdvc-us-ca-order-total { display: flex; justify-content: space-between; margin-top: 8px; padding-top: 8px; border-top: 1px solid #e2e8f0; font-size: 14px; }

/* 8.3 Front : prix et formulaire d'achat (!important : priorité face au thème) */
.jdvc-us-ca-price-label { font-size: 0.7em !important; color: #64748b !important; }
.jdvc-us-ca-front-box { margin: 15px 0 !important; padding: 15px !important; background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; }
.jdvc-us-ca-front-title { margin: 0 0 10px !important; font-size: 13px !important; color: #0f172a !important; }
.jdvc-us-ca-shipping-option { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 6px 0 !important; cursor: pointer !important; font-size: 13px !important; }
.jdvc-us-ca-front-error { color: #ef4444 !important; font-size: 12px !important; margin: 0 !important; }
.jdvc-us-ca-gateway-choices { display: flex !important; gap: 15px !important; }
.jdvc-us-ca-radio { cursor: pointer !important; font-size: 13px !important; }
.jdvc-ca-summary { margin: 15px 0 !important; padding: 12px 15px !important; background: #f1f5f9 !important; border-radius: 8px !important; font-size: 12px !important; color: #334155 !important; }
.jdvc-us-ca-summary-row { display: flex !important; justify-content: space-between !important; margin-bottom: 4px !important; }
.jdvc-us-ca-summary-row.is-muted { color: #64748b !important; }
.jdvc-us-ca-summary-total { display: flex !important; justify-content: space-between !important; font-weight: bold !important; font-size: 14px !important; margin-top: 6px !important; padding-top: 6px !important; border-top: 1px solid #cbd5e1 !important; color: #0f172a !important; }


/* ==========================================================================
   9. ADD-ON CODES PROMO (ushop-coupons-promo.php)
   ========================================================================== */
/* 9.1 Page Codes Promo (jdvc-ucommerce-promos) — ex-admin_head */
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-wrap { max-width:1400px; font-family: sans-serif; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); padding: 22px; margin-bottom: 20px; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-table { border:0;box-shadow:none;width:100%;text-align:left;border-collapse:collapse; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-table th { background:#f8fafc;color:#475569;text-transform:uppercase;font-size:11px;letter-spacing:.4px;padding:14px 12px;border-bottom:1px solid #e2e8f0; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-table td { padding:14px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-status { display:inline-block;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:700; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-modal { display:none;position:fixed;inset:0;z-index:99999; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-modal.is-open { display:flex;align-items:center;justify-content:center; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-modal-backdrop { position:absolute;inset:0;width:100%;height:100%;background:rgba(15,23,42,.55);backdrop-filter:blur(2px); }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-modal-box { position: relative; width: min(600px,calc(100% - 40px)); background: #fff; border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); padding: 28px; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-modal-close { position:absolute;right:16px;top:10px;border:0;background:none;font-size:28px;color:#64748b;cursor:pointer; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-input { width:100%;padding:8px 12px;border-radius:6px;border:1px solid #cbd5e1;background:#fff; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-form-row { margin-bottom:15px; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-form-row label { display:block;font-size:12px;font-weight:bold;color:#475569;margin-bottom:6px; }
:where(.jdvc-us-page-jdvc-ucommerce-promos) .jdvc-mc-modal-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid #e2e8f0; }
.jdvc-us-pr-code { color: #0f172a; font-size: 14px; }
.jdvc-us-pr-value { color: #10b981; }
.jdvc-us-pr-options { background: #f8fafc; padding: 15px; border-radius: 10px; border: 1px solid #e2e8f0; }
.jdvc-us-pr-option { display: flex; align-items: center; gap: 10px; cursor: pointer; }

/* 9.2 Front : champ "Code promo" du panier (!important : priorité face au thème) */
.jdvc-us-pr-bar { padding: 20px !important; background: #fff !important; border-bottom: 1px solid #e2e8f0 !important; display: flex !important; justify-content: flex-end !important; align-items: center !important; }
.jdvc-us-pr-applied { background: #ecfdf5 !important; padding: 12px 20px !important; border-radius: 8px !important; border: 1px solid #a7f3d0 !important; display: flex !important; align-items: center !important; gap: 15px !important; }
.jdvc-us-pr-applied-text { color: #065f46 !important; font-weight: 600 !important; font-size: 14px !important; }
.jdvc-us-pr-remove { background: none !important; border: none !important; color: #ef4444 !important; font-size: 13px !important; font-weight: bold !important; cursor: pointer !important; text-decoration: underline !important; }
.jdvc-us-pr-form { display: flex !important; gap: 10px !important; align-items: center !important; }
.jdvc-us-pr-input { padding: 10px 15px !important; border: 1px solid #cbd5e1 !important; border-radius: 6px !important; width: 200px !important; text-transform: uppercase !important; }
.jdvc-us-pr-apply { background: #0f172a !important; color: #fff !important; padding: 10px 20px !important; border: none !important; border-radius: 6px !important; font-weight: 600 !important; cursor: pointer !important; }
.jdvc-us-pr-old-total { text-decoration: line-through !important; color: #94a3b8 !important; font-size: 16px !important; font-weight: normal !important; margin-right: 8px !important; }
.jdvc-us-pr-new-total { color: #10b981 !important; font-size: 22px !important; }


/* ==========================================================================
   10. ADD-ON HOOKED PRODUCT (ushop-hooked-product.php)
   ========================================================================== */
/* 10.1 Modale produit : action déclenchée à l'achat (display:none des blocs reste inline : basculé en JS) */
.jdvc-us-hp-label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 13px; }
.jdvc-hooked-fields-block { margin-top: 10px; padding: 12px; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; }
.jdvc-us-hp-empty { color: #94a3b8; font-style: italic; font-size: 13px; }
.jdvc-us-hp-help { font-size: 12px; color: #64748b; margin: 0 0 10px; }
.jdvc-us-hp-note { font-size: 12px; color: #94a3b8; margin: 0; }

/* 10.2 Carte WaaS Bridge (page Configuration) */
.jdvc-us-hp-waas-title { margin-top: 0; color: #0f172a; }
.jdvc-us-hp-check { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; margin-bottom: 12px; }
.jdvc-us-hp-check-faint { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #94a3b8; margin-bottom: 15px; }
.jdvc-us-hp-note-xs { font-size: 11px; color: #94a3b8; margin: 6px 0 0; }
.jdvc-us-hp-subtitle { margin: 20px 0 8px; }

/* 10.3 Front : champs de création de site dans le formulaire d'achat (!important : priorité face au thème) */
.jdvc-us-hp-front-field { margin-bottom: 15px !important; }
.jdvc-us-hp-front-label { display: block !important; font-size: 12px !important; font-weight: 700 !important; color: #475569 !important; text-transform: uppercase !important; margin-bottom: 6px !important; }
.jdvc-us-hp-front-input { width: 100% !important; box-sizing: border-box !important; padding: 11px !important; border: 1px solid #cbd5e1 !important; border-radius: 6px !important; }
.jdvc-us-hp-front-input.is-grouped { flex: 1 !important; width: auto !important; min-width: 0 !important; border-right: none !important; border-radius: 6px 0 0 6px !important; }
.jdvc-us-hp-front-group { display: flex !important; align-items: stretch !important; }
.jdvc-us-hp-front-suffix { display: flex !important; align-items: center !important; padding: 0 12px !important; background: #f1f5f9 !important; border: 1px solid #cbd5e1 !important; border-radius: 0 6px 6px 0 !important; color: #64748b !important; font-size: 14px !important; white-space: nowrap !important; }
.jdvc-us-hp-front-help { font-size: 11px !important; color: #94a3b8 !important; margin: 6px 0 0 !important; }


/* ==========================================================================
   11. ADD-ON IMPORT WOOCOMMERCE (ushop-import-wc.php)
   (la largeur de la barre de progression reste inline : pilotée en JS)
   ========================================================================== */
.jdvc-us-iwc-wrap { max-width: 900px; }
.jdvc-us-iwc-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 20px; }
.widefat td.jdvc-us-iwc-sub { padding-left: 20px; color: #64748b; }
.jdvc-us-iwc-option { display: block; margin-bottom: 10px; }
.jdvc-us-iwc-track { background: #f1f5f9; border-radius: 8px; height: 24px; overflow: hidden; }
.jdvc-us-iwc-bar { background: #0f172a; height: 100%; transition: width .2s; }
.jdvc-us-iwc-report { margin-top: 25px; padding-top: 20px; border-top: 1px solid #e2e8f0; }
.jdvc-us-iwc-log { max-height: 400px; overflow-y: auto; font-size: 13px; }


/* ==========================================================================
   12. ADD-ON INTERFACE AVANCÉE (ushop-interface-avancee.php)
   Front : classes ex-inline en !important (priorité face au thème), SAUF les propriétés pilotées
   en JS (opacité / transform du tiroir, display du bouton flottant), laissées sans !important.
   Restent inline : positions réglables du panier, display calculé de la ligne de remise.
   ========================================================================== */
/* 12.1 Classes issues des anciens styles inline (règles générées depuis les valeurs d'origine) */
.jdvc-mc-card.jdvc-us-af-card { margin-top: 24px; padding: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); }
.jdvc-us-af-card-title { margin: 0 0 20px; font-size: 18px; color: #0f172a; }
.jdvc-us-af-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.jdvc-us-af-box { background: #f8fafc; padding: 15px; border-radius: 10px; border: 1px solid #e2e8f0; }
.jdvc-us-af-box-title { margin: 0 0 15px; color: #475569; }
.jdvc-us-af-label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 600; }
.jdvc-us-af-help { font-size: 12px; color: #64748b; margin-bottom: 15px; }
.jdvc-us-af-label-sm { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 600; }
.jdvc-us-af-cart-backdrop { position: fixed; inset: 0; background: rgba(15,23,42,0.5); z-index: 99998; opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.jdvc-us-af-drawer-head { padding: 20px !important; border-bottom: 1px solid #e2e8f0 !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
.jdvc-us-af-drawer-title { margin: 0 !important; font-size: 18px !important; color: #0f172a !important; }
.jdvc-us-af-drawer-close { background: none !important; border: none !important; font-size: 24px !important; cursor: pointer !important; color: #64748b !important; }
.jdvc-us-af-drawer-body { flex: 1 !important; overflow-y: auto !important; padding: 20px !important; }
.jdvc-us-af-drawer-foot { padding: 20px !important; border-top: 1px solid #e2e8f0 !important; background: #f8fafc !important; }
.jdvc-us-af-drawer-btn { display: block !important; width: 100% !important; background: #0f172a !important; color: #fff !important; text-align: center !important; padding: 14px !important; border-radius: 8px !important; font-weight: 700 !important; text-decoration: none !important; }
.jdvc-us-af-drawer-empty { color: #64748b !important; text-align: center !important; margin-top: 30px !important; }
.jdvc-us-af-drawer-item { display: flex !important; gap: 15px !important; margin-bottom: 15px !important; padding-bottom: 15px !important; border-bottom: 1px solid #f1f5f9 !important; transition: opacity 0.2s !important; }
.jdvc-us-af-drawer-img { width: 60px !important; height: 60px !important; object-fit: cover !important; border-radius: 6px !important; border: 1px solid #e2e8f0 !important; }
.jdvc-us-af-flex-1 { flex: 1 !important; }
.jdvc-us-af-drawer-item-title { margin: 0 0 5px !important; font-size: 14px !important; color: #0f172a !important; }
.jdvc-us-af-drawer-item-meta { font-size: 11px !important; color: #64748b !important; }
.jdvc-us-af-drawer-item-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-top: 8px !important; }
.jdvc-us-af-drawer-item-price { font-size: 13px !important; font-weight: 600 !important; color: #0f172a !important; }
.jdvc-us-af-drawer-item-qty { color: #94a3b8 !important; font-weight: normal !important; }
.jdvc-us-af-drawer-item-remove { color: #ef4444 !important; font-size: 12px !important; text-decoration: none !important; }
.jdvc-us-af-drawer-total { display: flex !important; justify-content: space-between !important; margin-top: 20px !important; font-size: 16px !important; font-weight: 800 !important; color: #0f172a !important; }
.jdvc-us-af-cart-page { max-width: 900px !important; margin: 40px auto !important; font-family: sans-serif !important; }
.jdvc-us-af-cart-title { color: #0f172a !important; margin-bottom: 30px !important; }
.jdvc-us-af-cart-empty { background: #f8fafc !important; padding: 40px !important; text-align: center !important; border-radius: 12px !important; border: 1px solid #e2e8f0 !important; }
.jdvc-us-af-cart-empty-text { color: #64748b !important; font-size: 16px !important; }
.jdvc-us-af-cart-box { background: #fff !important; border-radius: 12px !important; border: 1px solid #e2e8f0 !important; overflow: hidden !important; box-shadow: 0 4px 6px -1px rgba(0,0,0,.05) !important; }
.jdvc-us-af-cart-table { width: 100% !important; border-collapse: collapse !important; text-align: left !important; }
.jdvc-us-af-cart-head { background: #f8fafc !important; border-bottom: 1px solid #e2e8f0 !important; }
.jdvc-us-af-cart-th { padding: 15px 20px !important; color: #475569 !important; font-size: 12px !important; text-transform: uppercase !important; }
.jdvc-us-af-cart-th.jdvc-us-af-cart-th-100 { width: 100px !important; }
.jdvc-us-af-cart-th.jdvc-us-af-cart-th-80 { width: 80px !important; }
.jdvc-us-af-cart-row { border-bottom: 1px solid #f1f5f9 !important; }
.jdvc-us-af-cart-td { padding: 15px 20px !important; }
.jdvc-us-af-inline-15 { display: flex !important; align-items: center !important; gap: 15px !important; }
.jdvc-us-af-cart-thumb { width: 50px !important; height: 50px !important; border-radius: 6px !important; object-fit: cover !important; border: 1px solid #e2e8f0 !important; }
.jdvc-us-af-cart-link { color: #0f172a !important; display: block !important; font-weight: 700 !important; text-decoration: none !important; }
.jdvc-us-af-cart-name { color: #0f172a !important; display: block !important; }
.jdvc-us-af-cart-meta { font-size: 11px !important; color: #64748b !important; margin-right: 10px !important; }
.jdvc-us-af-cart-td-price { padding: 15px 20px !important; font-weight: 600 !important; color: #0f172a !important; }
.jdvc-us-af-cart-td-qty { padding: 15px 20px !important; color: #475569 !important; }
.jdvc-us-af-qty { display: flex !important; align-items: center !important; gap: 6px !important; }
.jdvc-us-af-qty-btn { width: 28px !important; height: 28px !important; border: 1px solid #cbd5e1 !important; background: #fff !important; border-radius: 5px !important; cursor: pointer !important; }
.jdvc-us-af-qty-input { width: 55px !important; padding: 5px !important; text-align: center !important; border: 1px solid #cbd5e1 !important; border-radius: 5px !important; }
.jdvc-us-af-cart-td-total { padding: 15px 20px !important; font-weight: 800 !important; color: #0f172a !important; }
.jdvc-us-af-cart-foot { padding: 30px 20px !important; background: #f8fafc !important; display: flex !important; justify-content: flex-end !important; align-items: center !important; gap: 30px !important; }
.jdvc-us-af-cart-subtotal { font-size: 20px !important; color: #0f172a !important; }
.jdvc-us-af-cart-checkout { background: #0f172a !important; color: #fff !important; padding: 14px 28px !important; border-radius: 8px !important; font-weight: 700 !important; text-decoration: none !important; }
.jdvc-us-af-co-page { max-width: 600px !important; margin: 40px auto !important; font-family: sans-serif !important; background: #fff !important; padding: 40px !important; border-radius: 12px !important; border: 1px solid #e2e8f0 !important; box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important; }
.jdvc-us-af-co-title { margin: 0 0 20px !important; color: #0f172a !important; }
.jdvc-us-af-co-section { margin-bottom: 24px !important; padding: 22px !important; background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 16px !important; box-shadow: 0 8px 20px rgba(15,23,42,.04) !important; }
.jdvc-us-af-co-section-title { margin: 0 0 18px !important; color: #0f172a !important; font-size: 18px !important; font-weight: 800 !important; }
.jdvc-us-af-co-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 15px !important; }
.jdvc-us-af-co-field { display: flex !important; flex-direction: column !important; gap: 7px !important; font-size: 13px !important; font-weight: 700 !important; color: #475569 !important; }
.jdvc-us-af-co-input { padding: 12px 14px !important; border: 1px solid #cbd5e1 !important; border-radius: 10px !important; }
.jdvc-us-af-co-field.jdvc-us-af-co-field-full { grid-column: 1 / -1 !important; }
.jdvc-us-af-co-summary { background: #f8fafc !important; padding: 20px !important; border-radius: 8px !important; border: 1px solid #e2e8f0 !important; margin-bottom: 20px !important; }
.jdvc-us-af-co-row { display: flex !important; justify-content: space-between !important; margin-bottom: 8px !important; }
.jdvc-us-af-co-muted { color: #64748b !important; }
.jdvc-us-af-co-block { margin: 15px 0 !important; }
.jdvc-us-af-co-group-label { display: block !important; font-size: 12px !important; font-weight: 700 !important; color: #475569 !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.jdvc-us-af-co-option.jdvc-us-af-co-option-spaced { margin-bottom: 8px !important; }
.jdvc-us-af-co-error-sm { font-size: 13px !important; color: #b91c1c !important; }
.jdvc-us-af-co-total { border-top: 1px solid #e2e8f0 !important; margin-top: 15px !important; padding-top: 15px !important; display: flex !important; justify-content: space-between !important; }
.jdvc-us-af-co-total-label { font-size: 15px !important; font-weight: 700 !important; color: #0f172a !important; }
.jdvc-us-af-co-total-value { font-size: 24px !important; color: #0f172a !important; }
.jdvc-us-af-co-mb-20 { margin-bottom: 20px !important; }
.jdvc-us-af-co-group-label.jdvc-us-af-co-group-label-lg { margin-bottom: 10px !important; }
.jdvc-us-af-co-option { display: flex !important; align-items: center !important; gap: 8px !important; cursor: pointer !important; }
.jdvc-us-af-co-submit { width: 100% !important; background: #0f172a !important; color: #fff !important; padding: 16px !important; border: none !important; border-radius: 8px !important; font-weight: 700 !important; cursor: pointer !important; font-size: 16px !important; transition: opacity 0.2s !important; }
.jdvc-us-af-co-error { color: #b91c1c !important; font-size: 13px !important; font-weight: 600 !important; margin: 12px 0 0 !important; text-align: center !important; }
.jdvc-us-af-loading { text-align: center !important; color: #64748b !important; }
.jdvc-us-af-crumbs { max-width: 1200px !important; margin: 20px auto 0 !important; padding: 0 20px !important; font-size: 13px !important; color: #64748b !important; font-family: sans-serif !important; }
.jdvc-us-af-crumbs-sep { margin: 0 6px !important; color: #cbd5e1 !important; }
.jdvc-us-af-crumbs-link { color: #64748b !important; text-decoration: none !important; }
.jdvc-us-af-crumbs-current { color: #0f172a !important; font-weight: 600 !important; }
.jdvc-us-af-sp { max-width: 1200px !important; margin: 60px auto !important; padding: 0 20px !important; font-family: sans-serif !important; }
.jdvc-us-af-sp-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)) !important; gap: 50px !important; margin-bottom: 60px !important; }
.jdvc-us-af-sp-img { width: 100% !important; height: auto !important; border-radius: 12px !important; box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important; object-fit: cover !important; }
.jdvc-us-af-sp-placeholder { width: 100% !important; aspect-ratio: 1/1 !important; background: #f1f5f9 !important; border-radius: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #94a3b8 !important; }
.jdvc-us-af-sp-title { font-size: 32px !important; color: #0f172a !important; margin: 0 0 20px !important; }
.jdvc-us-af-sp-desc { color: #475569 !important; line-height: 1.6 !important; margin-bottom: 30px !important; font-size: 16px !important; }
.jdvc-us-af-sp-buy { background: #f8fafc !important; padding: 30px !important; border-radius: 12px !important; border: 1px solid #e2e8f0 !important; }
.jdvc-us-af-sp-tabs { border-top: 1px solid #e2e8f0 !important; padding-top: 40px !important; }
.jdvc-us-af-sp-tabs-nav { display: flex !important; gap: 10px !important; border-bottom: 1px solid #e2e8f0 !important; margin-bottom: 25px !important; }
.jdvc-us-af-sp-content { color: #334155 !important; line-height: 1.8 !important; }
.jdvc-us-af-sp-empty { color: #94a3b8 !important; font-style: italic !important; }
.jdvc-us-af-mb-6 { margin-bottom: 6px !important; }
.jdvc-us-af-list { margin: 0 0 12px !important; padding-left: 18px !important; }
.jdvc-us-af-list-flush { margin: 0 !important; padding-left: 18px !important; }
.jdvc-us-af-sp-stock { display: flex !important; align-items: center !important; gap: 6px !important; margin: 4px 0 10px !important; font-size: 13px !important; color: #64748b !important; }
.jdvc-us-af-sp-stock-icon { font-size: 14px !important; }

/* 12.2 Bouton flottant et tiroir du panier (sélecteurs par ID : priorité face au thème sans bloquer le JS) */
#jdvc-cart-sticky { position: fixed; bottom: 20px; z-index: 9999; background: #0f172a; color: #fff; padding: 12px 20px; border-radius: 50px; cursor: pointer; box-shadow: 0 10px 25px rgba(0,0,0,0.2); font-family: sans-serif; font-weight: 700; display: flex; align-items: center; gap: 10px; transition: transform 0.2s; }
#jdvc-cart-modal { position: fixed; top: 0; bottom: 0; width: 400px; max-width: 100%; background: #fff; z-index: 99999; box-shadow: -5px 0 25px rgba(0,0,0,0.1); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; font-family: sans-serif; }

/* 12.3 Paiement : ligne de remise (display calculé en PHP, reste inline) */
.jdvc-us-af-co-discount { justify-content: space-between !important; margin-bottom: 8px !important; color: #16a34a !important; }

/* 12.4 Bouton d'achat : état "Ajouté !" (ex-.css() du JS ; prime sur le fond inline d'Unique Commerce) */
.jdvc-us-af-is-added { background: #10b981 !important; }

/* 12.5 Page [jdvc_my_orders] — ex-<style> */
.jdvc-af-orders { max-width: 1000px; margin: 0 auto; }
.jdvc-af-orders-header { margin-bottom: 28px; }
.jdvc-af-orders-header h2 { margin: 0 0 8px; color: #0f172a; font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.jdvc-af-orders-header p { margin: 0; color: #64748b; }
.jdvc-af-orders-list { display: grid; gap: 14px; }
.jdvc-af-order-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 22px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 20px rgba(15,23,42,.04); }
.jdvc-af-order-ref { color: #0f172a; font-size: 17px; font-weight: 750; margin-bottom: 5px; }
.jdvc-af-order-date { color: #64748b; font-size: 13px; }
.jdvc-af-order-total { color: #0f172a; font-weight: 800; margin-top: 7px; }
.jdvc-af-order-open { appearance: none; border: 0; cursor: pointer; padding: 11px 17px; border-radius: 10px; background: #0f172a; color: #fff; font-weight: 700; transition: transform .2s ease, opacity .2s ease; }
.jdvc-af-order-open:hover { transform: translateY(-1px); opacity: .9; }
.jdvc-af-orders-empty { padding: 60px 30px; text-align: center; border-radius: 18px; border: 1px dashed #cbd5e1; background: #f8fafc; color: #64748b; }
.jdvc-af-order-modal { position: fixed; inset: 0; z-index: 999999; display: none; align-items: center; justify-content: center; padding: 20px; }
.jdvc-af-order-modal.is-open { display: flex; }
.jdvc-af-order-modal-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.65); backdrop-filter: blur(4px); }
.jdvc-af-order-modal-box { position: relative; z-index: 2; width: min(720px, 100%); max-height: 90vh; overflow: auto; padding: 30px; border-radius: 20px; background: #fff; box-shadow: 0 25px 70px rgba(0,0,0,.25); }
.jdvc-af-order-modal-close { position: absolute; top: 14px; right: 18px; border: 0; background: none; font-size: 26px; cursor: pointer; color: #64748b; }
.jdvc-af-order-modal-title { margin: 0 0 5px; color: #0f172a; font-size: 25px; font-weight: 800; }
.jdvc-af-order-modal-date { margin-bottom: 28px; color: #64748b; font-size: 13px; }
.jdvc-af-order-items { margin: 0; padding: 0; list-style: none; border-top: 1px solid #e2e8f0; }
.jdvc-af-order-item { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid #e2e8f0; }
.jdvc-af-order-item-name { color: #0f172a; font-weight: 700; }
.jdvc-af-order-item-qty { display: block; margin-top: 4px; color: #64748b; font-size: 12px; }
.jdvc-af-order-summary { margin-top: 25px; padding: 18px; border-radius: 14px; background: #f8fafc; }
.jdvc-af-order-summary-row { display: flex; justify-content: space-between; gap: 20px; padding: 7px 0; color: #475569; }
.jdvc-af-order-summary-total { margin-top: 8px; padding-top: 14px; border-top: 1px solid #e2e8f0; color: #0f172a; font-size: 18px; font-weight: 800; }
@media (max-width: 650px) {
    .jdvc-af-order-card { grid-template-columns: 1fr; }
}

/* 12.6 Archive produits — ex-<style> (fond du bandeau : style="--jdvc-us-hero-bg:…", réglable via UI Textes) */
.jdvc-af-shop { max-width: 1400px; margin: 0 auto; padding: 70px 24px 100px; font-family: inherit; }
.jdvc-af-shop-hero { position: relative; overflow: hidden; padding: 55px; margin-bottom: 45px; border-radius: 28px; background: var(--jdvc-us-hero-bg); color: #fff; box-shadow: 0 25px 60px rgba(15,23,42,.18); }
.jdvc-af-shop-hero::after { content: ""; position: absolute; width: 320px; height: 320px; right: -120px; top: -140px; border-radius: 50%; background: rgba(255,255,255,.05); }
.jdvc-af-shop-kicker { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.12); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 18px; }
.jdvc-af-shop-hero h1 { position: relative; z-index: 2; margin: 0; font-size: clamp(36px, 5vw, 58px); line-height: 1.05; font-weight: 850; letter-spacing: -.03em; }
.jdvc-af-shop-hero p { position: relative; z-index: 2; max-width: 650px; margin: 18px 0 0; color: #cbd5e1; font-size: 17px; line-height: 1.7; }
.jdvc-af-shop-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 28px; }
.jdvc-af-shop-count { color: #64748b; font-size: 14px; }
.jdvc-af-shop-count strong { color: #0f172a; }
.jdvc-af-products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.jdvc-af-product-card { position: relative; display: flex; flex-direction: column; overflow: hidden; min-width: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 20px; box-shadow: 0 8px 25px rgba(15,23,42,.04); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.jdvc-af-product-card:hover { transform: translateY(-5px); border-color: #cbd5e1; box-shadow: 0 20px 40px rgba(15,23,42,.10); }
.jdvc-af-product-image { position: relative; aspect-ratio: 1 / .78; overflow: hidden; background: #f8fafc; }
.jdvc-af-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.jdvc-af-product-card:hover .jdvc-af-product-image img { transform: scale(1.04); }
.jdvc-af-product-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #94a3b8; font-size: 13px; }
.jdvc-af-product-body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.jdvc-af-product-body h2 { margin: 0 0 10px; color: #0f172a; font-size: 19px; line-height: 1.3; font-weight: 750; }
.jdvc-af-product-body h2 a { color: inherit; text-decoration: none; }
.jdvc-af-product-excerpt { margin: 0 0 22px; color: #64748b; font-size: 14px; line-height: 1.6; }
.jdvc-af-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; }
.jdvc-af-product-price { color: #0f172a; font-size: 20px; font-weight: 800; }
.jdvc-af-product-link { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 10px; background: #0f172a; color: #fff !important; text-decoration: none; font-size: 13px; font-weight: 700; transition: opacity .2s ease, transform .2s ease; }
.jdvc-af-product-link:hover { opacity: .88; transform: translateY(-1px); }
.jdvc-af-shop-empty { padding: 70px 30px; text-align: center; border: 1px dashed #cbd5e1; border-radius: 20px; background: #f8fafc; color: #64748b; }
.jdvc-af-shop-pagination { margin-top: 45px; text-align: center; }
.jdvc-af-shop-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; margin: 3px; padding: 0 10px; border-radius: 9px; border: 1px solid #e2e8f0; color: #475569; text-decoration: none; font-weight: 600; }
.jdvc-af-shop-pagination .page-numbers.current { background: #0f172a; border-color: #0f172a; color: #fff; }
@media (max-width: 700px) {
    .jdvc-af-shop { padding: 35px 16px 70px; }
    .jdvc-af-shop-hero { padding: 35px 26px; border-radius: 22px; }
    .jdvc-af-products-grid { grid-template-columns: 1fr; }
}


/* ==========================================================================
   13. ADD-ON UI TEXTES (ushop-ui-textes.php) — carte "En-tête Archive" de la Configuration
   (champs en tag + classe : priment sur .regular-text / .large-text de WordPress, comme l'ancien inline)
   ========================================================================== */
.jdvc-us-ut-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 24px; margin-bottom: 24px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); }
.jdvc-us-ut-card .jdvc-us-ut-title { margin-top: 0; font-size: 16px; font-weight: 600; color: #0f172a; border-bottom: 1px solid #e2e8f0; padding-bottom: 12px; margin-bottom: 20px; }
.form-table th.jdvc-us-ut-th { color: #334155; font-weight: 500; }
.jdvc-us-ut-check { display: flex; align-items: center; gap: 8px; }
input.jdvc-us-ut-input { width: 100%; max-width: 400px; border-radius: 6px; border: 1px solid #cbd5e1; padding: 6px 12px; }
textarea.jdvc-us-ut-textarea { width: 100%; max-width: 600px; border-radius: 6px; border: 1px solid #cbd5e1; padding: 8px 12px; }
.jdvc-us-ut-help { color: #64748b; margin-top: 6px; }
.jdvc-us-ut-code { font-family: monospace; font-size: 13px; }


/* ==========================================================================
   14. ADD-ON UX MAILS (ushop-ux-mails.php) — liste et édition des e-mails (jdvc-ux-mails)
   (le HTML des e-mails reste inline ; champs en tag + classe : priment sur .regular-text / .large-text)
   ========================================================================== */
.jdvc-us-intro { color: #64748b; max-width: 700px; }
.wp-list-table.jdvc-us-mx-table { margin-top: 20px; max-width: 1000px; }
.jdvc-us-w-30p { width: 30% !important; }
.jdvc-us-w-12p { width: 12% !important; }
.jdvc-us-w-20p { width: 20% !important; }
.jdvc-us-mx-desc { margin: 4px 0 0; color: #64748b; font-size: 12px; }
.jdvc-us-mx-pill { padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.jdvc-us-mx-pill-off { background: #f1f5f9; color: #64748b; }
.jdvc-us-mx-back { text-decoration: none; color: #64748b; font-size: 13px; }
.jdvc-us-mx-form { max-width: 700px; margin-top: 20px; }
.jdvc-us-mx-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; }
.jdvc-us-mx-toggle { display: flex; align-items: center; gap: 8px; font-weight: 600; margin-bottom: 20px; }
input.jdvc-us-mx-input { width: 100%; max-width: 500px; border-radius: 6px; border: 1px solid #cbd5e1; padding: 8px 12px; }
textarea.jdvc-us-mx-textarea { width: 100%; border-radius: 6px; border: 1px solid #cbd5e1; padding: 10px 12px; }
.description.jdvc-us-mx-help { color: #64748b; margin-top: 8px; }
.jdvc-us-mx-ph { margin-right: 6px; }


/* ==========================================================================
   15. ADD-ON VARIATIONS (ushop-variations.php) — constructeur de variations (modale produit)
   (display:none du constructeur reste inline : basculé en JS)
   ========================================================================== */
.jdvc-cat-section.jdvc-us-var-section { border-color: #3b82f6; background: #eff6ff; }
.jdvc-us-var-toggle { font-size: 13px; font-weight: 600; color: #1e3a8a; display: flex; align-items: center; gap: 8px; }
.jdvc-us-var-builder { margin-top: 15px; border-top: 1px solid #bfdbfe; padding-top: 15px; }
.jdvc-us-var-step { margin: 0 0 10px; color: #1e3a8a; }
.jdvc-us-var-scroll { overflow-x: auto; }
.jdvc-us-var-thead { background: #f8fafc; }
.jdvc-cat-repeater-row.jdvc-us-var-attr-row, .jdvc-us-var-attr-row { display: flex; gap: 10px; margin-bottom: 10px; align-items: center; }
/* Double classe : prime sur .jdvc-cat-remove-row du Catalogue, comme l'ancien inline */
.jdvc-cat-remove-row.jdvc-us-var-remove { color: #ef4444; background: none; border: none; font-weight: bold; cursor: pointer; }
.jdvc-cat-remove-row.jdvc-us-var-remove-lg { font-size: 16px; }
.jdvc-us-var-cell-input { padding: 4px; }
.jdvc-us-var-w-70 { width: 70px !important; }
.jdvc-us-var-w-90 { width: 90px !important; }


/* ==========================================================================
   99. PRIORITÉ SUR ADMIN.CSS
   Préfixe #wpbody (conteneur principal de l'admin) + !important pour repasser devant les
   surcharges globales d'admin.css (champs, boutons WP, .widefat…).
   ========================================================================== */
/* Commandes : tableau intégré à sa carte, sans bordure propre */
#wpbody .widefat.jdvc-mc-table { border: 0 !important; box-shadow: none !important; }
/* Bouton sombre "Mettre à jour" de la modale commande (couleur figée, comme l'ancien inline) */
#wpbody .button.jdvc-us-btn-dark, #wpbody .button.jdvc-us-btn-dark:hover { background: #0f172a !important; border: 1px solid #0f172a !important; }
/* Avis Clients : champs "jours" de la carte de réglages */
#wpbody input.jdvc-us-input-days { width: 80px !important; padding: 6px !important; border-radius: 6px !important; border: 1px solid #cbd5e1 !important; }
/* Avis Clients : tableau intégré à sa carte (page Avis Clients) */
.jdvc-us-page-jdvc-ucommerce-reviews #wpbody .widefat.jdvc-mc-table { border: 0 !important; box-shadow: none !important; }
/* Catalogue : champs du formulaire produit (bloc de la page + champs ex-inline) */
.jdvc-us-page-jdvc-ucommerce-products #wpbody .jdvc-cat-form-grid input,
.jdvc-us-page-jdvc-ucommerce-products #wpbody .jdvc-cat-form-grid select,
.jdvc-us-page-jdvc-ucommerce-products #wpbody .jdvc-cat-form-grid textarea,
#wpbody .jdvc-us-cat-input { padding: 8px 10px !important; border: 1px solid #cbd5e1 !important; border-radius: 6px !important; }
#wpbody .jdvc-us-cat-input-sm { padding: 8px !important; border: 1px solid #cbd5e1 !important; border-radius: 6px !important; }
/* Boutons arrondis, boutons de titre, liens de suppression rouges */
#wpbody .button.jdvc-us-radius-6 { border-radius: 6px !important; }
#wpbody .wrap .page-title-action.jdvc-us-cat-title-btn { border-radius: 6px !important; font-weight: 600 !important; }
#wpbody .button.jdvc-us-btn-danger-text, #wpbody .button.jdvc-us-btn-danger-text:hover { color: #ef4444 !important; }
/* Clients : tableau sans bordure, champs de la fiche, recherche, boutons arrondis */
.jdvc-us-page-jdvc-ucommerce-clients #wpbody .widefat.jdvc-uc-table { border: none !important; }
.jdvc-us-page-jdvc-ucommerce-clients #wpbody .jdvc-uc-form-grid input { padding: 8px 10px !important; border: 1px solid #cbd5e1 !important; border-radius: 6px !important; }
#wpbody input.jdvc-us-cl-search-input { border-radius: 6px !important; border: 1px solid #cbd5e1 !important; }
#wpbody .button.jdvc-us-radius-4 { border-radius: 4px !important; }
/* Configuration avancée : champs, tableau des modes de livraison */
#wpbody .jdvc-us-ca-input { padding: 6px !important; border-radius: 6px !important; border: 1px solid #cbd5e1 !important; }
#wpbody .widefat.jdvc-us-ca-shipping-table { margin-bottom: 10px; border-radius: 6px !important; overflow: hidden; }
/* Codes Promo : tableau sans bordure (page dédiée) */
.jdvc-us-page-jdvc-ucommerce-promos #wpbody .jdvc-mc-table { border: 0 !important; box-shadow: none !important; }
/* Import WooCommerce : tableau d'aperçu sans bordure */
#wpbody .widefat.jdvc-us-iwc-table { border: 0 !important; }
/* UI Textes : champs de la carte En-tête Archive */
#wpbody input.jdvc-us-ut-input { border-radius: 6px !important; border: 1px solid #cbd5e1 !important; padding: 6px 12px !important; }
#wpbody textarea.jdvc-us-ut-textarea { border-radius: 6px !important; border: 1px solid #cbd5e1 !important; padding: 8px 12px !important; }
/* UX Mails : champs de l'éditeur d'e-mail */
#wpbody input.jdvc-us-mx-input { border-radius: 6px !important; border: 1px solid #cbd5e1 !important; padding: 8px 12px !important; }
#wpbody textarea.jdvc-us-mx-textarea { border-radius: 6px !important; border: 1px solid #cbd5e1 !important; padding: 10px 12px !important; }
/* Variations : bouton bleu "Générer", tableau des variations, champs des cellules */
#wpbody .button.jdvc-us-var-generate, #wpbody .button.jdvc-us-var-generate:hover { background: #2563eb !important; border: 1px solid #2563eb !important; margin-left: 10px; }
#wpbody .widefat.jdvc-us-var-table { border: 1px solid #cbd5e1 !important; border-radius: 6px !important; }
#wpbody input.jdvc-us-var-cell-input { padding: 4px !important; }



/* ==========================================================================
   FIABILISATION DU TUNNEL & NOUVEAUTÉS (paiement, livraison, TVA, expédition)
   ========================================================================== */

/* --- Config Avancée (admin) --- */
.jdvc-us-ca-help { margin: 8px 0 0; font-size: 12px; line-height: 1.5; color: #64748b; }
.jdvc-us-ca-code { display: inline-block; margin: 4px 0; padding: 3px 8px; background: #f1f5f9; border-radius: 4px; font-size: 11px; word-break: break-all; }
.jdvc-us-ca-notice { margin: 0 0 10px; padding: 8px 12px; background: #fef3c7; border: 1px solid #fde68a; border-radius: 6px; font-size: 12px; color: #92400e; }
.jdvc-us-ca-order-row.is-discount strong,
.jdvc-us-ca-order-row.is-discount span { color: #16a34a; }

/* --- Formulaire d'achat (tunnel unique) --- */
.jdvc-us-ca-front-note { margin: 10px 0 0; font-size: 12px; color: #16a34a; font-weight: 600; }
.jdvc-us-terms-check { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.45; color: #334155; cursor: pointer; }
.jdvc-us-terms-check input { margin-top: 3px; flex-shrink: 0; }
.jdvc-us-terms-check a { color: #2563eb; text-decoration: underline; }

/* --- Checkout panier --- */
.jdvc-us-af-co-free-hint { margin: 10px 0 0; padding: 8px 12px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; font-size: 13px; color: #15803d; }
.jdvc-us-af-co-submit.is-loading { opacity: .7; cursor: wait; }

/* --- Mes commandes : statut & suivi --- */
.jdvc-af-order-status { display: inline-block; margin-top: 6px; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; background: #f1f5f9; color: #475569; }
.jdvc-af-order-status.is-pending_payment { background: #fef3c7; color: #a16207; }
.jdvc-af-order-status.is-on_hold { background: #ffedd5; color: #c2410c; }
.jdvc-af-order-status.is-paid { background: #dcfce7; color: #15803d; }
.jdvc-af-order-status.is-shipped { background: #e0e7ff; color: #4338ca; }
.jdvc-af-order-status.is-completed { background: #dbeafe; color: #1d4ed8; }
.jdvc-af-order-status.is-failed { background: #fee2e2; color: #b91c1c; }
.jdvc-af-order-status.is-cancelled { background: #f3f4f6; color: #6b7280; }
.jdvc-af-order-tracking { margin-top: 4px; font-size: 12px; color: #475569; }
.jdvc-af-order-tracking a { color: #2563eb; }

/* --- Fiche produit : galerie --- */
.jdvc-us-af-sp-gallery { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.jdvc-us-af-sp-thumb { width: 72px; height: 72px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: #f1f5f9; cursor: pointer; }
.jdvc-us-af-sp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jdvc-us-af-sp-thumb.is-active,
.jdvc-us-af-sp-thumb:hover { border-color: #0f172a; }

/* --- Catalogue (admin) : TVA & galerie --- */
.jdvc-us-cat-extra-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 15px; align-items: start; }
.jdvc-us-cat-gallery { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 8px; }
.jdvc-us-cat-gallery-item { position: relative; width: 56px; height: 56px; border-radius: 6px; background: #f1f5f9 center / cover no-repeat; border: 1px solid #e2e8f0; }
.jdvc-us-cat-gallery-item button { position: absolute; top: -6px; right: -6px; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: #ef4444; color: #fff; font-size: 12px; line-height: 18px; cursor: pointer; }

/* --- Multiple Commerce (admin) : modale commande --- */
.jdvc-us-mc-span2 { grid-column: span 2; }
.jdvc-us-mc-alert { margin: 15px 0; padding: 10px 14px; background: #ffedd5; border: 1px solid #fed7aa; border-radius: 8px; color: #9a3412; font-size: 13px; }
.jdvc-us-mc-sub { margin: 12px 0; padding: 8px 12px; background: #f0fdf4; border-radius: 8px; font-size: 13px; color: #166534; }
.jdvc-us-mc-tracking { margin: 15px 0; padding-top: 10px; border-top: 1px solid #e2e8f0; }
.jdvc-us-mc-tracking label { display: block; }
.jdvc-us-mc-tracking input { width: 100%; box-sizing: border-box; }


/* ==========================================================================
   ADD-ONS FACTURES, CARTES CADEAUX, ALERTE RETOUR EN STOCK
   ========================================================================== */

/* --- Factures : carte de réglages (admin) --- */
.jdvc-us-inv-card { margin: 0 0 24px; padding: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0,0,0,.05); }
.jdvc-us-inv-title { margin: 0 0 15px; font-size: 16px; color: #0f172a; }
.jdvc-us-inv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.jdvc-us-inv-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: #475569; }
.jdvc-us-inv-grid input[type="text"],
.jdvc-us-inv-grid select,
.jdvc-us-inv-grid textarea { width: 100%; box-sizing: border-box; padding: 7px 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-weight: 400; }
.jdvc-us-inv-full { grid-column: 1 / -1; }
.jdvc-us-inv-grid .jdvc-us-inv-check { flex-direction: row; align-items: center; gap: 8px; align-self: end; padding-bottom: 8px; }
.jdvc-us-inv-help { margin: 12px 0 0; font-size: 12px; color: #64748b; }
.jdvc-us-inv-modal { margin: 12px 0; }

/* --- Factures : lien dans « Mes commandes » --- */
.jdvc-af-order-card-actions:empty { display: none; }
.jdvc-af-order-card-actions { margin-top: 6px; }
.jdvc-us-inv-front-link { font-size: 13px; font-weight: 600; color: #2563eb; text-decoration: none; }
.jdvc-us-inv-front-link:hover { text-decoration: underline; }

/* --- Cartes cadeaux : récapitulatif dans la modale commande --- */
.jdvc-us-gc-box { margin: 12px 0; padding: 10px 14px; background: #fdf2f8; border: 1px solid #fbcfe8; border-radius: 8px; font-size: 13px; color: #831843; }
.jdvc-us-gc-box ul { margin: 6px 0 0; padding-left: 18px; }

/* --- Alerte retour en stock (front) --- */
.jdvc-us-bis { margin: 15px 0; padding: 14px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; }
.jdvc-us-bis-title { margin: 0 0 10px; font-size: 14px; font-weight: 700; color: #0f172a; }
.jdvc-us-bis-row { display: flex; gap: 8px; }
.jdvc-us-bis-email { flex: 1; min-width: 0; padding: 9px 12px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 14px; }
.jdvc-us-bis-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.jdvc-us-bis-btn { padding: 9px 16px; background: #0f172a; color: #fff; border: 0; border-radius: 8px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.jdvc-us-bis-btn:disabled { opacity: .6; cursor: wait; }
.jdvc-us-bis-msg { margin: 8px 0 0; font-size: 13px; color: #15803d; }
.jdvc-us-bis-msg:empty { display: none; }
.jdvc-us-bis-msg.is-error { color: #b91c1c; }
.jdvc-us-bis-legal { display: block; margin-top: 6px; font-size: 11px; color: #94a3b8; }

/* --- Alerte retour en stock : compteur dans la liste produits (admin) --- */
.jdvc-us-bis-count { display: inline-block; margin-right: 6px; padding: 2px 8px; background: #fef3c7; color: #92400e; border-radius: 20px; font-size: 12px; font-weight: 700; }


/* ==========================================================================
   REMBOURSEMENTS, ABONNEMENTS, PANIER (prix, relance), DÉPENDANCES
   ========================================================================== */

/* --- Bandeau de dépendances regroupé (admin) --- */
.jdvc-us-deps-notice ul { margin: 4px 0 8px 18px; list-style: disc; }
.jdvc-us-deps-notice li { margin: 2px 0; }

/* --- Modale commande : remboursements & abonnement --- */
.jdvc-us-mc-actions-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.jdvc-us-mc-refund { margin: 15px 0; padding-top: 10px; border-top: 1px solid #e2e8f0; }
.jdvc-us-mc-refund-list { margin: 0 0 12px; padding-left: 18px; font-size: 13px; color: #334155; }
.jdvc-us-mc-refund-list li { margin: 4px 0; }
.jdvc-us-mc-refund-form { display: grid; grid-template-columns: 1fr 2fr; gap: 8px 12px; align-items: end; padding: 12px; background: #fdf2f8; border: 1px solid #fbcfe8; border-radius: 8px; }
.jdvc-us-mc-refund-form label { display: block; }
.jdvc-us-mc-refund-form input[type="number"],
.jdvc-us-mc-refund-form input[type="text"] { width: 100%; box-sizing: border-box; }
.jdvc-us-mc-refund-form .jdvc-us-mc-check,
.jdvc-us-mc-refund-form .button,
.jdvc-us-mc-refund-form small { grid-column: 1 / -1; }
.jdvc-us-mc-check { display: flex !important; align-items: center; gap: 6px; font-size: 13px; }

/* --- Mes commandes : statut remboursé & lien portail abonnement --- */
.jdvc-af-order-status.is-refunded { background: #fce7f3; color: #be185d; }
.jdvc-af-order-status.is-on_hold { background: #ffedd5; color: #c2410c; }
.jdvc-us-mc-portal-link { margin-left: 10px; font-size: 13px; font-weight: 600; color: #2563eb; text-decoration: none; }
.jdvc-us-mc-portal-link:hover { text-decoration: underline; }

/* --- Panier : prix mis à jour, mention relance --- */
.jdvc-us-af-price-notice { margin: 0 0 15px; padding: 10px 14px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; font-size: 13px; color: #1e40af; }
.jdvc-us-af-co-privacy { margin: -4px 0 0; font-size: 11px; line-height: 1.4; color: #94a3b8; }
