/* Part-number repair pages (/repair/ index and each /repair/{pn}/ page).
   Extracted from the page templates so the browser caches it once across
   the 244 part pages instead of re-downloading it inline on every view.
   Loaded only on those templates - see astra_child_enqueue_styles(). */

/* ---- part page (pgp-) ---- */
/* ── PART-NUMBER REPAIR PAGE ───────────────────────────────────
   pgp- prefix, so nothing here can collide with the pgt- family
   template or with Astra.  Same tokens as pgt- for a consistent look.
   ──────────────────────────────────────────────────────────── */
.pgp{--navy:#0f2547;--or:#e8821a;--or2:#c96f14;--wh:#fff;--g50:#f8fafc;
  --g100:#f1f5f9;--g200:#e2e8f0;--g400:#94a3b8;--g600:#475569;--text:#0f172a;
  --fn:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--max:1180px;
  font-family:var(--fn);color:var(--text)}
.pgp *,.pgp *::before,.pgp *::after{box-sizing:border-box}
.pgp a{text-decoration:none;color:inherit}
.pgp-w{max-width:var(--max);margin:0 auto;padding:0 24px}
.pgp-sec{padding:64px 0}
.pgp-sec--grey{background:var(--g50)}
.pgp-eye{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--or);margin-bottom:10px}
.pgp-h-lg{font-size:clamp(22px,3vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px}

/* Hero */
.pgp-hero{background:linear-gradient(135deg,#0a1e3d 0%,#0f2547 45%,#1a3a6b 100%);color:var(--wh);padding:56px 0 60px}
.pgp-crumb{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:18px}
.pgp-crumb a:hover{color:var(--wh)}
.pgp-crumb span{margin:0 7px;opacity:.5}
.pgp-hero h1{font-size:clamp(26px,3.6vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.025em;margin:0 0 16px;max-width:900px}
.pgp-hero-sub{font-size:17px;line-height:1.65;color:rgba(255,255,255,.78);margin-bottom:28px;max-width:640px}
.pgp-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.pgp-badge{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;color:rgba(255,255,255,.92)}
.pgp-badge svg{color:var(--or);flex-shrink:0}
.pgp-ctas{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pgp-btn{display:inline-flex;align-items:center;gap:8px;padding:15px 32px;border-radius:10px;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:none;cursor:pointer;transition:all .18s ease}
.pgp-btn-or{background:var(--or);color:var(--wh);box-shadow:0 4px 14px rgba(232,130,26,.35)}
.pgp-btn-or:hover{background:var(--or2);color:var(--wh);transform:translateY(-1px)}
.pgp-call{font-size:15px;font-weight:600;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:6px}
.pgp-call:hover{color:var(--wh)}

/* Stat bar — part-specific numbers, not the site-wide ones */
.pgp-stats{background:var(--wh);border-bottom:1px solid var(--g200);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.pgp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.pgp-stat{padding:26px 20px;text-align:center;border-right:1px solid var(--g200)}
.pgp-stat:last-child{border-right:none}
.pgp-stat-val{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1;margin-bottom:5px}
.pgp-stat-lbl{font-size:12px;font-weight:500;color:var(--g400);text-transform:uppercase;letter-spacing:.07em}

/* The repair-record block that comes from the page content */
.pgp-record{max-width:800px}
.pgp-record .pg-repair-record{border-left:4px solid var(--navy);padding:24px 28px;margin:0;background:var(--g50);border-radius:0 8px 8px 0}
.pgp-record .pg-repair-record h2{margin:0 0 16px;font-size:22px;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.pgp-record .pg-repair-record ul{margin:0 0 18px;padding-left:20px}
.pgp-record .pg-repair-record li{margin:6px 0;font-size:15px;line-height:1.65;color:var(--text)}
.pgp-record .pg-repair-record p{font-size:15px;line-height:1.75;color:var(--g600);margin:0 0 14px}
.pgp-record .pg-repair-record strong{color:var(--text)}
.pgp-record .pg-cta{display:inline-block;padding:13px 26px;background:var(--or);color:var(--wh);border-radius:8px;font-weight:700;font-size:14px;letter-spacing:.03em;box-shadow:0 4px 14px rgba(232,130,26,.3);margin-top:4px}
.pgp-record .pg-cta:hover{background:var(--or2);color:var(--wh)}

/* Process */
.pgp-proc{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;position:relative}
.pgp-proc::before{content:'';position:absolute;top:27px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--or),rgba(232,130,26,.2));z-index:0}
.pgp-step{text-align:center;padding:0 16px;position:relative;z-index:1}
.pgp-num{width:56px;height:56px;background:var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:var(--wh);margin:0 auto 16px;box-shadow:0 4px 14px rgba(232,130,26,.4)}
.pgp-step h3{font-size:15px;font-weight:700;color:var(--navy);margin:0 0 8px}
.pgp-step p{font-size:13px;color:var(--g600);line-height:1.6;margin:0}

/* Related part numbers */
.pgp-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.pgp-rel a{display:block;padding:16px 18px;background:var(--wh);border:1px solid var(--g200);border-radius:8px;transition:all .15s}
.pgp-rel a:hover{border-color:var(--or);box-shadow:0 4px 12px rgba(15,37,71,.08);transform:translateY(-1px)}
.pgp-rel-pn{display:block;font-size:15px;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.pgp-rel-meta{display:block;font-size:12px;color:var(--g400);margin-top:3px}
.pgp-family-link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-size:15px;font-weight:600;color:var(--navy);border-bottom:2px solid var(--or);padding-bottom:2px}

/* Quote form */
.pgp-form-sec{background:var(--navy);padding:72px 0}
.pgp-form-grid{display:grid;grid-template-columns:1fr 500px;gap:56px;align-items:start}
.pgp-form-left h2{color:var(--wh)}
.pgp-form-left>p{color:rgba(255,255,255,.7);font-size:16px;line-height:1.7;margin-bottom:26px}
.pgp-ffeat{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.pgp-ffeat-ico{width:32px;height:32px;background:rgba(232,130,26,.15);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.pgp-ffeat-ico svg{color:var(--or)}
.pgp-ffeat-txt strong{display:block;font-size:14px;font-weight:600;color:var(--wh);margin-bottom:2px}
.pgp-ffeat-txt span{font-size:13px;color:rgba(255,255,255,.55)}
.pgp-form-divider{margin-top:30px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12)}
.pgp-form-card{background:var(--wh);border-radius:16px;padding:36px;box-shadow:0 24px 64px rgba(0,0,0,.3)}
.pgp-form-card .wpforms-container{margin:0}
.pgp-form-card .wpforms-field-label{font-size:12px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--g600)!important;font-family:var(--fn)!important}
.pgp-form-card .wpforms-field input[type=text],
.pgp-form-card .wpforms-field input[type=email],
.pgp-form-card .wpforms-field input[type=tel],
.pgp-form-card .wpforms-field input[type=number],
.pgp-form-card .wpforms-field select,
.pgp-form-card .wpforms-field textarea{width:100%!important;padding:11px 14px!important;border:1.5px solid var(--g200)!important;border-radius:6px!important;font-size:14px!important;font-family:var(--fn)!important;background:var(--wh)!important;box-shadow:none!important}
.pgp-form-card .wpforms-field input:focus,
.pgp-form-card .wpforms-field select:focus,
.pgp-form-card .wpforms-field textarea:focus{border-color:var(--navy)!important;box-shadow:0 0 0 3px rgba(15,37,71,.1)!important;outline:none!important}
.pgp-form-card .wpforms-field textarea{min-height:88px!important;resize:vertical!important}
.pgp-form-card .wpforms-submit{width:100%!important;background:var(--or)!important;color:var(--wh)!important;border:none!important;padding:16px 32px!important;font-size:15px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;border-radius:10px!important;cursor:pointer!important;box-shadow:0 4px 14px rgba(232,130,26,.35)!important;font-family:var(--fn)!important}
.pgp-form-card .wpforms-submit:hover{background:var(--or2)!important}
.pgp-form-card .wpforms-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

@media(max-width:1024px){
  .pgp-form-grid{grid-template-columns:1fr}
  .pgp-rel{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .pgp-sec{padding:48px 0}
  .pgp-stats-grid{grid-template-columns:repeat(2,1fr)}
  .pgp-stat:nth-child(2){border-right:none}
  .pgp-proc{grid-template-columns:1fr 1fr;gap:32px}
  .pgp-proc::before{display:none}
}
@media(max-width:480px){
  .pgp-badges{flex-direction:column}
  .pgp-ctas{flex-direction:column;align-items:stretch}
  .pgp-btn{justify-content:center}
  .pgp-rel{grid-template-columns:1fr}
  .pgp-proc{grid-template-columns:1fr}
}

/* ---- index page (pgi-) ---- */
.pgi{--navy:#0f2547;--or:#e8821a;--or2:#c96f14;--wh:#fff;--g50:#f8fafc;
  --g200:#e2e8f0;--g400:#94a3b8;--g600:#475569;--text:#0f172a;
  --fn:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-family:var(--fn);color:var(--text)}
.pgi *,.pgi *::before,.pgi *::after{box-sizing:border-box}
.pgi a{text-decoration:none;color:inherit}
.pgi-w{max-width:1180px;margin:0 auto;padding:0 24px}
.pgi-hero{background:linear-gradient(135deg,#0a1e3d 0%,#0f2547 45%,#1a3a6b 100%);color:var(--wh);padding:64px 0}
.pgi-hero h1{font-size:clamp(28px,3.8vw,46px);font-weight:800;line-height:1.1;letter-spacing:-.025em;margin:0 0 18px;max-width:880px}
.pgi-hero p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.78);max-width:720px;margin:0 0 28px}
.pgi-btn{display:inline-flex;align-items:center;gap:8px;padding:15px 32px;border-radius:10px;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--or);color:var(--wh);box-shadow:0 4px 14px rgba(232,130,26,.35);transition:all .18s}
.pgi-btn:hover{background:var(--or2);color:var(--wh);transform:translateY(-1px)}
.pgi-stats{background:var(--wh);border-bottom:1px solid var(--g200);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.pgi-stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.pgi-stat{padding:26px 20px;text-align:center;border-right:1px solid var(--g200)}
.pgi-stat:last-child{border-right:none}
.pgi-stat-val{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1;margin-bottom:5px}
.pgi-stat-lbl{font-size:12px;font-weight:500;color:var(--g400);text-transform:uppercase;letter-spacing:.07em}
.pgi-body{padding:56px 0 72px}
.pgi-fam{margin-bottom:44px}
.pgi-fam h2{font-size:clamp(19px,2.2vw,25px);font-weight:700;color:var(--navy);letter-spacing:-.02em;margin:0 0 4px}
.pgi-fam-meta{font-size:13px;color:var(--g400);margin:0 0 18px}
.pgi-fam-meta a{color:var(--navy);font-weight:600;border-bottom:1px solid var(--or)}
.pgi-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pgi-grid a{display:block;padding:12px 14px;background:var(--wh);border:1px solid var(--g200);border-radius:8px;transition:all .15s;height:100%}
.pgi-grid a:hover{border-color:var(--or);box-shadow:0 4px 12px rgba(15,37,71,.08);transform:translateY(-1px)}
.pgi-pn{display:block;font-size:14px;font-weight:700;color:var(--navy);letter-spacing:-.01em;word-break:break-word}
.pgi-jobs{display:block;font-size:12px;color:var(--g400);margin-top:2px}
.pgi-cta{background:var(--navy);color:var(--wh);padding:56px 0;text-align:center}
.pgi-cta h2{font-size:clamp(22px,3vw,32px);font-weight:700;margin:0 0 10px}
.pgi-cta p{font-size:16px;color:rgba(255,255,255,.72);margin:0 0 26px}
.pgi-phone{font-size:26px;font-weight:800;letter-spacing:-.02em}
.pgi-phone span{color:var(--or)}
@media(max-width:900px){.pgi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.pgi-grid{grid-template-columns:repeat(2,1fr)}.pgi-stats-grid{grid-template-columns:1fr}.pgi-stat{border-right:none;border-bottom:1px solid var(--g200)}}

/* ---- optional board photo in the part-page hero ---- */
.pgp-hero-grid{display:grid;grid-template-columns:1fr 400px;gap:52px;align-items:center}
.pgp-hero-photo img{width:100%;height:auto;border-radius:12px;display:block;background:#e2e8f0;aspect-ratio:4/3;object-fit:cover;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.13)}
.pgp-photo-cap{display:block;margin-top:12px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@media(max-width:1024px){.pgp-hero-grid{grid-template-columns:1fr;gap:36px}.pgp-hero-photo{max-width:460px}}
