/* OVANIE PRO — catalogue public des fournisseurs (liste et fiche article). */
.pc-wrap { max-width: 1160px; margin: 0 auto; padding: 28px 20px 56px; }
.pc-back { display: inline-flex; align-items: center; gap: 8px; color: #0b4fc4; font-weight: 600; text-decoration: none; margin-bottom: 18px; }
.pc-head h1 { margin: 6px 0 6px; font-size: 30px; line-height: 1.2; color: #071b3b; }
.pc-head p { margin: 0 0 20px; color: #65758e; }
.pc-kicker { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #e86c09; }
.pc-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.pc-filters input, .pc-filters select { min-height: 44px; padding: 0 12px; border: 1px solid #d9e1eb; border-radius: 10px; font: inherit; background: #fff; }
.pc-filters input { flex: 1 1 260px; }
.pc-filters button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: #f58220; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.pc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.pc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #dce4ef; border-radius: 14px; overflow: hidden; text-decoration: none; color: inherit; transition: border-color .15s ease, box-shadow .15s ease; }
.pc-card:hover { border-color: #f58220; box-shadow: 0 10px 26px rgba(11, 31, 58, .08); }
.pc-media { position: relative; aspect-ratio: 4 / 3; background: #eef3fb; display: grid; place-items: center; color: #12305a; }
.pc-media img { width: 100%; height: 100%; object-fit: cover; }
.pc-media svg { width: 42px; height: 42px; }
.pc-badge { position: absolute; top: 10px; left: 10px; padding: 4px 10px; border-radius: 999px; background: rgba(11, 31, 58, .82); color: #fff; font-size: 12px; font-weight: 700; }
.pc-body { display: grid; gap: 6px; padding: 14px 16px 16px; }
.pc-body h2, .pc-body h3 { margin: 0; font-size: 16px; color: #071b3b; line-height: 1.3; }
.pc-supplier { margin: 0; color: #65758e; font-size: 13px; }
.pc-price { margin: 4px 0 0; font-size: 18px; font-weight: 800; color: #0b1f3a; }
.pc-price small { font-size: 12.5px; font-weight: 600; color: #65758e; }
.pc-tier { margin: 0; color: #1e9e5a; font-size: 13px; font-weight: 700; }
.pc-facts { margin: 0; color: #65758e; font-size: 12.5px; }
.pc-empty { padding: 40px 20px; border: 1px dashed #d9e1eb; border-radius: 14px; text-align: center; color: #65758e; background: #fff; }
.pc-pager { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; }
.pc-pager a { padding: 10px 16px; border: 1px solid #d9e1eb; border-radius: 10px; background: #fff; text-decoration: none; font-weight: 700; color: #071b3b; }

.pc-detail { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 24px; align-items: start; }
.pc-panel { background: #fff; border: 1px solid #dce4ef; border-radius: 14px; padding: 22px; }
.pc-hero { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 20px; }
.pc-hero .pc-media { border-radius: 12px; overflow: hidden; }
.pc-detail h1 { margin: 6px 0; font-size: 26px; line-height: 1.25; color: #071b3b; }
.pc-desc { white-space: pre-line; color: #2a3b55; line-height: 1.65; }
.pc-h2 { margin: 22px 0 10px; font-size: 17px; color: #071b3b; }
.pc-dl { margin: 0; }
.pc-dl div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #eef2f7; }
.pc-dl div:last-child { border-bottom: 0; }
.pc-dl dt { color: #65758e; }
.pc-dl dd { margin: 0; font-weight: 600; color: #071b3b; text-align: right; }
.pc-tiers { width: 100%; border-collapse: collapse; font-size: 14px; }
.pc-tiers th { text-align: left; color: #65758e; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; padding: 8px 0; border-bottom: 1px solid #dce4ef; }
.pc-tiers td { padding: 10px 0; border-bottom: 1px solid #eef2f7; }
.pc-cta { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 16px; padding: 14px 18px; border-radius: 10px; background: #f58220; color: #fff !important; font-weight: 700; text-decoration: none; box-sizing: border-box; }
.pc-cta--ghost { background: #fff; color: #071b3b !important; border: 1px solid #d9e1eb; }
.pc-note { margin: 12px 0 0; color: #65758e; font-size: 13px; line-height: 1.5; }
.pc-verified { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #e8f7ef; color: #13703f; font-size: 12.5px; font-weight: 700; }
.pc-others { margin-top: 26px; }
.pc-textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #d9e1eb; border-radius: 10px; font: inherit; resize: vertical; }
.pc-ico, .pc-verified svg { width: 16px; height: 16px; flex: 0 0 auto; }

@media (max-width: 860px) {
    .pc-detail, .pc-hero { grid-template-columns: 1fr; }
    .pc-head h1 { font-size: 24px; }
    .pc-panel { padding: 18px; }
}

/* Signalement autonome — uniquement sur une recherche catalogue infructueuse. */
.pc-report-trigger { margin-top:12px;border:0;border-radius:9px;padding:13px 22px;color:#fff;background:#f58220;font:inherit;font-weight:800;cursor:pointer; }
.pc-report-overlay:not([hidden]) {position:fixed;inset:0;z-index:9999;display:flex;justify-content:center;align-items:center;background:rgba(3,18,39,.7);padding:18px;}
.pc-report-overlay[hidden],.pc-report-success[hidden],.pc-report-error[hidden],#pcReportForm[hidden] {display:none!important;}
.pc-report-dialog {width:min(470px,100%);max-height:95vh;overflow:auto;background:#fff;border-radius:16px;padding:26px;box-shadow:0 24px 65px #001a3a44;}
.pc-report-head {display:flex;align-items:start;justify-content:space-between;gap:12px;}
.pc-report-head h2 {margin:0;font-size:23px;color:#071b3b;}.pc-report-head p {color:#64748b;font-size:13px;}
.pc-report-head button {border:0;border-radius:8px;background:#edf2f7;padding:5px 12px;font-size:24px;cursor:pointer;}
#pcReportForm label {display:grid;gap:7px;margin:15px 0;font-size:13px;font-weight:700;}
#pcReportForm label input {width:100%;min-height:45px;border:1px solid #d3deeb;border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;}
#pcReportForm label input[readonly] {background:#f4f7fb;}
.pc-honeypot {position:absolute;left:-9999px;}
.pc-report-note {font-size:12px;color:#64748b;line-height:1.6;}
.pc-report-error {padding:10px;background:#fff0f0;color:#b91c1c;}
.pc-report-actions {display:flex;gap:10px;justify-content:flex-end;margin-top:18px;}
.pc-report-actions button,.pc-report-success button {border:1px solid #d9e1eb;background:white;border-radius:8px;padding:12px 15px;font-weight:700;cursor:pointer;}
.pc-report-actions button[type=submit] {background:#f58220;color:white;border-color:#f58220;}
.pc-report-success {text-align:center;padding:35px 5px;}
