/* v87 T8 (PL): layout-test fixes by component. External file, no inline styles. Loaded after v87-r4.css. */

/* T8.1 contrast: gold accent text/numerals and gold buttons reach AA (4.5:1) on the cream paper and with ink text. Brand hue kept. */
:root{--gold-large:#85601E;--gold:#AC8642}
.who-we-make-for h3,.pg-who-we-make-for h3,.tile .more,.link,.more{color:var(--gold-aa)}

/* T8.2 minimum text size 14px (non-legal text). The legal / copyright line below keeps 13px. */
body .nav,body .nav a,body .nav .navx,body .nav .navcta{font-size:14px!important;letter-spacing:.02em}
@media(min-width:861px){body .nav{gap:4px 12px;flex-wrap:wrap;justify-content:flex-end;min-width:0}}
body .logo small{font-size:14px!important;letter-spacing:.12em}
body .skip,body .menubtn,body .btn,body button.btn,body .link,body a.link.alt2,body .more,body .tile .more,
body .mcta-a,body .mcta-b,body .mcta-s,body .fc-go,body .fc-k,body .fq-n,body .fq-btn,body .fq-copy,
body .rc-go,body .rc-d,body .sc-go,body .sc-o,body .sc-d,body .pc-go,body .cb-go,body .ced,body .qkl,
body .eyebrow,body span.eyebrow,body .eyebrow.tag,body .crumbs a,body .crumbs,body .cb-m,body .cb-k,body .gl-e,body summary,body dd,body .fq-act .fq-btn,body .fq-act .fq-copy,body .hero5 .eyebrow,body .pt,body .acc-e,body .qnav-k,body .gl-k,body #gl-h,body .how-h,body .hs-n,
body .proof-h,body #proof-h,body #gallery-h,body .chip,body .vh,body dt,body th,body figcaption,
body .meta,body .x,body .fh,body .fx2>summary h3,body .fask h3,body .faq-grp,body .cards-grp,
body h3[id^="fq-"],body .fp,body .ftr-nav a,body .ftr-contact,body .ftr-contact a,body .fx2-b,body .fx2-b a,body .fx2-b p,
body .tbl td::before,body .tbl th,body .small,body .tbl-note,body .illus-note,body .illnote,body .note{font-size:14px!important}
body .eyebrow,body .acc-e,body .qnav-k,body .gl-k,body .how-h,body .hs-n,body .fh,body .fc-k,body .fq-n,body .skip,body .menubtn{letter-spacing:.12em}
body .mcta-b,body .mcta-s,body .btn,body .link,body .more,body .fq-btn,body .fq-copy,body .fc-go,body .rc-go,body .sc-go{letter-spacing:.06em}
body main li,body main span.t,body .fc-t{font-size:max(1em,14px)}
body .ftr-legal p:not(.ftr-contact),body .ftr-legal p:not(.ftr-contact) a{font-size:13px!important}
/* cookie bar: 14px text and buttons on every width (consent logic untouched) */
body .plc,body .plc p,body .plc span,body .plc a,body .plc button{font-size:14px!important}
body .plc-pill{font-size:14px!important;min-height:44px}
@media(max-width:640px){
 body .plc p{font-size:14px!important;line-height:1.3}
 body .plc button{min-height:44px;font-size:14px!important}
 body .plc-pill:not([hidden]){min-height:44px;font-size:14px!important}
}
@media(min-width:861px){
 body .plc{left:auto;right:16px;bottom:16px;width:min(620px,calc(100vw - 32px));max-width:none;box-sizing:border-box}
}
@media(min-width:641px){
 body .plc button{min-height:44px;padding-left:18px;padding-right:18px}
 body .plc p,body .plc .plc-long{max-width:70ch}
}
body .plc a{display:inline-flex;align-items:center;min-height:44px}

/* T8.3 touch targets: links and buttons in header, footer, chips and link rows are at least 44px high. Inline text links inside sentences keep their flow. */
body .logo{display:inline-flex;flex-direction:column;justify-content:center;min-height:44px}
body .nav a,body .nav .navx{display:inline-flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box;padding-top:0;padding-bottom:0}
body .nav .navcta{justify-content:center}
body .menubtn,body .skip{min-height:44px;min-width:44px;box-sizing:border-box;align-items:center}body .skip{display:inline-flex}
body .skip:not(:focus){display:inline-flex}
body .btn,body a.link,body a.link.alt2,body .more,body .tile .more,body a.more.enq,body .mcta-a,body .mcta-b,body .mcta-s,body .sc-go,body .rc-go,body .pc-go,body .cb-go,body .fq-btn,body .fq-copy{display:inline-flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box}
body .ftr li>a,body .fx2-b li a,body .fask-l a,body .ftr-nav a,body .ftr-contact a,body .ftr-legal .ftr-contact a{display:flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box;padding-top:4px;padding-bottom:4px}
body .ftr-nav a{display:flex}
body .ftr-nav li{min-width:0}
body .ftr-legal .ftr-contact a{display:inline-flex}
body .fc-card{min-height:44px}
body .fq-act{flex-wrap:wrap}
body .qnav a{min-height:44px;min-width:44px}
body .toc a,body .toc li a,body nav[aria-label*="contents" i] a{display:flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box}
@media(max-width:560px){
 body .fcat>.fp a,body .fconn>.fp a{display:flex;align-items:center;min-height:44px;margin:6px 0 0}
}
@media(max-width:1024px){
 body .fp a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
}

body .crumbs a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box}
body a.pt,body .pt{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
body .fx2-b p a,body .btn-dl,body a.link.btn-dl{display:inline-flex;align-items:center;min-height:46px;box-sizing:border-box}
body .fcat>.fp a,body .fconn>.fp a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;vertical-align:middle}

/* T8.4 cards in one row: equal height, one image aspect ratio, button on a shared baseline */
@media(min-width:561px){
 body .tiles.c3>.tile .ph,body .tiles.c4>.tile .ph{aspect-ratio:1/1!important;width:100%;margin:0 0 var(--s3)}
 body .tiles>.tile .ph picture,body .tiles>.tile .ph img{display:block!important;width:100%!important;height:100%!important;object-fit:contain}
 body .tiles{align-items:stretch}
 body .tiles>.tile{display:flex;flex-direction:column;min-width:0}
 body .tiles>.tile>div,body .tiles>.tile>a{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
 body .tiles>.tile .ph{aspect-ratio:4/3;width:100%;margin:0 0 var(--s3);overflow:hidden;flex:0 0 auto}
 body .tiles>.tile .ph picture,body .tiles>.tile .ph img{display:block;width:100%;height:100%;object-fit:cover}
 body .tiles>.tile p{flex:1 1 auto}
 body .tiles>.tile .more{margin-top:auto;align-self:flex-start}
}
body .fconn-row{align-items:stretch}
body .fconn-row>.fq{height:100%}

/* T8.5 tables: on narrow screens each table row becomes a stacked card; the column-header row is kept for screen readers only (visually hidden), so it sits outside the viewport on purpose. */

/* T8.6 contact: the sticky side card stays clear of the bottom cookie bar */
@media(min-width:861px){
 body .form-wrap>.fside{top:88px;max-height:calc(100vh - 88px - 104px);overflow-y:auto}
}
/* page end stays readable above the cookie bar while it is open */
/* v95: body-level has-selector rule removed (superseded by html.plc-bar in v95-laneF) */

/* T8.7 remaining small labels to 14px (chips, size lists, pill lists, form option labels: text size only) */
body .pfacts span,body .sc-pills li,body .sz small,body .chips li,body .chips.stations li,body label.opt,body label.opt span,body .opts .opt span,body .opt{font-size:14px!important}
body .facts h3,body .facts li h3,body ul.chk p,body ul.chk li,body .chips small,body .card h3 small,body .lab,body span.lab,body .steps p,body .step p,body .pn,body span.pn,body .sc-pills li,body .fx2-b li a,body .ftr-contact a{font-size:14px!important}
body .fseo .fx2>summary{min-height:44px;display:flex;align-items:center}
body label.opt{display:flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box;gap:8px}

/* T8.8 round 2 */
@media(min-width:561px){
 body .tiles>.tile .ph{position:relative}
 body .tiles>.tile .ph picture,body .tiles>.tile .ph>img{position:absolute!important;inset:0;width:100%!important;height:100%!important}
 body .tiles>.tile .ph picture img{width:100%!important;height:100%!important;object-fit:contain}
}
body a.pt,body .pt{min-width:44px;justify-content:center}
body a.link,body a.link.alt2{min-height:46px}
body .chk h3 a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center}
body .a.text p a{display:inline-block;padding:12px 0;line-height:20px;min-height:44px;box-sizing:border-box}
@media(max-width:640px){body .plc-pill:not([hidden]){min-height:54px}}

/* T8.9 round 3 */
body.pg-photo-frames .tiles.c4 .tile .ph img{height:100%!important;max-height:none}

/* T8.9 header breakpoint (v95: 1500px): the menu button takes over below 1500px (same rules as the 1180px block in site.css, moved up). */
@media(max-width:1499px){.hdr-in{height:68px}.logo{font-size:19px}.menubtn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:var(--hair) solid var(--rule);padding:8px var(--gutter) 24px}.nav.open{display:flex}.nav a{padding:18px 0;border-bottom:var(--hair) solid var(--rule)}.nav .navcta{margin:20px 0 0;text-align:center;border:var(--hair) solid var(--ink)}}

/* T8.10 desktop header (>=1500px): one row. The 14px nav with 44px targets needs ~1300px, so the menu button takes over below 1500px. */
@media(min-width:1500px){
 body .hdr .hdr-in{max-width:1480px}
 body .nav{flex-wrap:nowrap;gap:clamp(16px,1.2vw,24px)}
 body .nav .navcta{margin-left:8px;white-space:nowrap}
}
