/* Zivor YMM Widget styles — designed to slot into the existing .zv-vehicle bar */
.zv-ymm-loading, .zv-ymm-error { font-size:12px; color:#6b7280; padding:6px 0; }
.zv-ymm-error { color:#c2410c; }

.zv-ymm-picker, .zv-ymm-selected {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:13px;
}

.zv-ymm-label {
  color:#6b7280; font-weight:600; font-size:12px;
}

.zv-ymm-sel {
  padding:5px 26px 5px 10px; border:1px solid #d4d8de; border-radius:6px;
  background:#fff; font-size:12px; color:#0f1115; font-family:inherit;
  height:30px; min-width:110px; cursor:pointer;
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 8px center; background-size:10px;
}
.zv-ymm-sel:focus { outline:0; border-color:#0aa3ff; }
.zv-ymm-sel:disabled { background-color:#f7f8fa; color:#9aa6b5; cursor:not-allowed; opacity:.7; }

.zv-ymm-go {
  background:#0aa3ff; color:#fff; border:0; border-radius:6px;
  font-weight:700; font-size:12px; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 14px; height:30px; cursor:pointer;
}
.zv-ymm-go:hover { background:#0093e6; }
.zv-ymm-go:disabled { background:#cbd5e1; color:#fff; cursor:not-allowed; }

.zv-ymm-pill {
  background:#fff; border:1px solid #0aa3ff; color:#0f1115;
  padding:4px 10px; border-radius:99px; font-weight:600; font-size:12px;
}

.zv-ymm-change, .zv-ymm-clear {
  background:transparent; border:0; color:#005a99; font-size:12px; font-weight:600;
  cursor:pointer; padding:2px 6px; text-decoration:underline;
}
.zv-ymm-change:hover, .zv-ymm-clear:hover { color:#0aa3ff; }
.zv-ymm-clear { color:#9aa6b5; }
.zv-ymm-clear:hover { color:#c2410c; }

/* On mobile: stack picker controls */
@media (max-width:600px){
  .zv-ymm-picker { gap:6px; }
  .zv-ymm-sel { flex:1 1 calc(50% - 6px); min-width:0; }
  .zv-ymm-go { flex:1 1 100%; }
  .zv-ymm-label { flex:1 1 100%; }
}

/* Category listing filter banner — appears above product grid when vehicle is saved */
.zv-ymm-banner {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:linear-gradient(90deg,#ecfdf5 0%, #f0f9ff 100%);
  border:1px solid #0aa3ff; border-radius:8px;
  padding:10px 14px; margin:14px 0;
  font-size:13px; color:#0f1115;
}
.zv-ymm-banner.is-disabled {
  background:#fef3c7; border-color:#f59e0b; color:#78350f;
}
.zv-ymm-banner-icon { font-size:18px; flex:0 0 auto; }
.zv-ymm-banner-msg { flex:1 1 200px; }
.zv-ymm-banner-msg b { color:#005a99; }
.zv-ymm-banner-toggle, .zv-ymm-banner-change {
  background:#fff; border:1px solid #0aa3ff; color:#005a99;
  font-size:12px; font-weight:600; padding:5px 12px; border-radius:6px;
  cursor:pointer;
}
.zv-ymm-banner-toggle:hover, .zv-ymm-banner-change:hover { background:#e6f5ff; }
.zv-ymm-banner.is-disabled .zv-ymm-banner-toggle,
.zv-ymm-banner.is-disabled .zv-ymm-banner-change {
  border-color:#b45309; color:#b45309;
}
.zv-ymm-banner.is-disabled .zv-ymm-banner-toggle:hover,
.zv-ymm-banner.is-disabled .zv-ymm-banner-change:hover { background:#fef9c3; }

/* 0-results state: warmer colour + bigger CTAs */
.zv-ymm-banner.is-zero {
  background:linear-gradient(90deg,#fff4ed 0%, #fef3c7 100%);
  border-color:#c2410c;
}
.zv-ymm-banner-actions {
  display:flex; flex-wrap:wrap; gap:8px; flex:1 1 100%;
  margin-top:4px;
}
.zv-ymm-banner-cta {
  background:#fff; border:1.5px solid #0aa3ff; color:#005a99;
  font-size:13px; font-weight:600; padding:7px 14px; border-radius:6px;
  text-decoration:none; display:inline-flex; align-items:center; gap:6px;
}
.zv-ymm-banner-cta:hover { background:#0aa3ff; color:#fff; text-decoration:none; }

/* PDP fit-check badge (used on product pages) */
.zv-fit-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border-radius:6px; font-size:13px; font-weight:600;
  border:1px solid; margin:8px 0;
}
.zv-fit-badge.zv-fit-yes { background:#ecfdf5; color:#047857; border-color:#10b981; }
.zv-fit-badge.zv-fit-no { background:#fef2f2; color:#b91c1c; border-color:#ef4444; }
.zv-fit-badge.zv-fit-unknown { background:#fef3c7; color:#92400e; border-color:#f59e0b; }
.zv-fit-badge::before { font-size:14px; }
.zv-fit-badge.zv-fit-yes::before { content:"✓"; }
.zv-fit-badge.zv-fit-no::before { content:"✗"; }
.zv-fit-badge.zv-fit-unknown::before { content:"?"; }
