/* Vehicle Finder widget — retargeted to /vehicles/ and re-themed to the site's
   black/white design system + gold accent. Structure/behaviour adapted from
   the supplied cocoonVehicleFinder widget. */
#cocoonVehicleFinder {
  --cocoon-navy: var(--bg-elevated-2);
  --cocoon-navy-deep: var(--bg);
  --cocoon-orange: var(--accent);
  --cocoon-orange-dark: var(--brand-gold-dark);
  --cocoon-cream: var(--bg-elevated);
  --cocoon-white: var(--bg-elevated);
  --cocoon-text: var(--text);
  --cocoon-muted: var(--text-dim);
  --cocoon-border: var(--border);
  --cocoon-success: var(--accent);
  --shadow: var(--shadow-lg);
  --radius-lg: var(--radius-lg);
  --radius-md: var(--radius-sm);
  --transition: 180ms ease;
  font-family: var(--font-body);
}
#cocoonVehicleFinder, #cocoonVehicleFinder *, #cocoonVehicleFinder *::before, #cocoonVehicleFinder *::after { box-sizing: border-box; }
#cocoonVehicleFinder button, #cocoonVehicleFinder input { font: inherit; }
#cocoonVehicleFinder .cvf-widget{ overflow:hidden; background:var(--cocoon-white); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow); }
#cocoonVehicleFinder .cvf-header{ position:relative; overflow:hidden; padding:34px 38px 30px; color:var(--text); background: radial-gradient(circle at 92% 15%, rgba(254,194,10,.18), transparent 32%), linear-gradient(135deg, var(--bg), var(--bg-elevated-2)); border-bottom:1px solid var(--border); }
#cocoonVehicleFinder .cvf-eyebrow{ margin:0 0 7px; color:var(--accent); font-size:.77rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
#cocoonVehicleFinder .cvf-header h1{ max-width:680px; margin:0; font-size:clamp(1.8rem,4vw,3rem); line-height:1.08; color:var(--text) !important; font-weight:300; }
#cocoonVehicleFinder .cvf-header p{ max-width:660px; margin:13px 0 0; color:var(--text-dim); font-size:1rem; }
#cocoonVehicleFinder .cvf-progress-wrap{ padding:20px 38px 0; background:var(--cocoon-white); }
#cocoonVehicleFinder .cvf-progress-meta{ display:flex; justify-content:space-between; gap:15px; margin-bottom:8px; color:var(--cocoon-muted); font-size:.82rem; font-weight:700; }
#cocoonVehicleFinder .cvf-progress{ width:100%; height:8px; overflow:hidden; border-radius:999px; background:var(--bg-elevated-2); }
#cocoonVehicleFinder .cvf-progress-bar{ width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg, var(--accent), var(--brand-gold-dark)); transition:width 300ms ease; }
#cocoonVehicleFinder .cvf-content{ min-height:425px; padding:34px 38px 28px; }
#cocoonVehicleFinder .cvf-step{ animation:cvfFade .25s ease; }
@keyframes cvfFade{ from{opacity:0; transform:translateY(7px);} to{opacity:1; transform:translateY(0);} }
#cocoonVehicleFinder .cvf-question{ margin:0; color:var(--text) !important; font-weight:300; font-size:clamp(1.35rem,3vw,2rem); line-height:1.2; font-family:var(--font-display); }
#cocoonVehicleFinder .cvf-help{ margin:9px 0 24px; color:var(--cocoon-muted); }
#cocoonVehicleFinder .cvf-options{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#cocoonVehicleFinder .cvf-options--three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
#cocoonVehicleFinder .cvf-option{ position:relative; min-height:118px; padding:18px; cursor:pointer; text-align:left; color:var(--cocoon-text); background:var(--bg); border:2px solid var(--cocoon-border); border-radius:var(--radius-md); transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition), background var(--transition); }
#cocoonVehicleFinder .cvf-option:hover{ transform:translateY(-2px); border-color:var(--accent); box-shadow:var(--shadow-md); }
#cocoonVehicleFinder .cvf-option:focus-visible{ outline:3px solid rgba(254,194,10,.4); outline-offset:3px; }
#cocoonVehicleFinder .cvf-option[aria-pressed="true"]{ border-color:var(--accent); background:color-mix(in srgb, var(--accent) 10%, var(--bg)); box-shadow:0 0 0 3px rgba(254,194,10,.18); }
#cocoonVehicleFinder .cvf-option[aria-pressed="true"]::after{ content:"✓"; position:absolute; top:11px; right:12px; display:grid; width:24px; height:24px; place-items:center; color:var(--accent-contrast); border-radius:50%; background:var(--accent); font-size:.82rem; font-weight:900; }
#cocoonVehicleFinder .cvf-option-icon{ display:block; margin-bottom:7px; color:var(--accent); font-size:1.65rem; line-height:1; }
#cocoonVehicleFinder .cvf-option-title{ display:block; padding-right:22px; color:var(--text) !important; font-weight:700; }
#cocoonVehicleFinder .cvf-option-copy{ display:block; margin-top:4px; color:var(--cocoon-muted); font-size:.87rem; white-space:normal; overflow-wrap:anywhere; line-height:1.45; }
#cocoonVehicleFinder .cvf-actions{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:20px 38px 30px; border-top:1px solid var(--border); }
#cocoonVehicleFinder .cvf-actions.is-hidden{ display:none !important; }
#cocoonVehicleFinder .cvf-actions-right{ display:flex; align-items:center; gap:12px; margin-left:auto; }
#cocoonVehicleFinder .cvf-button{ min-height:48px; padding:12px 21px; cursor:pointer; border:0; border-radius:999px; font-weight:800; transition:transform var(--transition), background var(--transition), opacity var(--transition); }
#cocoonVehicleFinder .cvf-button:hover{ transform:translateY(-1px); }
#cocoonVehicleFinder .cvf-button--primary{ color:var(--accent-contrast) !important; background:var(--accent) !important; border:2px solid var(--accent); }
#cocoonVehicleFinder .cvf-button--primary:hover{ background:var(--brand-gold-dark) !important; }
#cocoonVehicleFinder .cvf-button--secondary{ color:var(--text) !important; background:var(--bg-elevated-2) !important; }
#cocoonVehicleFinder .cvf-button:disabled{ cursor:not-allowed; opacity:.45; transform:none; }
#cocoonVehicleFinder .cvf-text-link{ padding:8px 2px; cursor:pointer; color:var(--text-faint) !important; border:0; background:transparent; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
#cocoonVehicleFinder .cvf-summary{ display:grid; gap:18px; }
#cocoonVehicleFinder .cvf-result-card{ padding:30px; border:0; border-radius:var(--radius-md); background:linear-gradient(135deg, var(--bg-elevated-2), var(--bg)); box-shadow:var(--shadow-md); text-align:center; }
#cocoonVehicleFinder .cvf-result-label{ display:inline-block; margin:0 0 10px; padding:7px 11px; color:var(--accent-contrast); border-radius:999px; background:var(--accent); font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
#cocoonVehicleFinder .cvf-result-card h3{ margin:0; color:var(--text) !important; font-size:clamp(1.7rem,4vw,2.5rem); font-weight:300; font-family:var(--font-display); }
#cocoonVehicleFinder .cvf-result-card p{ margin:8px 0 0; color:var(--text-dim); font-size:1rem; }
#cocoonVehicleFinder .cvf-selections{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
#cocoonVehicleFinder .cvf-selections li{ padding:7px 10px; color:var(--text); border:1px solid var(--border); border-radius:999px; background:var(--bg-elevated-2); font-size:.82rem; font-weight:700; }
#cocoonVehicleFinder .cvf-result-cta{ display:flex !important; width:100%; min-height:64px; align-items:center; justify-content:center; font-size:1.1rem; text-decoration:none !important; box-shadow:var(--shadow-md); }
#cocoonVehicleFinder .cvf-result-intro{ padding:18px 20px; border-left:5px solid var(--accent); border-radius:10px; background:var(--bg-elevated-2); }
#cocoonVehicleFinder .cvf-result-intro strong{ color:var(--text); }
#cocoonVehicleFinder .cvf-note{ margin-top:16px; padding:13px 15px; color:var(--text-dim); border-left:4px solid var(--accent); border-radius:7px; background:var(--bg-elevated-2); font-size:.88rem; }
@media (max-width:720px){
  #cocoonVehicleFinder .cvf-widget{ border-radius:16px; }
  #cocoonVehicleFinder .cvf-header{ padding:26px 21px 24px; }
  #cocoonVehicleFinder .cvf-progress-wrap{ padding:16px 21px 0; }
  #cocoonVehicleFinder .cvf-content{ min-height:440px; padding:27px 21px 23px; }
  #cocoonVehicleFinder .cvf-options, #cocoonVehicleFinder .cvf-options--three{ grid-template-columns:1fr; }
  #cocoonVehicleFinder .cvf-option{ min-height:82px; padding:15px; }
  #cocoonVehicleFinder .cvf-actions{ position:sticky; bottom:0; z-index:2; padding:14px 21px; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(8px); }
  #cocoonVehicleFinder .cvf-actions-right{ width:100%; }
  #cocoonVehicleFinder .cvf-actions-right .cvf-button{ flex:1; }
}
@media (max-width:440px){
  #cocoonVehicleFinder .cvf-actions{ align-items:stretch; }
  #cocoonVehicleFinder .cvf-actions-right{ flex-direction:column-reverse; align-items:stretch; }
  #cocoonVehicleFinder .cvf-text-link{ text-align:center; }
  #cocoonVehicleFinder .cvf-button{ width:100%; }
}
@media (prefers-reduced-motion: reduce){
  #cocoonVehicleFinder *,#cocoonVehicleFinder *::before,#cocoonVehicleFinder *::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
#cocoonVehicleFinder{ width:100%; max-width:980px; margin:0 auto; color:var(--cocoon-text); line-height:1.5; isolation:isolate; }
