/* Shared ANSI replacement-parts landing-page system.
   Structure and responsive behavior are cloned from the mechanical-seals template. */
.ap-part-page {
  --ap-bg: #f9fbfc; --ap-surface: #fff; --ap-ink: #1e293b; --ap-body: #343a40;
  --ap-muted: #64748b; --ap-blue: #0d47a1; --ap-navy: #10233f; --ap-orange: #f7941d; --ap-line: #e2e8f0;
  background: var(--ap-bg); color: var(--ap-body); font-family: Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ap-part-page * { box-sizing: border-box; }
.ap-part-container { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.ap-part-page h1,.ap-part-page h2,.ap-part-page h3 { color: var(--ap-ink); font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing: -.03em; }
.ap-part-page h1 { max-width: 680px; margin: 0; color: #fff; font-size: clamp(2.45rem,5vw,4.75rem); line-height: 1.04; }
.ap-part-page h2 { margin: 0; font-size: clamp(2rem,3.7vw,3.15rem); line-height: 1.1; }
.ap-part-page h3 { margin: 0; font-size: 1.35rem; line-height: 1.2; }
.ap-part-page p { line-height: 1.7; }
.ap-part-kicker { margin: 0 0 .7rem; color: var(--ap-orange); font-family: Inter,sans-serif; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ap-part-hero { overflow: hidden; background: var(--ap-navy); }
.ap-part-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); gap:3.5rem; min-height:610px; align-items:center; }
.ap-part-hero__copy > p:not(.ap-part-kicker) { max-width:63ch; margin:1.25rem 0 0; color:rgba(255,255,255,.86); font-size:1.13rem; }
.ap-part-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }
body.page-id-1219 .ap-part-hero .ap-part-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:620px; gap:.8rem; }
body.page-id-1219 .ap-part-hero .ap-part-actions .ap-part-button { width:100%; min-width:0; padding-inline:.8rem; }
@media(max-width:700px) { body.page-id-1219 .ap-part-hero .ap-part-actions { grid-template-columns:1fr; } }
.ap-part-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:.8rem 1.2rem; border:2px solid var(--ap-blue); border-radius:8px; color:#fff!important; background:var(--ap-blue); font-family:Inter,sans-serif; font-weight:700; line-height:1.2; text-align:center; text-decoration:none!important; transition:transform .16s ease,background-color .16s ease,border-color .16s ease; }
.ap-part-button:hover,.ap-part-button:focus-visible { color:#fff!important; border-color:#1565c0; background:#1565c0; transform:translateY(-1px); }
.ap-part-button--accent { border-color:var(--ap-orange); color:#172033!important; background:var(--ap-orange); }
.ap-part-button--accent:hover,.ap-part-button--accent:focus-visible { border-color:#ffab45; color:#172033!important; background:#ffab45; }
.ap-part-button--ghost { border-color:rgba(255,255,255,.72); background:transparent; }
.ap-part-button--ghost:hover,.ap-part-button--ghost:focus-visible { border-color:#fff; background:rgba(255,255,255,.1); }
.ap-part-hero__visual { align-self:center; padding:0; }
.ap-part-hero__visual img { display:block; width:100%; height:auto; object-fit:contain; }
.ap-part-strip { position:relative; z-index:2; border-bottom:1px solid var(--ap-line); background:#fff; }
.ap-part-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ap-part-strip__grid > div { padding:1.35rem 1.3rem; border-right:1px solid var(--ap-line); }
.ap-part-strip__grid > div:first-child { padding-left:0; }
.ap-part-strip__grid > div:last-child { border-right:0; }
.ap-part-strip strong,.ap-part-strip span { display:block; }
.ap-part-strip strong { color:var(--ap-ink); font-family:Inter,sans-serif; font-size:1rem; }
.ap-part-strip span { margin-top:.25rem; color:var(--ap-muted); font-size:.89rem; line-height:1.5; }
.ap-part-section { padding:clamp(4rem,7vw,5.75rem) 0; }
.ap-part-section--tint { background:#edf4fc; }
.ap-part-section--dark { color:#fff; background:var(--ap-navy); }
.ap-part-section--dark h2,.ap-part-section--dark h3 { color:#fff; }
.ap-part-heading { max-width:760px; margin-bottom:2.4rem; }
.ap-part-heading > p:not(.ap-part-kicker) { max-width:66ch; margin:1rem 0 0; color:var(--ap-muted); }
.ap-part-card-grid { display:grid; grid-template-columns:1.12fr .94fr .94fr; gap:1rem; }
.ap-part-card-grid article { display:flex; min-height:292px; flex-direction:column; padding:1.7rem; border:1px solid var(--ap-line); border-radius:14px; background:#fff; }
.ap-part-card-grid article:first-child { border-color:#b8cae0; background:linear-gradient(145deg,#fff,#edf4fc); }
.ap-part-card-grid h3 { margin-top:2rem; }
.ap-part-card-grid p { margin:.75rem 0 1.4rem; color:var(--ap-muted); }
.ap-part-card-grid a,.ap-part-related a { margin-top:auto; color:var(--ap-blue)!important; font-family:Inter,sans-serif; font-weight:700; text-decoration:none!important; }
.ap-part-mark { display:grid; width:42px; height:42px; place-items:center; border-radius:8px; color:#fff; background:var(--ap-blue); font-family:Inter,sans-serif; font-weight:700; }
.ap-part-columns { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.ap-part-columns > div > p:not(.ap-part-kicker) { max-width:62ch; color:var(--ap-muted); }
.ap-part-compare { border-top:1px solid var(--ap-line); }
.ap-part-compare article { padding:1.3rem 0; border-bottom:1px solid var(--ap-line); }
.ap-part-compare p { margin:.7rem 0 0; color:var(--ap-muted); }
.ap-part-checklist { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:2.7rem 0 0; padding:0; list-style:none; counter-reset:apcheck; }
.ap-part-checklist li { min-height:112px; padding:1.05rem 1rem; border-top:1px solid rgba(255,255,255,.22); border-right:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.86); line-height:1.55; counter-increment:apcheck; }
.ap-part-checklist li:nth-child(3n) { border-right:0; }
.ap-part-checklist li:before { display:block; margin-bottom:.45rem; color:var(--ap-orange); font-family:Inter,sans-serif; font-size:.78rem; font-weight:700; content:"0" counter(apcheck); }
.ap-part-note { margin:1.6rem 0 0; padding:1.1rem 1.25rem; border-left:1px solid var(--ap-orange); background:rgba(255,255,255,.06); line-height:1.65; }
.ap-part-data-table { overflow-x:auto; border-top:1px solid var(--ap-line); }
.ap-part-data-table table { width:100%; min-width:680px; border-collapse:collapse; background:#fff; }
.ap-part-data-table th,.ap-part-data-table td { padding:1rem; border-bottom:1px solid var(--ap-line); text-align:left; vertical-align:top; line-height:1.55; }
.ap-part-data-table th { color:var(--ap-ink); background:#edf4fc; font-family:Inter,sans-serif; }
.ap-part-data-table td { color:var(--ap-muted); }
.ap-part-rfq { background:#edf4fc; }
.ap-part-rfq__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.ap-part-rfq__grid > div > p:not(.ap-part-kicker) { color:var(--ap-muted); }
.ap-part-form { padding:clamp(1.3rem,3vw,2rem); border:1px solid #c8d8e9; border-radius:14px; background:#fff; }
.ap-part-form h3 { margin-bottom:1rem; }
.ap-part-form .gform_heading { display:none; }
.ap-part-form .gform_fields { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem!important; }
.ap-part-form .gfield { min-width:0; margin:0!important; }
.ap-part-form #field_3_6,.ap-part-form #field_3_12,.ap-part-form #field_3_13 { grid-column:1 / -1; }
.ap-part-form .gfield_label { color:var(--ap-ink); font-family:Inter,sans-serif; font-weight:700; }
.ap-part-form input:not([type=checkbox]):not([type=radio]),.ap-part-form textarea,.ap-part-form select { min-height:46px; border:1px solid #b8cae0; border-radius:8px; color:var(--ap-body); background:#fff; }
.ap-part-form textarea { min-height:110px; }
.ap-part-form input:focus,.ap-part-form textarea:focus,.ap-part-form select:focus { border-color:var(--ap-blue); outline:3px solid rgba(13,71,161,.14); }
.ap-part-form .gform_button { min-height:50px; padding:.8rem 1.3rem; border:0; border-radius:8px; color:#172033; background:var(--ap-orange); font-family:Inter,sans-serif; font-weight:700; }
.ap-part-faq { max-width:920px; }
.ap-part-faq details { border-bottom:1px solid var(--ap-line); }
.ap-part-faq summary { padding:1.15rem .1rem; color:var(--ap-ink); font-family:Inter,sans-serif; font-weight:700; cursor:pointer; }
.ap-part-faq details p { max-width:70ch; margin:0; padding:0 .1rem 1.15rem; color:var(--ap-muted); }
.ap-part-final { padding:3rem 0; color:#fff; background:var(--ap-blue); }
.ap-part-final > .ap-part-container { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.ap-part-final h2 { color:#fff; font-size:clamp(1.8rem,3vw,2.7rem); }
.ap-part-final p { max-width:64ch; margin:.7rem 0 0; color:rgba(255,255,255,.85); }
.ap-part-page :focus-visible { outline:3px solid var(--ap-orange); outline-offset:3px; }
@media(max-width:900px) {
  .ap-part-hero__grid,.ap-part-rfq__grid { grid-template-columns:1fr; }
  .ap-part-hero__grid { min-height:auto; padding-top:4rem; }
  .ap-part-hero__visual { max-width:640px; justify-self:center; }
  .ap-part-card-grid { grid-template-columns:1fr 1fr; }
  .ap-part-card-grid article:first-child { grid-column:1 / -1; min-height:245px; }
  .ap-part-checklist { grid-template-columns:1fr 1fr; }
  .ap-part-checklist li:nth-child(3n) { border-right:1px solid rgba(255,255,255,.22); }
  .ap-part-checklist li:nth-child(2n) { border-right:0; }
}
@media(max-width:700px) {
  .ap-part-container { width:min(100% - 32px,1120px); }
  .ap-part-hero__grid { gap:1.8rem; }
  .ap-part-strip__grid,.ap-part-card-grid,.ap-part-columns,.ap-part-checklist,.ap-part-rfq__grid,.ap-part-form .gform_fields { grid-template-columns:1fr; }
  .ap-part-strip__grid > div,.ap-part-strip__grid > div:first-child { padding:1rem 0; border-right:0; border-bottom:1px solid var(--ap-line); }
  .ap-part-strip__grid > div:last-child { border-bottom:0; }
  .ap-part-card-grid article:first-child { grid-column:auto; }
  .ap-part-checklist li,.ap-part-checklist li:nth-child(3n) { border-right:0; }
  .ap-part-form #field_3_6,.ap-part-form #field_3_12,.ap-part-form #field_3_13 { grid-column:auto; }
  .ap-part-final > .ap-part-container { align-items:flex-start; flex-direction:column; }
  .ap-part-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ap-part-page * { scroll-behavior:auto!important; transition:none!important; } }
/* Audit refinements: preserve the shared template while keeping technical copy readable. */
.ap-part-page p { max-width: 72ch; }
.ap-part-hero__copy > p:not(.ap-part-kicker) { max-width: 63ch; }
.ap-part-card-grid p { max-width: 38ch; }
.ap-part-data-table { padding-inline: 1rem; }
.ap-part-data-table td { max-width: 48ch; }
@media(max-width:700px) { .ap-part-data-table { padding-inline: 0; } }

/* Template parity audit: retain a protective gutter around horizontal tables. */
.ap-part-data-table {
  padding: .75rem 1rem 0;
}
.ap-part-data-table table {
  table-layout: fixed;
}
.ap-part-data-table th,
.ap-part-data-table td {
  overflow-wrap: break-word;
}
@media (max-width: 700px) {
  .ap-part-data-table {
    padding: .75rem .75rem 0;
  }
}

/* Shared breadcrumb for the ANSI replacement-parts page family. */
.ap-part-breadcrumb {
  background: #f5f7fb;
  border-bottom: 1px solid #dfe5ef;
  color: #20375a;
  font-size: .88rem;
}
.ap-part-breadcrumb ol {
  display: flex;
  align-items: center;
  gap: .48rem;
  min-height: 44px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ap-part-breadcrumb a {
  color: #315b93;
  text-decoration: none;
}
.ap-part-breadcrumb a:hover,
.ap-part-breadcrumb a:focus-visible {
  color: #0a192f;
  text-decoration: underline;
}
.ap-part-breadcrumb li[aria-current="page"] {
  color: #0a192f;
  font-weight: 700;
}
@media (max-width: 700px) {
  .ap-part-breadcrumb {
    font-size: .79rem;
  }
  .ap-part-breadcrumb ol {
    min-height: 40px;
    gap: .38rem;
    overflow: hidden;
  }
  .ap-part-breadcrumb li[aria-current="page"] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
