/* Ask Scout — styles from the Apex website (assets/styles.css), recolored to
   Walsh Mechanical brand blue #0060A9. Variables are scoped to Scout only. */
.scout-dock, .scout-panel {
  --navy: #002B4D; --navy-dark: #00457A; --yellow: #0060A9; --heritage-blue: #9CC7EA;
  --blue-gradient: #0060A9; --gray-100: #F4F8FC; --gray-200: #D6E0EA; --gray-300: #B9CBDC;
  --gray-text: #5B6B7A; --rich-black: #1C2733; --white: #FFFFFF;
  --s1: 8px; --s2: 16px; --s3: 24px; --s5: 40px; --radius: 8px; --radius-lg: 16px;
  --shadow: 0 2px 8px rgba(0,43,77,.10); --shadow-lg: 0 8px 24px rgba(0,43,77,.22);
  --font-display: inherit;
}
.scout-launcher { color: #FFFFFF; border-color: #FFFFFF; }
.scout-chip:hover, .scout-form input:focus-visible { border-color: #0060A9; outline-color: #0060A9; }
/* ============================ Ask Scout ================================= */
/* Site-wide retrieval assistant. Yellow launcher with navy text — the same
   contrast rule as every other yellow surface. */

.scout-sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

/* The dock holds the launcher plus its minimize control. Collapsed, it shrinks
   to a small circle so it cannot sit over page text. State persists. */
.scout-dock {
  position: fixed; right: var(--s3); bottom: var(--s3); z-index: 300;
  display: flex; align-items: center; gap: 6px;
}

.scout-launcher {
  font-family: var(--font-display);
  display: flex; align-items: center; gap: var(--s1);
  background: var(--yellow); color: var(--navy);
  border: 2px solid var(--navy); border-radius: 9999px;
  padding: 14px var(--s3);
  font: inherit; font-weight: 700; font-size: 0.9375rem;
  cursor: pointer; box-shadow: var(--shadow-lg);
}
.scout-launcher:hover { background: var(--navy-dark); }
.scout-launcher-icon { font-size: 1.125rem; line-height: 1; }

.scout-collapse {
  width: 28px; height: 28px; flex: none;
  background: var(--navy); color: var(--white);
  border: 2px solid var(--white); border-radius: 50%;
  font: inherit; font-size: 1rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: var(--shadow);
}
.scout-collapse:hover { background: var(--navy-dark); }

/* Collapsed: icon-only circle, no label, minimal footprint. */
.scout-dock.is-collapsed .scout-launcher {
  padding: 0; width: 48px; height: 48px;
  justify-content: center; border-radius: 50%;
}
.scout-dock.is-collapsed .scout-launcher-label { display: none; }
.scout-dock.is-collapsed { gap: 4px; }
.scout-dock.is-collapsed .scout-collapse { width: 22px; height: 22px; font-size: 0.8125rem; }

.scout-panel {
  position: fixed; right: var(--s3); bottom: 88px; z-index: 301;
  width: 400px; max-width: calc(100vw - var(--s5));
  max-height: min(640px, calc(100vh - 160px));
  background: var(--white);
  border: 1px solid var(--gray-200); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  display: flex; flex-direction: column; overflow: hidden;
}

.scout-head {
  background: var(--navy); color: var(--white);
  padding: var(--s2) var(--s3);
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s2);
}
.scout-head strong { display: block; font-size: 1.0625rem; }
.scout-head span { display: block; font-size: 0.8125rem; color: var(--heritage-blue); margin-top: 2px; }
.scout-head-actions { display: flex; align-items: center; gap: 4px; flex: none; }
.scout-min, .scout-close {
  background: none; border: 0; color: var(--white);
  line-height: 1; cursor: pointer; padding: 0 var(--s1);
}
.scout-min { font-size: 1.25rem; }
.scout-close { font-size: 1.5rem; }
.scout-min:hover, .scout-close:hover { color: var(--yellow); }

.scout-log {
  flex: 1; overflow-y: auto; padding: var(--s3);
  display: flex; flex-direction: column; gap: var(--s2);
}
.scout-msg { border-radius: var(--radius); padding: var(--s2); font-size: 0.9375rem; }
.scout-msg p + p { margin-top: var(--s1); }
.scout-bot { background: var(--gray-100); color: #303643; }
.scout-you { background: var(--navy); color: var(--white); align-self: flex-end; max-width: 85%; }
.scout-bot a { color: var(--blue-gradient); font-weight: 700; }

.scout-cite {
  font-size: 0.8125rem; color: var(--gray-text);
  border-top: 1px solid var(--gray-200); padding-top: var(--s1);
}
.scout-cite span {
  display: inline-block; background: var(--navy); color: var(--white);
  font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; padding: 2px 6px; border-radius: 4px; margin-right: 6px;
}
.scout-more { font-size: 0.8125rem; color: var(--gray-text); font-weight: 700; }

.scout-chips { display: flex; flex-wrap: wrap; gap: var(--s1); margin-top: var(--s1); }
.scout-chip {
  background: var(--white); color: var(--navy);
  border: 1px solid var(--gray-300); border-radius: 9999px;
  padding: 6px 12px; font: inherit; font-size: 0.8125rem; cursor: pointer;
  text-align: left;
}
.scout-chip:hover { border-color: var(--heritage-blue); background: var(--gray-100); }

.scout-form {
  display: flex; gap: var(--s1); padding: var(--s2) var(--s3);
  border-top: 1px solid var(--gray-200); flex-wrap: wrap;
}
.scout-form input {
  flex: 1; min-width: 0; font: inherit; font-size: 0.9375rem;
  padding: 12px var(--s2);
  border: 1px solid var(--gray-300); border-radius: var(--radius);
  color: var(--rich-black);
}
.scout-form input:focus-visible { outline: 3px solid var(--heritage-blue); outline-offset: 1px; }
.scout-form button[type="submit"] {
  background: var(--navy); color: var(--white); border: 0;
  border-radius: var(--radius); padding: 12px var(--s3);
  font: inherit; font-weight: 700; cursor: pointer;
}
.scout-form button[type="submit"]:hover { background: var(--navy-dark); }
.scout-error { width: 100%; color: #B4441F; font-size: 0.8125rem; font-weight: 700; }

.scout-foot {
  padding: var(--s2) var(--s3); background: var(--gray-100);
  font-size: 0.75rem; color: var(--gray-text);
  border-top: 1px solid var(--gray-200);
}

/* In-page Scout entry point */
.scout-inline {
  background: var(--navy);
  background-image: linear-gradient(120deg, var(--navy) 0%, var(--blue-gradient) 100%);
  color: var(--white); border-radius: var(--radius-lg); padding: var(--s5);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s3); flex-wrap: wrap;
}
.scout-inline h2 { color: var(--white); }
.scout-inline p { color: rgba(255,255,255,0.92); max-width: 58ch; margin-top: var(--s1); }

@media (max-width: 560px) {
  .scout-dock { right: var(--s2); bottom: var(--s2); }
  .scout-launcher { padding: 12px var(--s2); }
  .scout-panel {
    right: var(--s1); left: var(--s1); bottom: 76px;
    width: auto; max-width: none;
    max-height: calc(100vh - 140px);
  }
}

@media print {
  .scout-dock, .scout-panel { display: none; }
  body { padding-bottom: 0; }
}
/* Scout panel must respect the hidden attribute. */
.scout-panel[hidden] { display: none !important; }
