.lw-tracker {
  --lw-bg: #edf5f8;
  --lw-card: #ffffff;
  --lw-ink: #102738;
  --lw-muted: #657d8b;
  --lw-blue: #1769a0;
  --lw-blue-soft: #79bfe4;
  --lw-line: #d5e2e8;
  --lw-success: #176b52;
  --lw-success-bg: #e9f5f0;
  background: var(--lw-bg);
  box-sizing: border-box;
  color: var(--lw-ink);
  font-family: Arial, Helvetica, sans-serif;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

.lw-tracker *, .lw-tracker *::before, .lw-tracker *::after { box-sizing: border-box; }
.lw-tracker [hidden] { display: none !important; }

.lw-tracker__inner {
  display: grid;
  gap: clamp(100px, 9vw, 170px);
  grid-template-columns: minmax(440px, 520px) minmax(620px, 720px);
  justify-content: center;
  margin: 0 auto;
  max-width: 1600px;
  min-height: 710px;
  padding: clamp(80px, 8vw, 135px) clamp(28px, 4vw, 70px);
  width: 100%;
}

.lw-tracker__search { align-self: center; }
.lw-tracker__eyebrow {
  align-items: center;
  color: var(--lw-blue);
  display: flex;
  font-size: 13px;
  font-weight: 700;
  gap: 14px;
  letter-spacing: .16em;
  margin: 0 0 42px;
  text-transform: uppercase;
}
.lw-tracker__eyebrow span { background: var(--lw-blue); height: 2px; width: 42px; }
.lw-tracker h2 { font-size: clamp(43px, 4vw, 63px); font-weight: 400; letter-spacing: -.045em; line-height: 1.04; margin: 0 0 38px; }
.lw-tracker__intro { color: var(--lw-muted); font-size: 18px; line-height: 1.75; margin: 0 0 42px; max-width: 720px; }
.lw-tracker__form label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 13px; }
.lw-tracker__field-row { display: grid; grid-template-columns: 58px minmax(160px, 1fr) auto; min-height: 76px; }
.lw-tracker__search-icon { align-items: center; background: #fff; border: 1px solid #c7d9e1; border-right: 0; border-radius: 8px 0 0 8px; color: #7190a0; display: flex; justify-content: center; }
.lw-tracker__search-icon svg, .lw-tracker__clock svg { fill: none; height: 27px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 27px; }
.lw-tracker input { appearance: none; background: #fff; border: 1px solid #c7d9e1; border-left: 0; border-radius: 0; color: var(--lw-ink); font: inherit; font-size: 19px; min-width: 0; outline: none; padding: 0 18px 0 4px; width: 100%; }
.lw-tracker input::placeholder { color: #8da1ad; }
.lw-tracker input:focus { border-color: var(--lw-blue); box-shadow: inset 0 1px 0 rgba(23,105,160,.08), inset 0 -1px 0 rgba(23,105,160,.08); }
.lw-tracker__field-row:focus-within .lw-tracker__search-icon { border-color: var(--lw-blue); color: var(--lw-blue); }
.lw-tracker button { background: var(--lw-blue); border: 0; border-radius: 0 8px 8px 0; color: #fff; cursor: pointer; font: inherit; font-size: 15px; font-weight: 700; min-width: 190px; padding: 0 26px; transition: background .18s ease, transform .18s ease; }
.lw-tracker button:hover { background: #105983; }
.lw-tracker button:active { transform: translateY(1px); }
.lw-tracker button:disabled { cursor: wait; opacity: .7; }
.lw-tracker__message { color: #a13a3a; font-size: 13px; min-height: 20px; margin: 11px 0 0; }

.lw-tracker__details { background: rgba(255,255,255,.68); border: 1px solid var(--lw-line); border-radius: 10px; margin-top: 26px; padding: 22px 24px; }
.lw-tracker__details-heading { align-items: baseline; border-bottom: 1px solid var(--lw-line); display: flex; justify-content: space-between; padding-bottom: 15px; }
.lw-tracker__details-heading span { color: var(--lw-muted); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lw-tracker__details-heading strong { font-size: 16px; }
.lw-tracker__details dl { display: grid; gap: 0 28px; grid-template-columns: 1fr 1fr; margin: 8px 0 0; }
.lw-tracker__details dl div { border-bottom: 1px solid rgba(213,226,232,.8); padding: 12px 0; }
.lw-tracker__details dl div:last-child { grid-column: 1 / -1; }
.lw-tracker__details dt { color: var(--lw-muted); font-size: 11px; margin-bottom: 5px; }
.lw-tracker__details dd { font-size: 13px; font-weight: 700; margin: 0; }

.lw-tracker__status { align-self: center; background: var(--lw-card); border-radius: 12px; box-shadow: 0 25px 55px rgba(29,75,98,.13); min-height: 445px; padding: clamp(34px, 4vw, 48px); }
.lw-tracker__status.is-empty { align-items: center; display: flex; justify-content: center; }
.lw-tracker__empty { margin: auto; max-width: 410px; padding: 36px 12px; text-align: center; }
.lw-tracker__empty-icon { align-items: center; background: #eaf4f9; border-radius: 16px; color: var(--lw-blue); display: inline-flex; height: 76px; justify-content: center; margin-bottom: 25px; width: 76px; }
.lw-tracker__empty-icon svg { fill: none; height: 34px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 34px; }
.lw-tracker__empty>span:not(.lw-tracker__empty-icon) { color: #8097a4; display: block; font-size: 11px; font-weight: 700; letter-spacing: .13em; margin-bottom: 12px; text-transform: uppercase; }
.lw-tracker__empty h3 { color: var(--lw-ink); font-size: 24px; margin: 0 0 15px; }
.lw-tracker__empty p { color: var(--lw-muted); font-size: 13px; line-height: 1.65; margin: 0; }
.lw-tracker__result { width: 100%; }
.lw-tracker__status-top { align-items: center; border-bottom: 1px solid var(--lw-line); display: flex; justify-content: space-between; padding-bottom: 30px; }
.lw-tracker__status-kicker { color: #8097a4; display: block; font-size: 11px; letter-spacing: .12em; margin-bottom: 13px; text-transform: uppercase; }
.lw-tracker__status h3 { font-size: 20px; margin: 0; }
.lw-tracker__badge { background: var(--lw-success-bg); border-radius: 999px; color: var(--lw-success); font-size: 12px; font-weight: 700; padding: 11px 17px; white-space: nowrap; }

.lw-tracker__progress { margin: 47px 10px 42px; position: relative; }
.lw-tracker__progress-line { background: var(--lw-line); height: 3px; left: 11%; position: absolute; right: 11%; top: 12px; }
.lw-tracker__progress-line span { background: var(--lw-blue); display: block; height: 100%; transition: width .45s ease; width: 33.333%; }
.lw-tracker__progress ol { display: grid; grid-template-columns: repeat(4,1fr); list-style: none; margin: 0; padding: 0; position: relative; }
.lw-tracker__progress li { align-items: center; color: #8195a0; display: flex; flex-direction: column; font-size: 12px; gap: 14px; text-align: center; }
.lw-tracker__progress i { align-items: center; background: #e9f0f3; border-radius: 50%; color: #8aa0ab; display: flex; font-size: 11px; font-style: normal; height: 25px; justify-content: center; width: 25px; }
.lw-tracker__progress li.is-complete i, .lw-tracker__progress li.is-current i { background: var(--lw-blue); color: transparent; position: relative; }
.lw-tracker__progress li.is-complete i::after, .lw-tracker__progress li.is-current i::after { color: #fff; content: '✓'; font-size: 13px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); }
.lw-tracker__progress li.is-current span { color: var(--lw-ink); font-weight: 700; }
.lw-tracker__progress[data-step="1"] .lw-tracker__progress-line span { width: 0; }
.lw-tracker__progress[data-step="2"] .lw-tracker__progress-line span { width: 33.333%; }
.lw-tracker__progress[data-step="3"] .lw-tracker__progress-line span { width: 66.666%; }
.lw-tracker__progress[data-step="4"] .lw-tracker__progress-line span { width: 100%; }

.lw-tracker__notice { align-items: flex-start; background: #f1f6f8; border-radius: 8px; display: flex; gap: 20px; padding: 23px 25px; }
.lw-tracker__clock { color: var(--lw-blue); flex: 0 0 auto; }
.lw-tracker__notice strong { color: var(--lw-blue); display: block; font-size: 14px; margin: 2px 0 9px; }
.lw-tracker__notice p { color: var(--lw-muted); font-size: 12px; line-height: 1.55; margin: 0; }

@media (max-width: 1240px) {
  .lw-tracker__inner { grid-template-columns: 1fr; max-width: 850px; }
  .lw-tracker__search, .lw-tracker__status { width: 100%; }
}

@media (max-width: 640px) {
  .lw-tracker__inner { gap: 48px; padding: 70px 20px; }
  .lw-tracker h2 { font-size: 43px; }
  .lw-tracker__intro { font-size: 16px; }
  .lw-tracker__field-row { grid-template-columns: 52px minmax(0,1fr); }
  .lw-tracker button { border-radius: 8px; grid-column: 1 / -1; margin-top: 10px; min-height: 56px; width: 100%; }
  .lw-tracker__search-icon { min-height: 64px; }
  .lw-tracker input { min-height: 64px; }
  .lw-tracker__details dl { grid-template-columns: 1fr; }
  .lw-tracker__details dl div:last-child { grid-column: auto; }
  .lw-tracker__status { padding: 27px 18px; }
  .lw-tracker__status-top { align-items: flex-start; gap: 20px; }
  .lw-tracker__status h3 { font-size: 17px; }
  .lw-tracker__badge { font-size: 10px; padding: 9px 11px; }
  .lw-tracker__progress { margin-left: 0; margin-right: 0; }
  .lw-tracker__progress li { font-size: 10px; }
  .lw-tracker__notice { padding: 20px 17px; }
}

/*
 * Astra/Gutenberg compatibility layer.
 * Astra can apply global heading, form and button colours after plugin styles.
 * These selectors intentionally have higher specificity so the tracker remains
 * readable regardless of the active page colour palette.
 */
.entry-content .lw-tracker,
.wp-site-blocks .lw-tracker,
.lw-tracker {
  color: var(--lw-ink) !important;
}

.entry-content .lw-tracker .lw-tracker__search h2,
.wp-site-blocks .lw-tracker .lw-tracker__search h2,
.lw-tracker .lw-tracker__search h2 {
  color: var(--lw-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(43px, 3.25vw, 58px) !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  line-height: 1.04 !important;
  margin: 0 0 32px !important;
  text-transform: none !important;
}

.entry-content .lw-tracker .lw-tracker__status h3,
.wp-site-blocks .lw-tracker .lw-tracker__status h3,
.lw-tracker .lw-tracker__status h3 {
  color: var(--lw-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  text-transform: none !important;
}

.entry-content .lw-tracker p,
.wp-site-blocks .lw-tracker p,
.lw-tracker p {
  text-transform: none !important;
}

.entry-content .lw-tracker .lw-tracker__intro,
.wp-site-blocks .lw-tracker .lw-tracker__intro,
.lw-tracker .lw-tracker__intro {
  color: var(--lw-muted) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  margin: 0 0 38px !important;
}

.entry-content .lw-tracker .lw-tracker__form label,
.wp-site-blocks .lw-tracker .lw-tracker__form label,
.lw-tracker .lw-tracker__form label {
  color: var(--lw-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 13px !important;
  text-transform: none !important;
}

.entry-content .lw-tracker input[type="text"],
.wp-site-blocks .lw-tracker input[type="text"],
.lw-tracker input[type="text"] {
  background: #fff !important;
  border-color: #c7d9e1 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--lw-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  height: 76px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  min-height: 76px !important;
  padding: 0 18px 0 4px !important;
}

.entry-content .lw-tracker input[type="text"]::placeholder,
.wp-site-blocks .lw-tracker input[type="text"]::placeholder,
.lw-tracker input[type="text"]::placeholder {
  color: #8da1ad !important;
  opacity: 1 !important;
}

.entry-content .lw-tracker .lw-tracker__search-icon,
.wp-site-blocks .lw-tracker .lw-tracker__search-icon,
.lw-tracker .lw-tracker__search-icon {
  background: #fff !important;
  height: 76px !important;
  min-height: 76px !important;
}

.entry-content .lw-tracker .lw-tracker__field-row button,
.wp-site-blocks .lw-tracker .lw-tracker__field-row button,
.lw-tracker .lw-tracker__field-row button {
  background: var(--lw-blue) !important;
  border: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  height: 76px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  min-height: 76px !important;
  padding: 0 26px !important;
  text-transform: none !important;
}

.entry-content .lw-tracker .lw-tracker__status,
.wp-site-blocks .lw-tracker .lw-tracker__status,
.lw-tracker .lw-tracker__status {
  color: var(--lw-ink) !important;
  height: auto !important;
  min-height: 460px !important;
  padding: 42px 46px !important;
}

.entry-content .lw-tracker .lw-tracker__notice p,
.wp-site-blocks .lw-tracker .lw-tracker__notice p,
.lw-tracker .lw-tracker__notice p {
  color: var(--lw-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  .entry-content .lw-tracker .lw-tracker__search h2,
  .wp-site-blocks .lw-tracker .lw-tracker__search h2,
  .lw-tracker .lw-tracker__search h2 { font-size: 42px !important; }

  .entry-content .lw-tracker .lw-tracker__field-row button,
  .wp-site-blocks .lw-tracker .lw-tracker__field-row button,
  .lw-tracker .lw-tracker__field-row button {
    border-radius: 8px !important;
    margin-top: 10px !important;
    width: 100% !important;
  }

  .entry-content .lw-tracker .lw-tracker__status,
  .wp-site-blocks .lw-tracker .lw-tracker__status,
  .lw-tracker .lw-tracker__status { padding: 27px 18px !important; }
}
