/* ── Repair prices: the price checker (2026-10-14). Same type and colours as the homepage (home.css). ── */
.pc-wrap { max-width: 980px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
@media (min-width: 760px) { .pc-wrap { padding: 0 28px; } }
.pc-eyebrow { font-family: sofia-pro, sans-serif; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #1a73e8; margin: 0 0 8px; }
.pc-h1 { font-family: sofia-pro-condensed, sans-serif; font-weight: 700; color: #0d2340; font-size: clamp(36px, 6vw, 56px); line-height: 1.04; margin: 0 0 14px; text-wrap: balance; }
.pc-h2 { font-family: sofia-pro-condensed, sans-serif; font-weight: 700; color: #0d2340; font-size: clamp(26px, 3.6vw, 34px); line-height: 1.1; margin: 0 0 16px; }
.pc-lede { font-family: sofia-pro, sans-serif; font-size: 18px; line-height: 1.6; color: #33445e; max-width: 36em; margin: 0; }
.pc-fine { font-family: sofia-pro, sans-serif; font-size: 14px; line-height: 1.55; color: #5d6d86; margin: 14px 0 0; }

.pc-hero { background: linear-gradient(180deg, #eef4fd 0%, #f8fafe 100%); padding: 32px 0 28px; }
@media (min-width: 760px) { .pc-hero { padding: 56px 0 40px; } }

.pc-tool { background: #f8fafe; padding: 0 0 40px; }
.pc-card { background: #fff; border: 1px solid #e1e8f2; border-radius: 18px; padding: 20px; box-shadow: 0 22px 54px rgba(13,35,64,.09); }
@media (min-width: 760px) { .pc-card { padding: 28px 30px; } }
.pc-step + .pc-step { margin-top: 18px; padding-top: 18px; border-top: 1px dashed #e1e8f2; }
.pc-stepT { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-family: sofia-pro-condensed, sans-serif; font-weight: 700; font-size: 21px; color: #0d2340; }
.pc-stepT span {
  width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: #1a73e8; color: #fff; font-size: 16px;
}
.pc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-chip {
  min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px solid #c9d6e8; background: #fff; cursor: pointer;
  font-family: sofia-pro, sans-serif; font-size: 16px; color: #13233d; transition: border-color .15s, background .15s, color .15s;
}
.pc-chip:hover { border-color: #1a73e8; color: #1a73e8; }
.pc-chip[aria-pressed="true"] { background: #1a73e8; border-color: #1a73e8; color: #fff; }
.pc-select {
  width: 100%; max-width: 460px; min-height: 48px; padding: 0 14px; border-radius: 12px; border: 1.5px solid #c9d6e8; background: #fff;
  font-family: sofia-pro, sans-serif; font-size: 17px; color: #0d2340;
}
.pc-select:focus { outline: 2px solid #1a73e8; outline-offset: 1px; }

.pc-result { margin-top: 20px; padding: 20px; border-radius: 14px; background: #f4f7fc; border: 1px solid #e1e8f2; scroll-margin-top: 90px; }
.pc-resT { margin: 0 0 6px; font-family: sofia-pro-condensed, sans-serif; font-weight: 700; font-size: 26px; color: #0d2340; }
.pc-list { list-style: none; padding: 0; margin: 4px 0 0; }
.pc-list li {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 11px 0; border-bottom: 1px dashed #d8e1ee;
  font-family: sofia-pro, sans-serif; font-size: 16.5px; color: #33445e;
}
.pc-list li:last-child { border-bottom: 0; }
.pc-list b { font-family: sofia-pro-condensed, sans-serif; font-weight: 700; font-size: 20px; color: #0d2340; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pc-list em { font-style: normal; font-family: sofia-pro, sans-serif; font-size: 15px; color: #1a73e8; }
.pc-listFlat { margin-top: 14px; padding-top: 6px; border-top: 1px solid #d8e1ee; }
.pc-listFlat li { font-size: 15px; }
.pc-listFlat b { font-size: 18px; color: #33445e; }
.pc-offer {
  display: block; margin: 14px auto 0; padding: 6px 4px; border: 0; background: none; cursor: pointer;
  font-family: sofia-pro, sans-serif; font-size: 15.5px; color: #1a73e8; text-decoration: underline; text-underline-offset: 3px;
}
.pc-none { margin: 6px 0 4px; font-family: sofia-pro, sans-serif; font-size: 16.5px; line-height: 1.55; color: #33445e; }

.pc-ctaBtns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.pc-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border-radius: 12px; cursor: pointer;
  font-family: sofia-pro-condensed, sans-serif; font-weight: 700; font-size: 19px; text-decoration: none; border: 0;
}
.pc-btnPrimary { background: #1a73e8; color: #fff; box-shadow: 0 10px 24px rgba(26,115,232,.28); }
.pc-btnPrimary:hover { background: #1666d4; }
.pc-btnGhost { background: #fff; color: #0d2340; border: 1.5px solid #c9d6e8; }
.pc-btnGhost:hover { border-color: #1a73e8; color: #1a73e8; }
@media (max-width: 520px) { .pc-ctaBtns .pc-btn { flex: 1 1 100%; } }

.pc-protect { background: #f8fafe; padding: 0 0 28px; }
.pc-protectIn {
  display: block; padding: 16px 18px; border-radius: 14px; background: #0d2340; color: rgba(255,255,255,.85); text-decoration: none;
  font-family: sofia-pro, sans-serif; font-size: 16px; line-height: 1.5;
}
.pc-protectIn b { color: #fff; font-family: sofia-pro-condensed, sans-serif; font-weight: 700; font-size: 19px; }
.pc-protectIn span { color: #8fb6f4; text-decoration: underline; text-underline-offset: 3px; }
.pc-flatSec { padding: 40px 0; background: #fff; }
.pc-flatGrid { display: grid; gap: 12px; }
@media (min-width: 760px) { .pc-flatGrid { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.pc-flat { padding: 18px; border-radius: 14px; background: #f4f7fc; border: 1px solid #e1e8f2; display: flex; flex-direction: column; gap: 4px; }
.pc-flat b { font-family: sofia-pro-condensed, sans-serif; font-weight: 700; font-size: 30px; color: #0d2340; }
.pc-flat span { font-family: sofia-pro-condensed, sans-serif; font-weight: 700; font-size: 19px; color: #1a73e8; }
.pc-flat p { margin: 4px 0 0; font-family: sofia-pro, sans-serif; font-size: 15px; line-height: 1.55; color: #33445e; }


.pc-cta { padding: 40px 0 48px; background: #f4f7fc; text-align: center; }
.pc-cta p { font-family: sofia-pro, sans-serif; font-size: 17px; color: #33445e; margin: 0; }
.pc-cta .pc-ctaBtns { justify-content: center; }

/* Other: tell us what you have (2026-10-14). */
.pc-other { display: grid; gap: 12px; }
.pc-of { display: grid; gap: 5px; font-family: sofia-pro, sans-serif; font-size: 14px; font-weight: 600; color: #0d2340; }
.pc-of input, .pc-of textarea { width: 100%; box-sizing: border-box; padding: 11px 13px; border: 1.5px solid #d5deea; border-radius: 10px; background: #fff; color: #0d2340; font: inherit; font-weight: 400; font-size: 15px; }
.pc-of textarea { resize: vertical; min-height: 84px; }
.pc-of input:focus, .pc-of textarea:focus { outline: none; border-color: #1e6fe8; }
.pc-oRow { display: grid; gap: 12px; }
@media (min-width: 640px) { .pc-oRow { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.pc-oFoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; padding: 14px 16px; border-radius: 12px; background: #f3f7fd; }
.pc-oDiag { margin: 0; flex: 1 1 260px; font-family: sofia-pro, sans-serif; font-size: 14.5px; color: #33445e; }
.pc-oDiag b { color: #0d2340; }
.pc-oMsg { margin: 0; min-height: 1.2em; font-family: sofia-pro, sans-serif; font-size: 14px; color: #33445e; }
.pc-oMsg.bad { color: #b42318; font-weight: 600; }
.pc-oDone { margin: 0; padding: 16px; border-radius: 12px; background: #ecfdf3; color: #05603a; font-family: sofia-pro, sans-serif; font-size: 15.5px; font-weight: 600; }
