/* ============================================================
   Vehicle RTO Details — style.css v5.0
   All !important to override any theme CSS
   ============================================================ */

:root {
  --vp:#1B4FD8; --vph:#1541B5; --vpl:#EEF2FF;
  --va:#F97316; --vg:#059669;
  --vbg:#F0F4FF; --vdk:#0D1B3E;
  --vsf:#ffffff; --vs2:#F8FAFF;
  --vbd:#E2E8F8; --vtx:#1a1f2e;
  --vt2:#374151; --vmu:#6B7280;
  --vr:12px; --vrl:16px;
  --vsh:0 4px 20px rgba(27,79,216,.10);
  --vtr:all .22s cubic-bezier(.4,0,.2,1);
  --vf:'Inter',system-ui,-apple-system,sans-serif;
}

/* ══ WRAPPER ══ */
.vrd-wrapper {
  font-family: var(--vf) !important;
  color: var(--vtx) !important;
  -webkit-font-smoothing: antialiased !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}
.vrd-wrapper *, .vrd-wrapper *::before, .vrd-wrapper *::after {
  box-sizing: border-box !important;
}

/* ══ SEARCH CARD ══ */
.vrd-card {
  background: #ffffff !important;
  border: 1.5px solid #E2E8F8 !important;
  border-radius: 16px !important;
  padding: 28px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 4px 20px rgba(27,79,216,.08) !important;
}

.vrd-card-head {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
  padding-bottom: 18px !important;
  border-bottom: 1.5px solid #E2E8F8 !important;
}

.vrd-card-icon { font-size: 28px !important; line-height: 1 !important; flex-shrink: 0 !important; }

.vrd-card-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0D1B3E !important;
  line-height: 1.2 !important;
  letter-spacing: -.3px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--vf) !important;
}

.vrd-card-sub {
  font-size: 13px !important;
  color: #6B7280 !important;
  margin-top: 4px !important;
  font-family: var(--vf) !important;
}

/* ══ SECTION LABEL ══ */
.vrd-section-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #6B7280 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  margin-bottom: 8px !important;
  display: block !important;
  font-family: var(--vf) !important;
}

/* ══ NUMBER INPUT ══ */
.vrd-input-wrap {
  display: flex !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 2px solid #E2E8F8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: var(--vtr) !important;
  margin-bottom: 6px !important;
}
.vrd-input-wrap:focus-within {
  border-color: #1B4FD8 !important;
  box-shadow: 0 0 0 3px rgba(27,79,216,.12) !important;
}

.vrd-ind-flag {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 0 12px !important;
  border-right: 2px solid #E2E8F8 !important;
  flex-shrink: 0 !important;
  height: 54px !important;
}
.vrd-flag-blue {
  display: block !important; width: 5px !important; height: 28px !important;
  background: #0038A8 !important; border-radius: 2px 0 0 2px !important;
}
.vrd-flag-green {
  display: block !important; width: 5px !important; height: 28px !important;
  background: #138808 !important; border-radius: 0 2px 2px 0 !important;
}
.vrd-ind-text {
  font-size: 11px !important; font-weight: 800 !important;
  color: #0D1B3E !important; letter-spacing: .5px !important;
  padding: 0 4px !important; font-family: var(--vf) !important;
}

.vrd-number-input {
  flex: 1 !important; border: none !important; outline: none !important;
  padding: 0 14px !important; font-size: 22px !important; font-weight: 700 !important;
  color: #0D1B3E !important; font-family: 'Courier New', monospace !important;
  letter-spacing: 2px !important; background: transparent !important;
  height: 54px !important; text-transform: uppercase !important;
  box-shadow: none !important; -webkit-appearance: none !important;
}
.vrd-number-input::placeholder {
  color: #CBD5E1 !important; font-weight: 400 !important;
  font-size: 15px !important; letter-spacing: 1px !important;
}

.vrd-clear-btn {
  background: none !important; border: none !important; color: #9CA3AF !important;
  font-size: 16px !important; cursor: pointer !important; padding: 0 14px !important;
  height: 54px !important; display: flex !important; align-items: center !important;
  transition: var(--vtr) !important; flex-shrink: 0 !important; box-shadow: none !important;
}
.vrd-clear-btn:hover { color: #DC2626 !important; }

/* ══ SUGGESTIONS ══ */
.vrd-suggestions {
  display: none;
  background: #ffffff;
  border: 1.5px solid #1B4FD8;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(27,79,216,.15);
  overflow: hidden;
  margin-bottom: 4px;
  position: relative;
  z-index: 999;
}
.vrd-suggestion-item {
  display: flex !important; flex-direction: column !important;
  gap: 2px !important; padding: 12px 16px !important;
  border-bottom: 1px solid #E2E8F8 !important;
  cursor: pointer !important; transition: var(--vtr) !important;
}
.vrd-suggestion-item:last-child { border-bottom: none !important; }
.vrd-suggestion-item:hover { background: #EEF2FF !important; }

/* District name big in suggestions */
.vrd-sug-dist-main {
  font-size: 15px !important; font-weight: 800 !important;
  color: #0D1B3E !important; line-height: 1.2 !important;
}
.vrd-sug-meta {
  font-size: 12px !important; color: #6B7280 !important;
  font-family: var(--vf) !important;
}

/* ══ DIVIDER ══ */
.vrd-divider {
  display: flex !important; align-items: center !important;
  gap: 12px !important; margin: 20px 0 !important;
  color: #9CA3AF !important; font-size: 11px !important;
  font-weight: 700 !important; letter-spacing: .8px !important;
  font-family: var(--vf) !important;
}
.vrd-divider::before, .vrd-divider::after {
  content: ''; flex: 1; height: 1px; background: #E2E8F8;
}

/* ══ DROPDOWNS — FIXED TEXT VISIBILITY ══ */
.vrd-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}
.vrd-select-wrap {
  display: flex !important; flex-direction: column !important; gap: 6px !important;
}
.vrd-select-label {
  font-size: 12px !important; font-weight: 700 !important;
  color: #374151 !important; font-family: var(--vf) !important;
  display: block !important;
}
.vrd-select {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 40px 0 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a1f2e !important;
  background-color: #ffffff !important;
  border: 1.5px solid #D1D9F0 !important;
  border-radius: 10px !important;
  outline: none !important;
  font-family: var(--vf) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='%231B4FD8' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  background-size: 12px !important;
  cursor: pointer !important;
  transition: var(--vtr) !important;
  box-shadow: 0 1px 4px rgba(27,79,216,.07) !important;
  line-height: 50px !important;
  vertical-align: middle !important;
  /* Prevent text overflow */
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.vrd-select:focus {
  border-color: #1B4FD8 !important;
  box-shadow: 0 0 0 3px rgba(27,79,216,.12) !important;
  background-color: #ffffff !important;
}
.vrd-select option {
  color: #1a1f2e !important;
  background: #ffffff !important;
  font-size: 14px !important;
  padding: 6px 0 !important;
}

/* ══ BUTTONS ══ */
.vrd-search-btn {
  width: 100% !important; padding: 15px !important;
  background: linear-gradient(135deg,#1B4FD8,#1D4ED8) !important;
  color: #ffffff !important; border: none !important;
  border-radius: 12px !important; font-size: 16px !important;
  font-weight: 800 !important; cursor: pointer !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 8px !important;
  font-family: var(--vf) !important; transition: var(--vtr) !important;
  margin-bottom: 10px !important; box-shadow: none !important;
  text-transform: none !important; letter-spacing: normal !important;
}
.vrd-search-btn:hover:not(:disabled) {
  background: linear-gradient(135deg,#1541B5,#1a44c0) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(27,79,216,.35) !important;
}
.vrd-search-btn:disabled { opacity:.65 !important; cursor:not-allowed !important; }
.vrd-btn-icon { font-size: 17px !important; }

.vrd-spinner {
  width: 18px !important; height: 18px !important;
  border: 2.5px solid rgba(255,255,255,.3) !important;
  border-top-color: #fff !important; border-radius: 50% !important;
  animation: vrdSpin .7s linear infinite !important; flex-shrink: 0 !important;
}
@keyframes vrdSpin { to { transform: rotate(360deg); } }

.vrd-gps-btn {
  width: 100% !important; padding: 11px !important;
  background: #F8FAFF !important; color: #374151 !important;
  border: 1.5px solid #D1D9F0 !important; border-radius: 10px !important;
  font-size: 13px !important; font-weight: 700 !important;
  cursor: pointer !important; font-family: var(--vf) !important;
  transition: var(--vtr) !important; box-shadow: none !important;
}
.vrd-gps-btn:hover:not(:disabled) {
  background: #EEF2FF !important; border-color: #1B4FD8 !important; color: #1B4FD8 !important;
}

/* ══ RECENT SEARCHES — FIXED VISIBILITY ══ */
.vrd-recent-wrap {
  background: #ffffff !important;
  border: 1.5px solid #E2E8F8 !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
}
.vrd-recent-label {
  font-size: 11px !important; font-weight: 700 !important;
  color: #374151 !important; text-transform: uppercase !important;
  letter-spacing: .7px !important; margin-bottom: 10px !important;
  display: block !important; font-family: var(--vf) !important;
}
.vrd-recent-list {
  display: flex !important; gap: 8px !important; flex-wrap: wrap !important;
}
.vrd-recent-chip {
  display: inline-flex !important; align-items: center !important;
  gap: 5px !important; padding: 7px 13px !important;
  background: #F0F4FF !important; border: 1.5px solid #D1D9F0 !important;
  border-radius: 100px !important; cursor: pointer !important;
  font-family: var(--vf) !important; transition: var(--vtr) !important;
  box-shadow: none !important; flex-direction: column !important;
  align-items: flex-start !important;
}
.vrd-recent-chip strong {
  font-size: 13px !important; font-weight: 800 !important;
  color: #1B4FD8 !important; display: block !important; line-height: 1.2 !important;
}
.vrd-recent-chip span {
  font-size: 10px !important; font-weight: 500 !important;
  color: #6B7280 !important; display: block !important;
}
.vrd-recent-chip:hover {
  border-color: #1B4FD8 !important; background: #EEF2FF !important;
}

/* ══ RESULT CARD ══ */
.vrd-result-card {
  background: #ffffff !important; border: 1.5px solid #E2E8F8 !important;
  border-radius: 16px !important; overflow: hidden !important;
  margin-bottom: 16px !important; box-shadow: 0 4px 20px rgba(27,79,216,.10) !important;
  animation: vrdFadeIn .3s ease;
}
@keyframes vrdFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.vrd-result-header {
  background: linear-gradient(135deg,#0D1B3E,#1B2E5C) !important;
  padding: 22px 24px !important;
}
/* District name LARGE in header */
.vrd-result-district {
  font-size: 28px !important; font-weight: 900 !important;
  color: #ffffff !important; line-height: 1.1 !important;
  letter-spacing: -.3px !important; margin-bottom: 4px !important;
}
.vrd-result-code-small {
  font-size: 14px !important; font-weight: 600 !important;
  color: rgba(255,255,255,.65) !important; margin-bottom: 4px !important;
  letter-spacing: .3px !important;
}
.vrd-result-office {
  font-size: 12px !important; color: rgba(255,255,255,.45) !important;
}

/* Keep old .vrd-result-code for compatibility */
.vrd-result-code {
  font-size: 30px !important; font-weight: 900 !important;
  color: #ffffff !important; letter-spacing: 1px !important;
  line-height: 1 !important; margin-bottom: 6px !important;
}
.vrd-result-name {
  font-size: 15px !important; font-weight: 700 !important;
  color: rgba(255,255,255,.85) !important; margin-bottom: 4px !important;
}
.vrd-result-state { font-size: 13px !important; color: rgba(255,255,255,.55) !important; }

/* RESULT GRID */
.vrd-result-grid {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 0 !important; border-bottom: 1px solid #E2E8F8 !important;
}
.vrd-result-item {
  padding: 13px 20px !important; border-right: 1px solid #E2E8F8 !important;
  border-bottom: 1px solid #E2E8F8 !important;
}
.vrd-result-item:nth-child(even) { border-right: none !important; }
.vrd-ri-label {
  font-size: 10px !important; font-weight: 700 !important; color: #6B7280 !important;
  text-transform: uppercase !important; letter-spacing: .6px !important;
  margin-bottom: 4px !important; font-family: var(--vf) !important;
}
.vrd-ri-value {
  font-size: 14px !important; font-weight: 700 !important;
  color: #0D1B3E !important; line-height: 1.3 !important;
}
.vrd-ri-value.big-val { font-size: 16px !important; color: #0D1B3E !important; }
.vrd-ri-value.code { font-size: 18px !important; color: #1B4FD8 !important; letter-spacing: .5px !important; }

/* ACTION BUTTONS */
.vrd-result-actions {
  display: flex !important; gap: 8px !important; padding: 13px 20px !important;
  flex-wrap: wrap !important; border-bottom: 1px solid #E2E8F8 !important;
}
.vrd-act-btn {
  display: inline-flex !important; align-items: center !important;
  gap: 5px !important; padding: 8px 13px !important; border-radius: 8px !important;
  font-size: 12px !important; font-weight: 700 !important; border: none !important;
  cursor: pointer !important; font-family: var(--vf) !important;
  transition: var(--vtr) !important; text-decoration: none !important;
  box-shadow: none !important; line-height: 1 !important;
}
.vrd-act-btn:hover { transform: translateY(-1px) !important; opacity: .88 !important; }
.vrd-act-copy { background: #EEF2FF !important; color: #1B4FD8 !important; }
.vrd-act-full { background: #1B4FD8 !important; color: #ffffff !important; }
.vrd-act-map  { background: #F0FDF4 !important; color: #16a34a !important; border: 1.5px solid #BBF7D0 !important; }
.vrd-act-wa   { background: #25D366 !important; color: #ffffff !important; }

/* LINKS */
.vrd-result-links { padding: 14px 20px !important; border-bottom: 1px solid #E2E8F8 !important; }
.vrd-links-title {
  font-size: 11px !important; font-weight: 700 !important; color: #6B7280 !important;
  text-transform: uppercase !important; letter-spacing: .6px !important;
  margin-bottom: 10px !important; font-family: var(--vf) !important;
}
.vrd-links-grid {
  display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; gap: 7px !important;
}
.vrd-link-btn {
  display: flex !important; align-items: center !important; gap: 5px !important;
  padding: 8px 10px !important; border-radius: 8px !important; font-size: 11px !important;
  font-weight: 700 !important; text-decoration: none !important;
  transition: var(--vtr) !important; border: 1.5px solid transparent !important;
}
.vrd-link-btn:hover { transform: translateY(-1px) !important; }
.vrd-lb-green  { background:#F0FDF4 !important; color:#15803D !important; border-color:#BBF7D0 !important; }
.vrd-lb-orange { background:#FFF7ED !important; color:#EA580C !important; border-color:#FED7AA !important; }
.vrd-lb-blue   { background:#EEF2FF !important; color:#1B4FD8 !important; border-color:#BFDBFE !important; }
.vrd-lb-purple { background:#F5F3FF !important; color:#7C3AED !important; border-color:#DDD6FE !important; }
.vrd-lb-grey   { background:#F8FAFF !important; color:#374151 !important; border-color:#E2E8F8 !important; }
.vrd-lb-gold   { background:#FFFBEB !important; color:#D97706 !important; border-color:#FDE68A !important; }

/* RELATED */
.vrd-related { padding: 14px 20px !important; border-bottom: 1px solid #E2E8F8 !important; }
.vrd-related-title {
  font-size: 11px !important; font-weight: 700 !important; color: #6B7280 !important;
  text-transform: uppercase !important; letter-spacing: .6px !important;
  margin-bottom: 10px !important; font-family: var(--vf) !important;
}
.vrd-related-list { display: flex !important; gap: 7px !important; flex-wrap: wrap !important; }
.vrd-rel-chip {
  display: inline-flex !important; flex-direction: column !important;
  padding: 8px 12px !important; background: #F8FAFF !important;
  border: 1.5px solid #E2E8F8 !important; border-radius: 10px !important;
  text-decoration: none !important; transition: var(--vtr) !important; line-height: 1.3 !important;
}
.vrd-rel-chip strong { font-size: 13px !important; font-weight: 800 !important; color: #0D1B3E !important; }
.vrd-rel-chip span   { font-size: 10px !important; color: #1B4FD8 !important; font-weight: 600 !important; margin-top: 1px !important; }
.vrd-rel-chip:hover { border-color: #1B4FD8 !important; background: #EEF2FF !important; transform: translateY(-1px) !important; }

/* DISCLAIMER */
.vrd-result-disclaimer {
  padding: 11px 20px !important; font-size: 11px !important;
  color: #6B7280 !important; line-height: 1.55 !important;
  background: #F8FAFF !important;
}

/* GPS NOTE */
.vrd-gps-note {
  background: #EFF6FF !important; border: 1px solid #BFDBFE !important;
  border-radius: 10px !important; padding: 10px 14px !important;
  font-size: 13px !important; color: #1e40af !important;
  margin-bottom: 12px !important; font-weight: 500 !important;
}

/* ERROR */
.vrd-error-box {
  background: #FEF2F2 !important; border: 1.5px solid #FECACA !important;
  border-radius: 10px !important; padding: 16px 18px !important;
  font-size: 14px !important; color: #991B1B !important;
  line-height: 1.6 !important; margin-bottom: 12px !important;
}

/* INFO CARDS */
.vrd-info-cards {
  display: grid !important; grid-template-columns: repeat(3,1fr) !important;
  gap: 10px !important; margin-top: 4px !important;
}
.vrd-info-card {
  background: #ffffff !important; border: 1.5px solid #E2E8F8 !important;
  border-radius: 12px !important; padding: 16px !important;
  text-align: center !important; transition: var(--vtr) !important;
}
.vrd-info-card:hover { border-color: #1B4FD8 !important; box-shadow: 0 4px 12px rgba(27,79,216,.10) !important; }
.vrd-info-icon  { font-size: 22px !important; margin-bottom: 7px !important; display: block !important; }
.vrd-info-title { font-size: 13px !important; font-weight: 700 !important; color: #0D1B3E !important; margin-bottom: 3px !important; display: block !important; }
.vrd-info-desc  { font-size: 11px !important; color: #6B7280 !important; display: block !important; }

/* AD SLOT */
.vrd-ad-slot { border-radius: 12px !important; overflow: hidden !important; margin: 12px 0 !important; }
.vrd-ad-placeholder {
  background: #F8FAFF !important; border: 1px dashed #CBD5F0 !important;
  border-radius: 12px !important; color: #9CA3AF !important; font-size: 12px !important;
  padding: 20px !important; min-height: 90px !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
}

/* TOAST */
.vrd-toast {
  position: fixed !important; bottom: 24px !important; left: 50% !important;
  transform: translateX(-50%) !important; background: #0D1B3E !important;
  color: #fff !important; padding: 10px 22px !important; border-radius: 100px !important;
  font-size: 13px !important; font-weight: 600 !important; z-index: 99999 !important;
  opacity: 0 !important; transition: opacity .3s !important; pointer-events: none !important;
  white-space: nowrap !important; box-shadow: 0 4px 20px rgba(0,0,0,.25) !important;
}
.vrd-toast.show { opacity: 1 !important; }

/* ══ RESPONSIVE ══ */
@media (max-width: 600px) {
  .vrd-row { grid-template-columns: 1fr !important; }
  .vrd-links-grid { grid-template-columns: 1fr 1fr !important; }
  .vrd-info-cards { grid-template-columns: 1fr !important; }
  .vrd-number-input { font-size: 18px !important; }
  .vrd-result-district { font-size: 22px !important; }
  .vrd-result-grid { grid-template-columns: 1fr !important; }
  .vrd-result-item { border-right: none !important; }
  .vrd-card { padding: 18px !important; }
}
@media (max-width: 380px) {
  .vrd-links-grid { grid-template-columns: 1fr !important; }
}
