/*
 * Page-family styles: the hub card grid, the product leaf's two columns and specification
 * panel, the file list, the contact columns and the inquiry form's spacing.
 * Loaded by functions.php after the shared sheet (tokens.css + style.css), so it only adds
 * page-level geometry and reads tokens for everything else. Mobile first.
 */

/* ---------- pieces shared by the page bodies ---------- */
.record-content>:last-child{margin-bottom:0}

.notice__icon{display:flex;align-items:flex-start;padding-top:2px;color:var(--color-slate)}
.notice p a{color:var(--color-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-amber)}
.notice p a:hover{color:var(--color-amber-hover)}

.file-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.file-list .file-card{height:100%}
.file-list .file-card__body{display:block}
.file-card__body strong+span{margin-top:2px}

/* ---------- hub ---------- */
.hub-intro{margin-bottom:var(--s5)}
.hub-grid{margin-top:0}

/* ---------- product / application leaf ---------- */
.product-main{min-width:0}
.product-side{display:grid;gap:var(--s4);min-width:0;align-content:start}
.product-hero{margin:0 0 var(--s4)}
.product-hero img{width:100%;max-height:520px;object-fit:contain}
.product-spec__title{font-size:var(--text-label);letter-spacing:.12em;text-transform:uppercase;color:var(--color-slate);margin:0 0 var(--s1)}
.product-spec .notice{min-width:0}
.file-block{margin-top:var(--s5)}
.file-block h2{font-size:var(--text-h3)}
.product-family{margin-top:var(--s5)}

.link-list{list-style:none;margin:0 0 var(--s4);padding:0;display:grid;grid-template-columns:1fr;gap:0}
.link-list li{display:grid;gap:2px;padding-block:var(--s2);border-bottom:var(--border-default)}
.link-list li:first-child{border-top:var(--border-default)}
.link-list a{font-weight:600;color:var(--color-navy);font-size:.9688rem}
.link-list a:hover{color:var(--color-amber-hover)}
.link-list .muted{font-size:var(--text-small);line-height:1.6}

.related-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin:0}
.related-line a{font-weight:600;color:var(--color-navy);font-variant-numeric:tabular-nums}

/* The specification table scrolls sideways rather than shrinking below a readable size. */
.spec-table-scroll{overflow-x:auto;overscroll-behavior-x:contain}
.spec-table-scroll .spec-table{min-width:288px}
.spec-table tbody th{padding-right:var(--s2)}
.spec-table td{white-space:normal}

/* ---------- contact page ---------- */
.contact-details{min-width:0}
.contact-details h2{font-size:var(--text-h3)}
.contact-lines{display:grid;gap:var(--s3);margin:0 0 var(--s4)}
.contact-lines>div{display:grid;gap:2px}
.contact-lines dt{font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--color-slate)}
.contact-lines dd{margin:0;font-size:1.0625rem;line-height:1.6;color:var(--color-ink)}
.contact-lines a{color:var(--color-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-amber);font-variant-numeric:tabular-nums}
.contact-lines a:hover{color:var(--color-amber-hover)}
.contact-details .record-content{margin-top:var(--s4)}
.contact-form{min-width:0}

/* ---------- inquiry form ---------- */
.quote-form h2{font-size:var(--text-h3);margin:0 0 var(--s1)}
.quote-form__lead{font-size:.9375rem;line-height:1.6;color:var(--color-slate);margin:0 0 var(--s3)}
.quote-form form{margin:0}
.quote-form .field{margin-bottom:var(--s3)}
.quote-form .field-row{margin-bottom:0}
.quote-form .field-row .field{margin-bottom:var(--s3)}
.quote-form .hint{display:block;line-height:1.5}
.quote-form input[type="file"]{padding:9px 10px;font-size:.9375rem;background:var(--color-paper)}
.quote-form__actions{margin-top:var(--s2)}
.quote-form__progress{width:100%;height:6px;margin:var(--s2) 0 0;border:0;border-radius:3px;accent-color:var(--color-amber)}
.quote-form [data-status]{min-height:1.4em}

/* ---------- static pages: the byline under the copy ---------- */
.static-meta{padding:0 0 var(--s4)}
.static-meta p{margin:0;padding-top:var(--s2);border-top:var(--border-default);font-size:.8125rem;line-height:1.6;color:var(--color-slate)}
.static-meta a{color:var(--color-ink);text-decoration:underline;text-underline-offset:2px}

/* ---------- a section's fixed-copy pages, listed under the hub ---------- */
.section-links{padding-top:var(--s4);border-top:var(--border-default)}
.section-links h2{font-size:var(--text-h3);margin:0 0 var(--s2)}

/* ---------- footer legal line: privacy, terms, cookies, accessibility, sitemap ---------- */
.site-footer__legal-links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3)}
.site-footer__legal-links a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.24)}
.site-footer__legal-links a:hover{color:#fff;border-bottom-color:var(--color-amber)}

/* ---------- 760px: two-up blocks ---------- */
@media (min-width:760px){
  .link-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s3)}
  .link-list li{border-top:var(--border-default)}
  .contact-lines{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s3)}
}

/* ---------- 1080px: the product panel travels with the reader ---------- */
@media (min-width:1080px){
  .product-side{position:sticky;top:96px}
  .spec-table-scroll{overflow-x:visible}
  .spec-table-scroll .spec-table{min-width:0}
  .contact-lines{gap:var(--s3) var(--s4)}
}
