/* ============================================================
   Life discovery + quote panel  (life.html → #life-discovery)
   Owned by js/life-discovery.js. Every class is .ld- prefixed.
   Look: matches .pc-form on home-auto.html, white card, 2px #d4e1ee,
   radius 16, uppercase small labels, navy/gold accents.
   ============================================================ */

#life-discovery:empty { display:none; }

.ld-panel {
  position:relative;
  background:#fff;
  border:2px solid #d4e1ee;
  border-radius:16px;
  padding:1.2rem 1.3rem 1.4rem;
  margin-top:1.4rem;
  box-shadow:0 8px 24px rgba(13,45,74,.07);
  scroll-margin-top:90px;
  outline:none;
}
.ld-panel.ld-flash { animation:ldFlash 1.4s ease-out 1; }
@keyframes ldFlash {
  0%   { box-shadow:0 0 0 0 rgba(227,167,45,.0), 0 8px 24px rgba(13,45,74,.07); border-color:#d4e1ee; }
  25%  { box-shadow:0 0 0 6px rgba(227,167,45,.35), 0 8px 24px rgba(13,45,74,.07); border-color:var(--gold); }
  100% { box-shadow:0 0 0 0 rgba(227,167,45,0), 0 8px 24px rgba(13,45,74,.07); border-color:#d4e1ee; }
}

/* ---- header ---- */
.ld-head { display:flex; align-items:flex-start; gap:.8rem; padding-right:2.6rem; }
.ld-icon { font-size:1.7rem; line-height:1; margin-top:.1rem; }
.ld-kicker { display:block; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:800; color:var(--gold-ink); margin-bottom:.15rem; }
.ld-title { margin:0; color:var(--navy); font-size:1.35rem; line-height:1.15; }
.ld-line { margin:.35rem 0 0; font-size:.9rem; color:#555; line-height:1.45; }
.ld-line strong { color:var(--navy); }
.ld-close {
  position:absolute; top:.7rem; right:.7rem;
  width:2.1rem; height:2.1rem; border-radius:999px;
  border:2px solid #c9d7e5; background:#f4f8fb; color:var(--navy);
  font:inherit; font-size:1.25rem; font-weight:800; line-height:1; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .15s, border-color .15s;
}
.ld-close:hover { background:var(--navy); border-color:var(--navy); color:#fff; }

/* product switcher chips */
.ld-switch { display:flex; flex-wrap:wrap; gap:.4rem; margin:.9rem 0 0; }
.ld-switch-lbl { font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#6b7280; align-self:center; margin-right:.2rem; }
.ld-chip {
  font:inherit; font-size:.8rem; font-weight:700; color:var(--navy);
  background:#f4f8fb; border:2px solid #c9d7e5; border-radius:999px;
  padding:.32rem .75rem; cursor:pointer; line-height:1.2;
  transition:background .15s, border-color .15s, color .15s;
}
.ld-chip:hover { border-color:var(--navy); }
.ld-chip[aria-pressed="true"] { background:var(--navy); border-color:var(--navy); color:#fff; }

/* prefill strip from a tool */
.ld-strip {
  display:flex; align-items:flex-start; gap:.6rem; flex-wrap:wrap;
  margin:1rem 0 0; padding:.65rem .85rem;
  background:#fff7e6; border:1.5px solid rgba(227,167,45,.7); border-left:5px solid var(--gold);
  border-radius:10px; font-size:.88rem; color:#4a3a12; line-height:1.4;
}
.ld-strip .ld-strip-tag { font-weight:800; color:var(--navy); white-space:nowrap; }
.ld-strip .ld-strip-sum { flex:1 1 100%; color:#6b5a2b; font-size:.82rem; }
.ld-strip .ld-strip-clear { margin-left:auto; background:none; border:0; font:inherit; font-size:.78rem; font-weight:700; color:var(--navy); text-decoration:underline; cursor:pointer; padding:0; }

/* ---- steps ---- */
.ld-step { border-top:2px dashed #dbe5ef; margin-top:1.1rem; padding-top:1rem; }
.ld-step-h { display:flex; align-items:center; gap:.6rem; margin:0 0 .15rem; }
.ld-step-n {
  flex:0 0 auto; width:1.7rem; height:1.7rem; border-radius:999px;
  background:var(--navy); color:#fff; font-size:.8rem; font-weight:800;
  display:inline-flex; align-items:center; justify-content:center;
}
.ld-step-h h4 { margin:0; color:var(--navy); font-size:1.05rem; }
.ld-step-sub { margin:0 0 .4rem 2.3rem; font-size:.86rem; color:#555; }

/* discovery questions */
.ld-qs { display:grid; grid-template-columns:1fr; gap:.55rem .9rem; margin-top:.4rem; }
@media (min-width:820px) { .ld-qs { grid-template-columns:1fr 1fr; } .ld-q.ld-q-wide { grid-column:1 / -1; } }
.ld-q { padding:.55rem .1rem .35rem; }
.ld-q-label { display:block; font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--navy); margin:0 0 .15rem; }
.ld-q-label .ld-opt-tag { font-weight:700; text-transform:none; letter-spacing:0; color:#6b7280; margin-left:.3rem; }
.ld-why { display:block; font-size:.8rem; color:#6b7280; margin:0 0 .4rem; line-height:1.4; font-weight:400; text-transform:none; letter-spacing:0; }
.ld-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.ld-opt {
  font:inherit; font-size:.88rem; font-weight:700; color:#1d3d5c;
  background:#f4f8fb; border:2px solid #c9d7e5; border-radius:999px;
  padding:.42rem .85rem; cursor:pointer; line-height:1.2; text-align:left;
  transition:background .15s, border-color .15s, color .15s, transform .1s;
}
.ld-opt:hover { border-color:var(--navy); }
.ld-opt:active { transform:scale(.98); }
.ld-opt[aria-pressed="true"] { background:var(--navy); border-color:var(--navy); color:#fff; }
.ld-opt[aria-pressed="true"]::before { content:"✓ "; font-weight:900; }
.ld-panel .ld-select,
.ld-panel .ld-text,
.ld-panel .ld-input {
  width:100%; padding:.5rem .6rem; border:1.5px solid #c9d7e5; border-radius:8px;
  font:inherit; font-size:.92rem; background:#fff; color:#222; min-height:0;
}
.ld-panel .ld-select { max-width:420px; }
.ld-num { position:relative; max-width:260px; }
.ld-num .ld-num-pre { position:absolute; left:.6rem; top:50%; transform:translateY(-50%); font-weight:800; color:#6b7280; font-size:.92rem; pointer-events:none; }
.ld-num .ld-input { padding-left:1.4rem; }
.ld-num .ld-num-suf { position:absolute; right:.6rem; top:50%; transform:translateY(-50%); font-size:.78rem; color:#6b7280; pointer-events:none; }
.ld-panel .ld-input.ld-has-suf { padding-right:3.4rem; }
.ld-panel input:focus, .ld-panel select:focus, .ld-panel textarea:focus { outline:2px solid var(--gold); border-color:var(--gold); }

/* live summary */
.ld-summary {
  margin:.9rem 0 0; padding:.7rem .9rem;
  background:#f4f8fb; border:1.5px solid #d4e1ee; border-radius:10px;
  font-size:.9rem; color:#1d3d5c; line-height:1.45;
}
.ld-summary .ld-sum-k { display:block; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#6b7280; margin-bottom:.15rem; }
.ld-summary .ld-sum-v { font-weight:700; color:var(--navy); }
.ld-summary .ld-sum-empty { color:#6b7280; font-weight:400; font-style:italic; }

.ld-actions[hidden] { display:none; }
.ld-actions { display:flex; flex-wrap:wrap; gap:.6rem 1rem; align-items:center; margin-top:.9rem; }
.ld-actions .ld-skip { background:none; border:0; font:inherit; font-size:.86rem; font-weight:700; color:var(--navy); text-decoration:underline; cursor:pointer; padding:.3rem 0; }

/* ---- quote form ---- */
.ld-form { position:relative; }
.ld-form[hidden] { display:none; }
.ld-grid2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:.2rem .9rem; margin-top:.3rem; }
.ld-panel .ld-form label { display:block; font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--navy); margin:.55rem 0 .2rem; }
.ld-panel .ld-form label .ld-opt-tag { font-weight:700; text-transform:none; letter-spacing:0; color:#6b7280; margin-left:.3rem; }
.ld-panel .ld-form input[type=text],
.ld-panel .ld-form input[type=email],
.ld-panel .ld-form input[type=tel],
.ld-panel .ld-form input[type=date],
.ld-panel .ld-form select {
  width:100%; padding:.5rem .6rem; border:1.5px solid #c9d7e5; border-radius:8px;
  font:inherit; font-size:.92rem; background:#fff; color:#222; min-height:2.5rem;
}
.ld-hint { display:block; font-size:.78rem; color:#6b7280; margin-top:.2rem; font-weight:400; text-transform:none; letter-spacing:0; }
.ld-panel .ld-form .btn { margin-top:1rem; width:100%; }
.ld-consent { font-size:.76rem; color:#6b7280; margin:.5rem 0 0; line-height:1.4; }
.ld-panel .form-success { display:none; background:rgba(34,139,90,.1); color:#1c7a4e; border:1px solid #1c7a4e; border-radius:10px; padding:1rem; font-weight:600; margin-top:1rem; }
.ld-panel .form-error { display:none; background:#fdf1f0; border-left:4px solid #b3541e; border-radius:0 10px 10px 0; padding:.8rem .95rem; margin-top:.8rem; font-size:.92rem; color:#7a2e10; }
.ld-panel .form-error a { color:var(--navy); font-weight:800; }

.ld-foot { margin:.9rem 0 0; font-size:.78rem; color:#6b7280; line-height:1.45; }

/* ---- small screens ---- */
@media (max-width:520px) {
  .ld-panel { padding:1rem .9rem 1.1rem; border-radius:14px; }
  .ld-title { font-size:1.15rem; }
  .ld-head { padding-right:2.3rem; }
  .ld-opt { font-size:.84rem; padding:.4rem .7rem; }
  .ld-num { max-width:100%; }
  .ld-panel .ld-select { max-width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .ld-panel.ld-flash { animation:none; }
  .ld-opt, .ld-chip, .ld-close { transition:none; }
}
