.dc-veh-noscroll{overflow:hidden}
.dc-veh-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:9998}
.dc-veh-drawer-overlay.is-open{opacity:1;pointer-events:auto}
.dc-veh-drawer{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;transform:translateY(105%);transition:transform .25s ease;z-index:9999;box-shadow:0 -10px 40px rgba(0,0,0,.12);max-height:85vh;overflow:auto}
.dc-veh-drawer.is-open{transform:translateY(0)}
.dc-veh-head{display:flex;gap:14px;padding:18px 18px 8px 18px;align-items:flex-start}
.dc-veh-icon{width:54px;height:54px;border:1px solid #eee;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.dc-veh-title{font-size:20px;font-weight:700;margin:0;line-height:1.2}
.dc-veh-sub{margin:6px 0 0 0;color:#555;line-height:1.35}
.dc-veh-close{margin-left:auto;border:0;background:transparent;font-size:26px;cursor:pointer;line-height:1;padding:0 6px;color:#222}
.dc-veh-body{padding:10px 18px 18px 18px}
.dc-veh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}

.dc-veh-field label{display:block;font-weight:600;margin:0 0 6px 2px}
.dc-veh-field select{width:100%;padding:12px 12px;border-radius:12px;border:1px solid #ddd;background:#fff}
.dc-veh-field input.dc-veh-make-search{width:100%;padding:12px 12px;border-radius:12px;border:1px solid #ddd;background:#fff}

/* Marca predictiva */
.dc-veh-field-make, .dc-veh-field-model {position:relative}

.dc-veh-make-suggestions, .dc-veh-model-suggestions {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#fff;
  border:1px solid #ddd;
  border-radius:12px;
  margin-top:6px;
  max-height:240px;
  overflow:auto;
  z-index:50;
  display:none;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.dc-veh-make-suggestions .dc-veh-sug-item, .dc-veh-model-suggestions .dc-veh-sug-item {
  padding:10px 12px;
  cursor:pointer;
}
.dc-veh-make-suggestions .dc-veh-sug-item:hover, .dc-veh-model-suggestions .dc-veh-sug-item:hover {
  background:#f5f5f5;
}

.dc-veh-actions{display:flex;gap:14px;justify-content:flex-end;align-items:center;margin-top:16px;flex-wrap:wrap}
.dc-veh-clear{color:#3483fa;text-decoration:none;font-weight:600}
.dc-veh-submit{padding:12px 16px;border-radius:12px;border:0;background:#e6e6e6;color:#999;font-weight:700;cursor:not-allowed}
.dc-veh-submit:not(.is-disabled){background:#3483fa;color:#fff;cursor:pointer}

@media (max-width:980px){.dc-veh-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.dc-veh-grid{grid-template-columns:1fr;}.dc-veh-actions{justify-content:stretch}.dc-veh-submit{width:100%}}

.dc-fitment-box{border:1px solid #e5e5e5;border-radius:12px;padding:14px;background:#fff}
.dc-fitment-ok{border-color:#b7eb8f;background:#f6ffed}
.dc-fitment-bad{border-color:#ffa39e;background:#fff2f0}
.dc-fitment-warn{border-color:#ffe58f;background:#fffbe6}
.dc-fitment-title{font-weight:700;margin-bottom:6px}
.dc-fitment-sub{color:#555}
.dc-fitment-note{margin-top:6px;color:#666;font-size:13px}
.dc-fitment-actions{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap}
.dc-fitment-actions a{color:#3483fa;text-decoration:none;font-weight:600}
.dc-fitment-engines{display:none;margin-top:8px;color:#333}

/* Home Selector Premium UI */
.dc-veh-home { background: linear-gradient(135deg, #161e29 0%, #20354b 100%); border-radius: 16px; padding: 28px 32px; box-shadow: 0 16px 40px rgba(0,0,0,.2); color: #fff; position: relative; overflow: hidden; margin: 30px 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.dc-veh-home::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 60%); pointer-events: none; }
.dc-veh-home .dc-veh-title { color: #fff; font-size: 26px; font-weight: 700; margin: 0 0 6px 0; letter-spacing: -0.5px;}
.dc-veh-home .dc-veh-sub { color: #9fb3c8; font-size: 15px; margin: 0 0 24px 0;}
.dc-veh-home .dc-veh-grid { position: relative; z-index: 1;}
.dc-veh-home label { color: #d0e1f9; font-size: 13px; margin: 0 0 8px 2px; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.8;}
.dc-veh-home input.dc-veh-make-search, .dc-veh-home input.dc-veh-model-search, .dc-veh-home select { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15); color: #fff; border-radius: 12px; padding: 14px; font-size: 15px; transition: all 0.25s ease; box-sizing: border-box;}
.dc-veh-home input.dc-veh-make-search::placeholder, .dc-veh-home input.dc-veh-model-search::placeholder { color: rgba(255,255,255,0.4); }
.dc-veh-home input.dc-veh-make-search:focus, .dc-veh-home input.dc-veh-model-search:focus, .dc-veh-home select:focus { background: rgba(255,255,255,0.12); border-color: #5d9cec; outline: none; box-shadow: 0 0 0 4px rgba(93,156,236,0.15); }
.dc-veh-home select option { color: #222; background: #fff;}
.dc-veh-home .dc-veh-actions { position: relative; z-index: 1; align-items: center; justify-content: flex-end;}
.dc-veh-home .dc-veh-clear { color: #8a9cae; text-decoration: none; font-size: 14px; transition: color 0.2s;}
.dc-veh-home .dc-veh-clear:hover { color: #fff; text-decoration: underline;}
.dc-veh-home .dc-veh-submit { background: linear-gradient(90deg, #3483fa, #5d9cec); box-shadow: 0 6px 16px rgba(52,131,250,.3); color: #fff; border: 0; padding: 14px 28px; border-radius: 12px; font-weight: 700; cursor: pointer; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); letter-spacing: 0.5px;}
.dc-veh-home .dc-veh-submit:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(52,131,250,.4); }
.dc-veh-home .dc-veh-submit:disabled { background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.3); box-shadow: none; cursor: not-allowed; }
.dc-veh-home .dc-veh-make-suggestions, .dc-veh-home .dc-veh-model-suggestions { background: #fff; color: #333; border: 0; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.25); margin-top: 8px;}
