/* ══════════════════════════════════════════════════════════════
   PRODUCTS PAGE — COMPLET
   ══════════════════════════════════════════════════════════════ */

/* Filtres statut */
.prod-statut-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center;}
.prod-statut-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .18s;white-space:nowrap;}
.prod-statut-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg);}
.prod-statut-chip.active{border-color:var(--border-strong,var(--primary));background:var(--surface-off);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.10);}
.prod-statut-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;}
.prod-statut-count{font-size:11px;font-weight:600;background:var(--surface-off);border-radius:99px;padding:0 6px;margin-left:2px;color:var(--text-faint);line-height:18px;}
.prod-statut-chip.active .prod-statut-count{background:var(--divider);}

/* Photos upload */
.photos-upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface-off);}
.photos-upload-zone:hover,.photos-upload-zone.dragover{border-color:var(--primary);background:var(--primary-bg);}
.photos-upload-zone .pu-icon{width:26px;height:26px;color:var(--text-faint);margin:0 auto 6px;}
.photos-upload-zone *{pointer-events:none;}
.photos-upload-zone .pu-hint{font-size:12.5px;color:var(--text-muted);}
.photos-upload-zone .pu-sub{font-size:11px;color:var(--text-faint);margin-top:2px;}
.photos-upload-zone .pu-sub-media{font-size:11px;color:var(--text-faint);margin-top:2px;}
.photos-upload-zone strong{color:var(--primary);}

/* Photos grid */
.photos-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px;}
.photo-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);background:var(--surface-off);cursor:zoom-in;}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;}
.photo-thumb-del{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.70);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;padding:0;}
.photo-thumb:hover .photo-thumb-del{opacity:1;}
.photo-thumb-del svg{width:9px;height:9px;display:block;}
.photo-thumb-main{position:absolute;bottom:3px;left:3px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;border-radius:3px;padding:1px 4px;letter-spacing:.04em;}

/* Vidéos */
.photo-thumb.is-video{background:#0f0f14;cursor:zoom-in;}
.photo-thumb.is-video img{opacity:.7;}
.photo-thumb .vid-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;pointer-events:none;}
.photo-thumb .vid-play{width:26px;height:26px;background:rgba(255,255,255,.85);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.photo-thumb .vid-play svg{width:11px;height:11px;margin-left:2px;}
.photo-thumb .vid-badge{font-size:8px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.06em;opacity:.9;}

/* Lightbox */
.plb{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.93);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:zoom-out;}
.plb.hidden{display:none!important;}
.plb-img{max-width:min(92vw,1100px);max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.6);user-select:none;}
.plb-video{max-width:min(92vw,960px);width:min(92vw,960px);max-height:82vh;border-radius:8px;background:#000;outline:none;box-shadow:0 8px 40px rgba(0,0,0,.6);}
.plb-close{position:absolute;top:14px;right:18px;background:rgba(255,255,255,.12);border:none;color:#fff;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.plb-close:hover{background:rgba(255,255,255,.25);}
.plb-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;font-size:30px;width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.plb-btn:hover{background:rgba(255,255,255,.25);}
.plb-prev{left:12px;}
.plb-next{right:12px;}
.plb-footer{position:absolute;bottom:16px;display:flex;gap:8px;align-items:center;}
.plb-counter{color:rgba(255,255,255,.55);font-size:12px;font-family:'JetBrains Mono',monospace;}
.plb-thumbs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;}
.plb-thumb{width:48px;height:48px;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .15s;flex-shrink:0;}
.plb-thumb.active{border-color:#fff;}
.plb-thumb img{width:100%;height:100%;object-fit:cover;display:block;}

/* Détail produit */
.pd-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--text-muted);cursor:pointer;margin-bottom:16px;padding:4px 0;background:none;border:none;transition:color .15s;}
.pd-back:hover{color:var(--primary);}
.pd-back svg{width:14px;height:14px;}

.pd-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin-bottom:20px;display:flex;align-items:flex-start;gap:16px;}
.pd-header-thumb{width:72px;height:72px;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--surface-off);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-faint);}
.pd-header-thumb img{width:100%;height:100%;object-fit:cover;}
.pd-header-thumb svg{width:28px;height:28px;}
.pd-header-info{flex:1;min-width:0;}
.pd-header-name{font-size:17px;font-weight:700;letter-spacing:-.2px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pd-header-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.pd-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:11.5px;font-weight:500;border:1px solid var(--border);color:var(--text-muted);background:var(--surface-off);}
.pd-chip-primary{background:var(--primary-bg);border-color:color-mix(in oklch,var(--primary) 35%,transparent);color:var(--primary);}
.pd-chip-success{background:var(--success-bg);border-color:color-mix(in oklch,var(--success) 35%,transparent);color:var(--success);}
.pd-chip-warning{background:var(--warning-bg);border-color:color-mix(in oklch,var(--warning) 35%,transparent);color:var(--warning);}
.pd-chip-error{background:var(--error-bg);border-color:color-mix(in oklch,var(--error) 35%,transparent);color:var(--error);}

/* Winner banner */
.winner-banner{background:linear-gradient(135deg,rgba(251,191,36,.10) 0%,rgba(129,140,248,.08) 100%);border:1px solid rgba(251,191,36,.35);border-left:4px solid #fbbf24;border-radius:var(--radius);padding:16px 20px;margin-bottom:20px;}
.winner-banner-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;cursor:pointer;user-select:none;}
.winner-banner-title{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;color:#fbbf24;letter-spacing:.03em;text-transform:uppercase;}
.winner-banner-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center;transition:transform .2s;}
.winner-banner-toggle.open{transform:rotate(180deg);}
.winner-banner-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;}
.winner-banner-body.collapsed{display:none;}
.wb-section{background:var(--surface-off);border-radius:var(--radius-sm);padding:10px 13px;}
.wb-section-title{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;display:flex;align-items:center;gap:5px;}
.wb-item{font-size:11.5px;color:var(--text);line-height:1.5;padding:2px 0;border-bottom:1px solid var(--divider);display:flex;align-items:flex-start;gap:5px;}
.wb-item:last-child{border-bottom:none;}
.wb-item-dot{width:5px;height:5px;border-radius:50%;background:#fbbf24;flex-shrink:0;margin-top:5px;}
.wb-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:2px;}
.wb-kpi-chip{background:rgba(129,140,248,.13);border:1px solid rgba(129,140,248,.25);border-radius:99px;padding:2px 8px;font-size:10.5px;font-weight:600;color:var(--primary);text-align:center;white-space:nowrap;}
.wb-kpi-chip.warn{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.3);color:#fbbf24;}
.wb-kpi-chip.success{background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.3);color:var(--success);}
.wb-cpm-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.wb-cpm-chip{background:rgba(34,211,238,.10);border:1px solid rgba(34,211,238,.25);border-radius:6px;padding:3px 9px;font-size:10.5px;font-weight:600;color:#22d3ee;white-space:nowrap;}
.wb-budget-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3);border-radius:99px;padding:4px 12px;font-size:11px;font-weight:600;color:#fbbf24;margin-bottom:10px;}

@media (max-width: 768px) {
  .photos-grid{grid-template-columns:repeat(3,1fr);}
  .pd-header{flex-wrap:wrap;}
}

/* ── PHOTO THUMB WRAPPER (nom sous chaque media) ─────────── */
.photo-thumb-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.photo-thumb-name {
  font-size: 10px;
  color: var(--text-muted);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 2px;
  line-height: 1.3;
}
/* ── LIGHTBOX TITRE (haut) ───────────────────────────────── */
.plb-title-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 14px 60px;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, transparent 100%);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.02em;
  pointer-events: none;
}
/* ── GALERIE MÉDIAS FICHE PRODUIT ───────────────────────────── */
.detail-gallery {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 16px;
}

.detail-gallery-grid {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.detail-media-thumb {
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 2px solid var(--border);
  cursor: zoom-in;
  flex-shrink: 0;
  transition: border-color 0.15s, transform 0.15s;
  background: var(--surface-off);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.detail-media-thumb:hover {
  border-color: var(--primary);
  transform: scale(1.05);
}

.detail-media-thumb img {
  width: 100%;
  height: 56px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

.detail-media-video video {
  width: 100%;
  height: 56px;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.detail-media-label {
  font-size: 8.5px;
  color: var(--text-muted);
  text-align: center;
  padding: 2px 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  background: var(--surface);
  line-height: 1.3;
  flex-shrink: 0;
}

/* ── TABS FICHE PRODUIT ─────────────────────────────────────── */
.pd-tab-bar {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
}

.pd-tab-btn {
  padding: 9px 20px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all 0.15s;
  margin-bottom: -1px;
  background: none;
  border-left: none;
  border-top: none;
  border-right: none;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pd-tab-btn:hover { color: var(--text); }
.pd-tab-btn.active { color: var(--primary); border-bottom-color: var(--primary); }

.pd-tab-panel { display: none; }
.pd-tab-panel.active { display: block; }

/* ── ANALYSE FORM ───────────────────────────────────────────── */
.analyse-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 0;
}

.analyse-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.analyse-form-grid .form-group { margin-bottom: 0; }
.analyse-form-grid .full-width { grid-column: 1 / -1; }

.analyse-section-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-faint);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0 0 10px 0;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--divider);
  display: flex;
  align-items: center;
  gap: 8px;
  grid-column: 1 / -1;
}

.analyse-save-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--divider);
}

.analyse-last-saved { font-size: 11.5px; color: var(--text-faint); }

/* ── PUB TABS ───────────────────────────────────────────────── */
.pub-tabs { margin-top: 4px; }
.pub-tab-bar { display: flex; gap: 4px; margin-bottom: 8px; border-bottom: 1px solid var(--border); padding-bottom: 6px; }
.pub-tab-btn { padding: 5px 14px; border-radius: var(--radius-sm) var(--radius-sm) 0 0; border: 1px solid transparent; background: var(--surface-off); color: var(--text-muted); font-size: 12.5px; font-weight: 500; cursor: pointer; transition: all 0.15s; }
.pub-tab-btn.active { background: var(--primary-bg); border-color: var(--primary); color: var(--primary); }
.pub-tab-panel { display: none; padding-top: 8px; }
.pub-tab-panel.active { display: block; }

/* ── FOURNISSEUR ────────────────────────────────────────────── */
.fourn-header { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; padding: 12px 16px; background: var(--surface-off); border: 1px solid var(--border); border-radius: var(--radius); }
.fourn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.fourn-card { background: var(--surface-off); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; transition: border-color 0.2s; }
.fourn-card:hover { border-color: var(--primary); }
.fourn-card-title { font-size: 12px; font-weight: 700; color: var(--primary); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }

/* ── PHOTO THUMB WRAPPER ────────────────────────────────────── */
.photo-thumb-wrapper { display: flex; flex-direction: column; gap: 4px; }
.photo-thumb-name { font-size: 10px; color: var(--text-muted); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 2px; line-height: 1.3; }

@media (max-width: 768px) {
  .analyse-form-grid { grid-template-columns: 1fr; }
  .fourn-grid { grid-template-columns: 1fr; }
  .detail-gallery-grid { gap: 6px; }
  .detail-media-thumb { width: 60px; height: 60px; }
}
/* ── SECTION MÉDIAS FICHE PRODUIT ───────────────────────────── */
.detail-media-section {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 16px;
  margin-bottom: 20px;
}

.detail-media-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.detail-gallery-grid {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.detail-media-thumb {
  position: relative;
  width: 80px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 2px solid var(--border);
  cursor: zoom-in;
  flex-shrink: 0;
  transition: border-color 0.15s, transform 0.15s;
  background: var(--surface-off);
}

.detail-media-thumb:hover {
  border-color: var(--primary);
  transform: scale(1.03);
}

.detail-media-thumb img {
  width: 100%;
  height: 60px;
  object-fit: cover;
  display: block;
}

.detail-media-video video {
  width: 100%;
  height: 60px;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.detail-media-label {
  font-size: 9px;
  color: var(--text-muted);
  text-align: center;
  padding: 3px 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  background: var(--surface);
  line-height: 1.3;
  display: block;
}

.detail-media-actions {
  position: absolute;
  top: 2px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.15s;
}

.detail-media-thumb:hover .detail-media-actions {
  opacity: 1;
}

.detail-media-del {
  background: rgba(0,0,0,0.7);
  border: none;
  color: #fff;
  font-size: 10px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}

.detail-media-del:hover {
  background: var(--error);
}