/* =========================================================================
   DLIMS Tools Hub — shared styles for the lookup forms + results page

   IMPORTANT: everything the plugin renders lives inside .dlims-tools-scope,
   and this block forcefully resets the handful of properties WordPress
   theme "global styles" (Astra, GeneratePress, block-theme theme.json,
   etc.) commonly push onto buttons, headings, inputs and links with high
   specificity. Without this, a theme's own button/heading/color-palette
   rules can visually override the plugin's intended design. Everything
   below is scoped strictly to .dlims-tools-scope so it can never leak out
   and affect the rest of the site.
   ========================================================================= */
.dlims-tools-scope,
.dlims-tools-scope :where(*:not(svg):not(svg *)) {
  all: revert !important;
  box-sizing: border-box !important;
}
/* IMPORTANT — svg is excluded from the blanket reset above using :where(),
   not a bare :not(). "all: revert" doesn't just override author CSS on an
   svg icon, it discards its fill/stroke/stroke-width/stroke-linecap/
   stroke-linejoin PRESENTATION ATTRIBUTES too (those sit in the author
   origin at the bottom of the cascade, and "revert" skips past the whole
   author origin, attributes included) — every icon rendered as either a
   solid colored blob or a near-invisible hairline once that happened, no
   matter what CSS we added back afterwards, because stroke-width itself
   was gone. Excluding svg from the reset avoids that entirely and needs
   no extra rule to restore it.
   The reason it's wrapped in :where(...) rather than a plain
   "*:not(svg):not(svg *)": each argument inside a :not() adds that
   argument's OWN specificity to the selector it sits in, so a bare
   ":not(svg):not(svg *)" quietly made this reset MORE specific than
   plenty of this plugin's own single-class rules below it (.dlims-submit,
   .dlims-cal-btn, .dlims-refresh-btn, .dlims-input, … are all a single
   class = lower specificity than that once :not() is involved). The
   reset then won ties it was never meant to win — e.g. the submit button
   kept native browser padding/appearance and looked inert even once
   enabled. :where() always carries zero specificity regardless of what's
   inside it, so this whole selector stays exactly as specific as a plain
   ".dlims-tools-scope *" and every later same-specificity rule in this
   file still correctly wins on source order, the way it's meant to. */
.dlims-tools-scope svg,
.dlims-tools-scope svg * {
  box-sizing: border-box !important;
}
/* Every icon in this plugin is outline-style: fill="none" stroke="currentColor"
   as presentation attributes, left completely untouched by the reset above.
   This rule only adds a same-property CSS override on top of that (not an
   "all: revert", so stroke-width/stroke-linecap/etc. attributes are never
   touched) purely so a theme's own global "svg { fill: ... }" rule can't
   turn an icon into a solid blob — regardless of stylesheet load order. */
.dlims-tools-scope svg,
.dlims-tools-scope svg * {
  fill: none !important;
  stroke: currentColor !important;
}
/* Utility used by JS instead of an inline style="display:none" — inline
   styles get wiped by the "all: revert" reset above, which was making
   toggled-off fields (e.g. the CNIC/Passport alternative) show up at the
   same time as the active one. */
.dlims-tools-scope .dlims-hide {
  display: none !important;
}
.dlims-tools-scope {
  --dl-g-950: #062115;
  --dl-g-900: #0C3A22;
  --dl-g-700: #145C35;
  --dl-g-600: #1A7A4A;
  --dl-g-500: #159F48;
  --dl-g-200: #A7DFC0;
  --dl-g-100: #D4EDDA;
  --dl-g-50:  #EFF9F3;
  --dl-a-600: #D4900A;
  --dl-a-500: #FAAD14;
  --dl-a-100: #FFF3CD;
  --dl-a-50:  #FFFBF0;
  --dl-ink:   #1C2B39;
  --dl-muted: #6B7280;
  --dl-white: #FFFFFF;
  --dl-err-bg: #FEF2F2;
  --dl-err-bd: #FECACA;
  --dl-err-ink: #991B1B;
  --dl-sh-sm: 0 2px 10px rgba(6,33,21,.06);
  --dl-sh-md: 0 8px 24px rgba(6,33,21,.10);
  --dl-r:   14px;
  --dl-r-sm: 10px;
  --dl-ease: cubic-bezier(.22,.61,.36,1);
  --dl-f-head: 'Sora','Segoe UI',Arial,sans-serif;
  --dl-f-body: 'Inter',-apple-system,'Segoe UI',sans-serif;
  --dl-f-mono: Consolas,Menlo,monospace;

  max-width: 600px !important;
  margin: 0 auto !important;
  font-family: var(--dl-f-body) !important;
  color: var(--dl-ink) !important;
  box-sizing: border-box !important;
}
.dlims-tools-scope *, .dlims-tools-scope *::before, .dlims-tools-scope *::after { box-sizing: border-box !important; }

.dlims-tools-scope h2.dlims-h {
  font-family: var(--dl-f-head) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--dl-g-900) !important;
  margin: 0 0 18px !important;
  line-height: 1.25 !important;
}

/* ---- Card ---- */
.dlims-card {
  background: var(--dl-white) !important;
  border: 1px solid #DDE7DF !important;
  border-radius: var(--dl-r) !important;
  box-shadow: var(--dl-sh-sm) !important;
  padding: 26px 24px !important;
}

.dlims-sec-label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--dl-f-head) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--dl-muted) !important;
  margin: 0 0 16px !important;
}
.dlims-sec-label::after { content: "" !important; flex: 1 !important; height: 1px !important; background: #E3EBE5 !important; }

/* ---- License type pills ---- */
.dlims-pills { display: flex !important; gap: 8px !important; margin-bottom: 18px !important; flex-wrap: wrap !important; }
.dlims-pill {
  flex: 1 !important;
  min-width: 120px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 10px 12px !important;
  border: 1.5px solid #CDD9D0 !important;
  border-radius: 999px !important;
  font-family: var(--dl-f-head) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--dl-muted) !important;
  background: var(--dl-white) !important;
  cursor: pointer !important;
  transition: border-color .2s var(--dl-ease), color .2s var(--dl-ease), background .2s var(--dl-ease), box-shadow .2s var(--dl-ease) !important;
  user-select: none !important;
}
.dlims-pill input { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
.dlims-pill:hover { border-color: var(--dl-g-500) !important; color: var(--dl-g-700) !important; }
.dlims-pill.active {
  border-color: var(--dl-g-500) !important;
  background: var(--dl-g-50) !important;
  color: var(--dl-g-700) !important;
  box-shadow: 0 0 0 3px rgba(21,159,72,.12) !important;
}
.dlims-pill .dot { width: 7px !important; height: 7px !important; border-radius: 50% !important; border: 2px solid currentColor !important; flex-shrink: 0 !important; }
.dlims-pill.active .dot { background: currentColor !important; }

/* ---- CNIC / Passport toggle ---- */
.dlims-id-toggle {
  display: flex !important;
  margin-bottom: 16px !important;
  border: 1.5px solid #CDD9D0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  width: fit-content !important;
}
.dlims-id-tab {
  padding: 8px 18px !important;
  font-family: var(--dl-f-head) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--dl-muted) !important;
  cursor: pointer !important;
  background: var(--dl-white) !important;
  border: none !important;
}
.dlims-id-tab.active { background: var(--dl-g-900) !important; color: var(--dl-white) !important; }

/* ---- Fields ---- */
.dlims-field { margin-bottom: 15px !important; }
.dlims-field:last-of-type { margin-bottom: 0 !important; }
.dlims-label {
  display: block !important;
  font-family: var(--dl-f-head) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--dl-g-900) !important;
  margin-bottom: 6px !important;
}
.dlims-label .req { color: var(--dl-a-600) !important; margin-left: 2px !important; }

.dlims-input {
  display: block !important;
  width: 100% !important;
  font-family: var(--dl-f-body) !important;
  font-size: 15px !important;
  color: var(--dl-ink) !important;
  background: var(--dl-white) !important;
  border: 1.5px solid #CDD9D0 !important;
  border-radius: var(--dl-r-sm) !important;
  padding: 11px 14px !important;
  transition: border-color .2s var(--dl-ease), box-shadow .2s var(--dl-ease) !important;
}
.dlims-input:focus { border-color: var(--dl-g-500) !important; box-shadow: 0 0 0 4px rgba(21,159,72,.12) !important; outline: none !important; }
.dlims-input.mono { font-family: var(--dl-f-mono) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }

/* ---- DOB masked field (e-License form) ---- */
.dlims-dob-wrap { position: relative !important; display: flex !important; align-items: stretch !important; gap: 8px !important; }
.dlims-dob-wrap .dlims-input { flex: 1 !important; }
.dlims-cal-btn {
  flex-shrink: 0 !important;
  width: 44px !important;
  border-radius: var(--dl-r-sm) !important;
  border: 1.5px solid #CDD9D0 !important;
  background: var(--dl-white) !important;
  color: var(--dl-g-700) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important;
}
.dlims-cal-btn:hover { border-color: var(--dl-g-500) !important; color: var(--dl-g-700) !important; background: var(--dl-g-50) !important; }
.dlims-dob-native {
  position: absolute !important;
  right: 44px !important;
  bottom: 0 !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ---- Captcha ---- */
.dlims-captcha-wrap { margin-top: 18px !important; padding-top: 18px !important; border-top: 1px solid #E3EBE5 !important; }
.dlims-captcha-frame {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: var(--dl-g-50) !important;
  border: 1.5px solid var(--dl-g-100) !important;
  border-radius: var(--dl-r-sm) !important;
  padding: 13px 16px !important;
  margin-bottom: 10px !important;
}
.dlims-captcha-q { font-family: var(--dl-f-head) !important; font-size: 17px !important; font-weight: 800 !important; color: var(--dl-g-900) !important; }
.dlims-captcha-status { font-family: var(--dl-f-body) !important; font-size: 12px !important; color: var(--dl-muted) !important; white-space: nowrap !important; }
.dlims-captcha-status.ready { color: var(--dl-g-500) !important; font-weight: 600 !important; }
.dlims-captcha-status.err   { color: var(--dl-err-ink) !important; font-weight: 600 !important; }
.dlims-refresh-btn {
  width: 36px !important; height: 36px !important;
  border-radius: 9px !important;
  border: none !important;
  background: var(--dl-g-900) !important;
  color: var(--dl-white) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background .2s var(--dl-ease), transform .18s var(--dl-ease) !important;
}
.dlims-refresh-btn:hover { background: var(--dl-a-600) !important; }
.dlims-refresh-btn.spinning svg { animation: dlims-spin .55s linear !important; }
@keyframes dlims-spin { to { transform: rotate(360deg) !important; } }
#dlims-hint-text, .dlims-hint { font-size: 11.5px !important; color: var(--dl-muted) !important; margin: 0 0 8px !important; }
.dlims-input.dlims-captcha-input { text-align: center !important; font-family: var(--dl-f-head) !important; font-size: 19px !important; font-weight: 700 !important; letter-spacing: .16em !important; }

/* ---- Submit ---- */
.dlims-submit {
  display: block !important;
  width: 100% !important;
  font-family: var(--dl-f-head) !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  letter-spacing: .02em !important;
  text-align: center !important;
  color: var(--dl-white) !important;
  background: linear-gradient(135deg, var(--dl-a-500), var(--dl-a-600)) !important;
  padding: 13px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  margin-top: 20px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(212,144,10,.25) !important;
  transition: transform .18s var(--dl-ease), box-shadow .2s var(--dl-ease), opacity .2s !important;
}
.dlims-submit:hover:not(:disabled) { transform: translateY(-2px) !important; box-shadow: 0 8px 22px rgba(212,144,10,.32) !important; }
.dlims-submit:disabled { background: #DDE2E5 !important; color: #9AADB4 !important; box-shadow: none !important; cursor: not-allowed !important; }

/* ---- Inline alert (session errors, connection issues) ---- */
.dlims-inline-alert {
  margin-top: 14px !important;
  background: var(--dl-err-bg) !important;
  border: 1px solid var(--dl-err-bd) !important;
  color: var(--dl-err-ink) !important;
  border-radius: var(--dl-r-sm) !important;
  padding: 12px 14px !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  display: none !important;
}
.dlims-inline-alert.show { display: block !important; }

/* ---- Official-link footnote under the form ---- */
.dlims-official-note {
  text-align: center !important;
  font-size: 11.5px !important;
  color: var(--dl-muted) !important;
  margin-top: 14px !important;
  line-height: 1.6 !important;
}
.dlims-official-note a { color: var(--dl-g-600) !important; font-weight: 600 !important; text-decoration: none !important; }
.dlims-official-note a:hover { text-decoration: underline !important; }

/* =========================================================================
   Results page
   ========================================================================= */
.dlims-result-card { animation: dlims-rise .32s var(--dl-ease) both !important; }
@keyframes dlims-rise { from { opacity: 0 !important; transform: translateY(7px) !important; } to { opacity: 1 !important; transform: translateY(0) !important; } }

.dlims-badge {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  font-family: var(--dl-f-head) !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
  padding: 5px 14px !important;
  border-radius: 999px !important;
}
.dlims-badge .dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: currentColor !important; }
.dlims-badge--valid   { background: var(--dl-g-100) !important; color: var(--dl-g-700) !important; }
.dlims-badge--expired { background: var(--dl-err-bg) !important; color: var(--dl-err-ink) !important; border: 1px solid var(--dl-err-bd) !important; }
.dlims-badge--unknown { background: var(--dl-a-100) !important; color: var(--dl-a-600) !important; }

.dlims-checked {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: var(--dl-g-50) !important;
  color: var(--dl-g-700) !important;
  font-weight: 600 !important; font-size: 11px !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  margin-left: 8px !important;
}

.dlims-res-header { display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 10px !important; margin-bottom: 20px !important; }
.dlims-res-header-left { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 8px !important; }
.dlims-print-btn {
  width: 34px !important; height: 34px !important;
  border-radius: 8px !important;
  border: 1.5px solid #DDE7DF !important;
  background: var(--dl-white) !important;
  color: var(--dl-g-900) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important;
}
.dlims-print-btn:hover { border-color: var(--dl-a-500) !important; color: var(--dl-a-600) !important; background: var(--dl-a-50) !important; }

.dlims-photo-row {
  display: flex !important; align-items: center !important; gap: 18px !important;
  margin-bottom: 22px !important; padding-bottom: 22px !important;
  border-bottom: 1px solid #E3EBE5 !important;
}
.dlims-avatar { width: 78px !important; height: 78px !important; border-radius: 50% !important; object-fit: cover !important; border: 3px solid var(--dl-g-100) !important; flex-shrink: 0 !important; background: var(--dl-g-50) !important; }
.dlims-avatar-ph {
  width: 78px !important; height: 78px !important; border-radius: 50% !important; background: var(--dl-g-50) !important; border: 3px solid var(--dl-g-100) !important;
  flex-shrink: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--dl-g-200) !important;
}
.dlims-photo-name { font-family: var(--dl-f-head) !important; font-size: 19px !important; font-weight: 800 !important; color: var(--dl-g-900) !important; line-height: 1.3 !important; }
.dlims-photo-meta { font-size: 13px !important; color: var(--dl-muted) !important; margin-top: 4px !important; }

.dlims-sec-head { display: flex !important; align-items: center !important; gap: 11px !important; margin-bottom: 14px !important; }
.dlims-sec-icon {
  width: 28px !important; height: 28px !important; border-radius: 50% !important; background: var(--dl-g-900) !important; color: var(--dl-white) !important;
  display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
}
.dlims-sec-title { font-family: var(--dl-f-head) !important; font-size: 13.5px !important; font-weight: 700 !important; color: var(--dl-a-600) !important; }
.dlims-divider { border: 0 !important; height: 1px !important; margin: 20px 0 !important; background: linear-gradient(90deg, transparent, #D8E5DC, #D8E5DC, transparent) !important; }

.dlims-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 16px 14px !important; }
.dlims-di .k { font-size: 11.5px !important; color: var(--dl-muted) !important; margin-bottom: 4px !important; }
.dlims-di .v { font-family: var(--dl-f-head) !important; font-weight: 700 !important; font-size: 14px !important; line-height: 1.4 !important; color: var(--dl-g-900) !important; word-break: break-word !important; }
.dlims-di .v.mono { font-family: var(--dl-f-mono) !important; font-size: 12.5px !important; letter-spacing: .04em !important; }
.dlims-di .v.valid-txt   { color: var(--dl-g-500) !important; }
.dlims-di .v.expired-txt { color: var(--dl-err-ink) !important; }

.dlims-veh-list { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.dlims-veh-chip {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  font-size: 12px !important; font-weight: 600 !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  border: 1.5px solid #DDE7DF !important;
}
.dlims-veh-chip.allowed { background: var(--dl-g-50) !important; border-color: var(--dl-g-100) !important; color: var(--dl-g-700) !important; }
.dlims-veh-chip.blocked { background: #F7F8F9 !important; color: #9AA5AC !important; text-decoration: line-through !important; }

.dlims-qr-wrap { display: flex !important; justify-content: center !important; padding: 10px 0 !important; }

.dlims-res-actions { display: flex !important; gap: 10px !important; margin-top: 24px !important; padding-top: 18px !important; border-top: 1px solid #EDF3EE !important; }
.dlims-act-btn {
  flex: 1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
  padding: 12px 14px !important;
  border-radius: 999px !important;
  font-family: var(--dl-f-head) !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  cursor: pointer !important;
  border: none !important;
  transition: transform .18s var(--dl-ease), box-shadow .2s var(--dl-ease) !important;
}
.dlims-act-btn--primary { background: linear-gradient(135deg, var(--dl-g-900), var(--dl-g-700)) !important; color: var(--dl-white) !important; box-shadow: var(--dl-sh-sm) !important; }
.dlims-act-btn--primary:hover { transform: translateY(-2px) !important; box-shadow: var(--dl-sh-md) !important; }
.dlims-act-btn--secondary { background: var(--dl-white) !important; color: var(--dl-g-900) !important; border: 1.5px solid #DDE7DF !important; }
.dlims-act-btn--secondary:hover { border-color: var(--dl-a-500) !important; color: var(--dl-a-600) !important; }
.dlims-act-btn:disabled { opacity: .55 !important; cursor: wait !important; }

.dlims-privacy-note { text-align: center !important; font-size: 11px !important; color: var(--dl-muted) !important; margin-top: 12px !important; }

/* ---- Error card ---- */
.dlims-err-alert { display: flex !important; gap: 16px !important; align-items: flex-start !important; }
.dlims-err-icon {
  width: 44px !important; height: 44px !important; border-radius: 50% !important;
  background: var(--dl-err-bg) !important; border: 1.5px solid var(--dl-err-bd) !important; color: var(--dl-err-ink) !important;
  display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
}
.dlims-err-body { flex: 1 !important; padding-top: 2px !important; }
.dlims-err-title { font-family: var(--dl-f-head) !important; font-weight: 700 !important; font-size: 16px !important; color: var(--dl-g-900) !important; margin: 0 0 6px !important; }
.dlims-err-msg { font-size: 14px !important; line-height: 1.65 !important; color: var(--dl-ink) !important; margin: 0 !important; }
.dlims-err-official {
  margin-top: 16px !important;
  background: var(--dl-g-50) !important;
  border: 1px solid var(--dl-g-100) !important;
  border-radius: var(--dl-r-sm) !important;
  padding: 12px 14px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--dl-g-900) !important;
}
.dlims-err-official a { color: var(--dl-g-600) !important; font-weight: 700 !important; text-decoration: none !important; }
.dlims-err-official a:hover { text-decoration: underline !important; }
.dlims-err-actions { display: flex !important; gap: 10px !important; margin-top: 14px !important; flex-wrap: wrap !important; }
.dlims-retry-link {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  border: 1.5px solid #DDE7DF !important;
  background: var(--dl-white) !important;
  color: var(--dl-g-900) !important;
  font-family: var(--dl-f-head) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.dlims-retry-link:hover { border-color: var(--dl-a-500) !important; color: var(--dl-a-600) !important; }

/* ---- Responsive ---- */
@media (max-width: 680px) {
  .dlims-grid { grid-template-columns: 1fr 1fr !important; }
  .dlims-pill { min-width: 100px !important; font-size: 11.5px !important; }
}
@media (max-width: 480px) {
  .dlims-card { padding: 20px 16px !important; }
  .dlims-grid { grid-template-columns: 1fr !important; }
  .dlims-res-actions { flex-direction: column !important; }
  h2.dlims-h { font-size: 21px !important; }
}
@media print {
  .dlims-res-actions, .dlims-privacy-note, .dlims-print-btn { display: none !important; }
  .dlims-result-card { box-shadow: none !important; border: 1px solid #DDE7DF !important; animation: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .dlims-tools-scope *, .dlims-tools-scope *::before, .dlims-tools-scope *::after { animation: none !important; transition: none !important; }
}

/* =========================================================================
   Forceful theme-override layer.

   `all: revert` at the top of this file clears most theme interference,
   but a handful of themes/page builders push button, link, list and
   heading styling back on with their own !important rules. The block
   below re-asserts the plugin's intended look for exactly those elements,
   with !important of its own, so the plugin always renders the same way
   regardless of the active theme's global styles / color palette.
   ========================================================================= */
.dlims-tools-scope button,
.dlims-tools-scope input {
  font-family: inherit !important;
  cursor: pointer !important;
}
.dlims-tools-scope svg { display: inline-block !important; vertical-align: middle !important; }
.dlims-tools-scope img { max-width: 100% !important; }
.dlims-tools-scope ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }

.dlims-tools-scope h2.dlims-h {
  font-family: var(--dl-f-head) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--dl-g-900) !important;
  margin: 0 0 18px !important;
  line-height: 1.25 !important;
  display: block !important;
}
.dlims-tools-scope .dlims-submit {
  background: linear-gradient(135deg, var(--dl-a-500), var(--dl-a-600)) !important;
  color: var(--dl-white) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(212,144,10,.25) !important;
  width: 100% !important;
  text-align: center !important;
}
.dlims-tools-scope .dlims-submit:disabled { background: #DDE2E5 !important; color: #9AADB4 !important; box-shadow: none !important; }
.dlims-tools-scope .dlims-input {
  width: 100% !important;
  background: var(--dl-white) !important;
  color: var(--dl-ink) !important;
  border: 1.5px solid #CDD9D0 !important;
  border-radius: var(--dl-r-sm) !important;
}
.dlims-tools-scope a { color: var(--dl-g-600) !important; text-decoration: none !important; cursor: pointer !important; }
.dlims-tools-scope a:hover { text-decoration: underline !important; }
.dlims-tools-scope .dlims-act-btn--primary { background: linear-gradient(135deg, var(--dl-g-900), var(--dl-g-700)) !important; color: var(--dl-white) !important; }
.dlims-tools-scope .dlims-act-btn--secondary { background: var(--dl-white) !important; color: var(--dl-g-900) !important; border: 1.5px solid #DDE7DF !important; }
.dlims-tools-scope .dlims-card { background: var(--dl-white) !important; border: 1px solid #DDE7DF !important; border-radius: var(--dl-r) !important; box-shadow: var(--dl-sh-sm) !important; }

/* ---- Bold/big official-portal link, shown only when no data comes back ---- */
.dlims-err-official--big {
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  color: var(--dl-g-900) !important;
  background: var(--dl-a-50) !important;
  border: 2px solid var(--dl-a-500) !important;
  padding: 16px 18px !important;
}
.dlims-err-official--big a {
  font-size: 17px !important;
  font-weight: 900 !important;
  text-decoration: underline !important;
  color: var(--dl-a-600) !important;
}

/* =========================================================================
   e-License result card — reproduced EXACTLY (class names, structure,
   colors and header/background artwork) from the previously-validated
   standalone reference tool (dlims_elicense.php), scoped under
   .dlims-tools-scope so it can coexist with the rest of this plugin.
   ========================================================================= */
.dlims-tools-scope .elc-wrap { display: flex !important; flex-direction: column !important; align-items: center !important; }

.dlims-tools-scope .elc {
  width: 100% !important;
  max-width: 430px !important;
  background-image: url('../img/elc-card-bg.jpg') !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-color: #F4F7F5 !important;
  border: 1.5px solid #B8CCE0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(0,20,70,.14) !important;
  font-family: 'Outfit','Segoe UI',sans-serif !important;
  padding: 0 !important;
}

.dlims-tools-scope .elc-hd {
  background-image: url('../img/elc-header-logo.png') !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  width: 100% !important;
  aspect-ratio: 860/287 !important;
  display: block !important;
}

.dlims-tools-scope .elc-ph { display: flex !important; justify-content: center !important; padding: 16px 0 10px !important; background: transparent !important; }
.dlims-tools-scope .elc-ring {
  width: 128px !important; height: 128px !important; border-radius: 50% !important;
  border: 3px solid #A8C8E0 !important;
  overflow: hidden !important; background: #E4EEF6 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
}
.dlims-tools-scope .elc-ring img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.dlims-tools-scope .elc-ring .no-photo { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; color: #A8C8E0 !important; }

.dlims-tools-scope .elc-id { text-align: center !important; padding: 8px 18px 4px !important; background: transparent !important; }
.dlims-tools-scope .elc-no { font-size: 19px !important; font-weight: 800 !important; color: #2A9EC0 !important; letter-spacing: .06em !important; margin-bottom: 5px !important; }
.dlims-tools-scope .elc-nm { font-size: 16px !important; font-weight: 800 !important; color: #1B3F72 !important; letter-spacing: .01em !important; line-height: 1.25 !important; margin-bottom: 3px !important; }
.dlims-tools-scope .elc-sd { font-size: 12px !important; font-weight: 500 !important; color: #888 !important; margin-bottom: 10px !important; }

.dlims-tools-scope .elc-dt { border: none !important; border-top: 2px dashed #C0D8EA !important; margin: 0 14px !important; }

.dlims-tools-scope .elc-ir { display: flex !important; background: transparent !important; padding: 9px 8px !important; }
.dlims-tools-scope .elc-ic { flex: 1 !important; display: flex !important; align-items: flex-start !important; gap: 7px !important; padding: 2px 6px !important; min-width: 0 !important; }
.dlims-tools-scope .elc-ic + .elc-ic { border-left: 1.5px dashed #C0D8EA !important; }
.dlims-tools-scope .elc-ico {
  width: 26px !important; height: 26px !important; border-radius: 6px !important;
  border: 1.5px solid rgba(168,200,224,.7) !important; background: rgba(240,247,252,.85) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; color: #4A7A9B !important; margin-top: 2px !important;
}
.dlims-tools-scope .elc-tx { display: flex !important; flex-direction: column !important; gap: 2px !important; flex: 1 !important; min-width: 0 !important; }
.dlims-tools-scope .elc-lb { font-size: 9px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #8AA4B8 !important; }
.dlims-tools-scope .elc-vl { font-size: 12.5px !important; font-weight: 700 !important; color: #1A2030 !important; line-height: 1.3 !important; word-break: break-word !important; }

.dlims-tools-scope .elc-ar { display: flex !important; align-items: flex-start !important; gap: 7px !important; background: transparent !important; padding: 9px 14px 14px !important; }
.dlims-tools-scope .elc-ar .elc-ico { flex-shrink: 0 !important; margin-top: 2px !important; }
.dlims-tools-scope .elc-ar .elc-tx { flex: 1 !important; min-width: 0 !important; }
.dlims-tools-scope .elc-ar .elc-vl { font-size: 12px !important; font-weight: 600 !important; }

.dlims-tools-scope .elc-ln { border: none !important; border-top: 1px solid #D0E2EE !important; }

.dlims-tools-scope .elc-vh { background: transparent !important; padding: 10px 6px 8px !important; }
.dlims-tools-scope .elc-vg { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 5px 3px !important; }
.dlims-tools-scope .elc-vc { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 4px !important; padding: 6px 2px 5px !important; border-radius: 8px !important; border: 1.5px solid transparent !important; }
.dlims-tools-scope .elc-vc.ok { border-color: rgba(186,216,248,.8) !important; background: rgba(243,249,255,.75) !important; }
.dlims-tools-scope .elc-vc.no { border-color: rgba(228,234,240,.7) !important; background: rgba(246,247,249,.6) !important; opacity: .7 !important; }
.dlims-tools-scope .elc-vc img { width: 44px !important; height: 32px !important; object-fit: contain !important; display: block !important; }
.dlims-tools-scope .elc-vc span { font-size: 8.5px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .04em !important; text-align: center !important; line-height: 1.2 !important; color: #1A2030 !important; }
.dlims-tools-scope .elc-vc.no span { color: #999 !important; }

.dlims-tools-scope .elc-bt { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; background: transparent !important; padding: 8px 14px 6px !important; border-top: 1px solid #D0E2EE !important; gap: 8px !important; }
.dlims-tools-scope .elc-qr { width: 52px !important; height: 52px !important; border: 1px solid #C4D8E8 !important; border-radius: 3px !important; overflow: hidden !important; background: rgba(255,255,255,.92) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.dlims-tools-scope .elc-qr-in { position: relative !important; transform: scale(.9) !important; transform-origin: top left !important; line-height: 0 !important; font-size: 0 !important; }
.dlims-tools-scope .elc-sg { display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 2px !important; }
.dlims-tools-scope .elc-sg img { height: 32px !important; max-width: 100px !important; object-fit: contain !important; }
.dlims-tools-scope .elc-sg p { font-size: 9px !important; font-weight: 600 !important; color: #777 !important; text-align: right !important; line-height: 1.4 !important; }

.dlims-tools-scope .elc-bn { background: #3579C0 !important; color: #FFF !important; text-align: center !important; padding: 9px 14px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; }

.dlims-tools-scope .elc-acts { display: flex !important; gap: 8px !important; margin-top: 12px !important; width: 100% !important; max-width: 430px !important; }
.dlims-tools-scope .a-btn {
  flex: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important;
  padding: 11px 12px !important; border-radius: 999px !important;
  font-family: 'Outfit',sans-serif !important; font-weight: 700 !important; font-size: 12.5px !important; letter-spacing: .02em !important;
  cursor: pointer !important; border: none !important;
  transition: transform .18s,box-shadow .18s,background .18s,border-color .18s,color .18s !important;
}
.dlims-tools-scope .a-btn svg { flex-shrink: 0 !important; }
.dlims-tools-scope .a-btn.p { background: linear-gradient(135deg,#0A2540,#1A5FA8) !important; color: #FFF !important; box-shadow: 0 2px 8px rgba(5,15,28,.12) !important; }
.dlims-tools-scope .a-btn.p:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 18px rgba(5,15,28,.16) !important; }
.dlims-tools-scope .a-btn.s { background: #FFF !important; color: #0A2540 !important; border: 1.5px solid #D1D9E6 !important; }
.dlims-tools-scope .a-btn.s:hover { border-color: #C9A227 !important; color: #9A6C00 !important; background: #FFFBEB !important; }
.dlims-tools-scope .a-btn:active { transform: translateY(1px) !important; }
.dlims-tools-scope .a-btn:disabled { opacity: .5 !important; cursor: wait !important; transform: none !important; }
.dlims-tools-scope .priv { text-align: center !important; font-size: 11px !important; color: #6B7280 !important; margin-top: 7px !important; }

@media (max-width: 460px) {
  .dlims-tools-scope .elc { border-radius: 10px !important; }
  .dlims-tools-scope .elc-no { font-size: 16px !important; }
  .dlims-tools-scope .elc-nm { font-size: 14px !important; }
  .dlims-tools-scope .elc-vc img { width: 36px !important; height: 26px !important; }
  .dlims-tools-scope .elc-vc span { font-size: 7.5px !important; }
  .dlims-tools-scope .elc-acts { flex-direction: column !important; }
}
@media (max-width: 320px) { .dlims-tools-scope .elc-vc img { width: 30px !important; height: 22px !important; } }

@media print {
  .dlims-tools-scope .elc-acts, .dlims-tools-scope .priv { display: none !important; }
  .dlims-tools-scope .elc { box-shadow: none !important; border: 1px solid #ccc !important; border-radius: 8px !important; }
}
