:root { --fpt-blue: #ed1c24; --fpt-blue-dark: #b80f16; --fpt-cyan: #ed1c24; --fpt-red: #ed1c24; }
.fpt-page .perkins-eyebrow { color: var(--fpt-red); }
.fpt-hero { background: radial-gradient(circle at 88% 18%, rgba(237,28,36,.28), transparent 27%), linear-gradient(128deg,#080808 0%,#242424 68%,#131313 100%); }
.fpt-hero::after { border-color: rgba(237,28,36,.12); }
.fpt-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 70px; align-items: center; }
.fpt-brand-panel { padding: 0; color: #fff; background: transparent; border: 0; }
.fpt-brand-logo { display: block; width: 100%; height: auto; object-fit: contain; }
.fpt-brand-panel span { display: block; margin-top: 20px; color: var(--fbm-charcoal); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.fpt-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; }
.fpt-filter { display: inline-flex; padding: 12px 19px; color: var(--fbm-charcoal); background: #fff; border: 1px solid var(--fbm-line); font-family: "Archivo",sans-serif; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; align-items: center; justify-content: center; transition: .16s ease; }
.fpt-filter:hover,.fpt-filter:focus-visible,.fpt-filter.is-active { color: #fff; background: var(--fpt-blue); border-color: var(--fpt-blue); }
.fpt-engine-image { background: #fff; }
.fpt-engine-image img { width: 100%; height: 245px; padding: 24px; object-fit: contain; }
.fpt-engine-image span { background: var(--fpt-blue); }
.fpt-engine-body { min-height: 420px !important; }
.fpt-catalog-item[hidden] { display: none !important; }
.fpt-load-more { background: var(--fpt-blue); }
.fpt-load-more:hover,.fpt-load-more:focus-visible { background: var(--fpt-blue-dark); }
.fpt-topbar { border-bottom: 3px solid var(--fpt-cyan); }
.fpt-product-logo { width: 200px; height: auto; margin-bottom: 24px; padding: 0; background: transparent; }
.fpt-product-image { background: #fff; border: 1px solid var(--fbm-line); }
.fpt-product-image::before { border-top-color: var(--fpt-blue); border-right-color: var(--fpt-blue); }
.fpt-product-image img { width: 100%; height: auto !important; max-height: 570px; object-fit: contain; }
.fpt-config-intro { max-width: 900px; margin: -20px 0 38px; color: var(--fbm-gray); font-size: 1.05rem; }
.fpt-variant-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.fpt-variant-card { background: #fff; border: 1px solid var(--fbm-line); }
.fpt-variant-heading { display: flex; min-height: 115px; padding: 25px 28px; color: #fff; background: var(--fbm-charcoal); border-top: 5px solid var(--fpt-red); gap: 18px; align-items: flex-start; justify-content: space-between; }
.fpt-variant-heading span { display: block; margin-bottom: 6px; color: var(--fpt-cyan); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fpt-variant-heading h3 { margin: 0; color: #fff; font-size: 1.7rem; }
.fpt-variant-heading p { max-width: 190px; margin: 2px 0 0; color: #d7d7d7; font-size: .78rem; line-height: 1.4; text-align: right; }
.fpt-variant-card dl { margin: 0; }
.fpt-variant-card dl div { display: grid; grid-template-columns: minmax(140px,.85fr) minmax(0,1.15fr); gap: 18px; padding: 13px 24px; border-bottom: 1px solid var(--fbm-line); }
.fpt-variant-card dl div:last-child { border-bottom: 0; }
.fpt-variant-card dt { color: #6f7479; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.fpt-variant-card dd { margin: 0; color: #151515; font-size: .86rem; font-weight: 600; text-align: right; }
.fpt-page .perkins-learn,.fpt-page .perkins-back,.fpt-page .perkins-source a { text-decoration-color: var(--fpt-cyan) !important; }
.fpt-page .perkins-learn:hover,.fpt-page .perkins-back:hover,.fpt-page .perkins-source a:hover { color: var(--fpt-blue); }
@media (max-width: 991.98px) { .fpt-hero-grid { grid-template-columns: 1fr; } .fpt-brand-panel { width: 260px; } .fpt-variant-grid { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) { .fpt-hero-grid { gap: 35px; } .fpt-filter { flex: 1 1 calc(50% - 10px); } .fpt-variant-heading { flex-direction: column; } .fpt-variant-heading p { text-align: left; } .fpt-variant-card dl div { grid-template-columns: 1fr; gap: 5px; } .fpt-variant-card dd { text-align: left; } }
