/* FourPoint brand layer for Divi 5. Tokens come from design/README.md (Claude Design "Site C"). */
:root{
  --fp-navy:#0B2A55; --fp-navy-hover:#123A70; --fp-navy-deep:#0B2346;
  --fp-gold:#C9A23A; --fp-gold-hover:#D9B44C; --fp-gold-text:#7A5D17; --fp-link-hover:#B08A2E;
  --fp-ink:#13213A; --fp-t2:#3C4656; --fp-t3:#5A6372; --fp-t4:#6B7380; --fp-t5:#8A919C;
  --fp-border-strong:#CFD4DC; --fp-border:#E1E4EA; --fp-bg-page:#F5F6F8; --fp-bg-band:#EEF0F3; --fp-bg-image:#F4F4F4;
  --fp-warn-bg:#FBF6E8; --fp-warn-border:#E8D9AE; --fp-warn-text:#6A531A;
}
body, body p, body li, body input, body textarea, body select, body button, #top-menu a, .et_mobile_menu a{
  font-family:'Archivo', system-ui, sans-serif !important; }
body{ color:var(--fp-ink); background:var(--fp-bg-page); }
#page-container, #main-content{ background:var(--fp-bg-page); }
h1,h2,h3,h4{ font-family:'Archivo', system-ui, sans-serif !important; color:var(--fp-navy); font-weight:800; }
h1{ font-stretch:115%; font-size:40px; line-height:1.08; }
h2{ font-stretch:115%; font-size:28px; }
h3{ font-size:19px; font-weight:700; }
a{ color:var(--fp-navy); } a:hover{ color:var(--fp-link-hover); }
.fp-mono{ font-family:'IBM Plex Mono', ui-monospace, monospace !important; }

/* Sections */
.et_pb_section.fp-hero{ background:var(--fp-bg-band) url('https://fpindustrialproducts.com/wp-content/uploads/2026/10/hero-delivery-temp.jpg') left center/cover no-repeat;
  border-bottom:3px solid var(--fp-gold); padding:128px 0 104px !important; position:relative; }
.et_pb_section.fp-hero::before{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.80) 40%,rgba(255,255,255,.40) 55%,rgba(255,255,255,0) 66%); }
.et_pb_section.fp-hero .et_pb_row{ position:relative; z-index:1; }
.et_pb_section.fp-hero .et_pb_column{ max-width:560px; }
.fp-hero-h1{ font-size:58px !important; font-stretch:118%; line-height:1.03; letter-spacing:-.01em; text-wrap:balance; }
.fp-hero-p{ font-size:17px; color:var(--fp-t2); max-width:520px; }
@media (max-width:768px){
  .et_pb_section.fp-hero{ padding:80px 0 48px !important; background-position:70% 50%; }
  .et_pb_section.fp-hero::before{ background:linear-gradient(180deg,rgba(238,240,243,.94) 0%,rgba(238,240,243,.88) 65%,rgba(238,240,243,.60) 100%); }
  .fp-hero-h1{ font-size:38px !important; }
}
.fp-eyebrow{ font-size:12px !important; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color:var(--fp-gold-text) !important; margin-bottom:10px !important; padding:0 !important; }
@media (max-width:980px){ .et_pb_section.fp-band{ padding:76px 0 32px !important; } }
.et_pb_section.fp-band{ background:var(--fp-bg-band); border-bottom:3px solid var(--fp-gold); padding:108px 0 48px !important; }
.fp-band-sub{ font-size:17px; color:var(--fp-t2); max-width:680px; margin-top:12px; }
.et_pb_section.fp-sec{ background:transparent; padding:24px 0; }
.et_pb_section.fp-sec-first{ padding-top:64px; }
.et_pb_section.fp-cta-band{ background:var(--fp-navy); border-top:3px solid var(--fp-gold); padding:48px 0; margin-top:56px; }
.fp-cta-band h2, .fp-cta-band p{ color:#fff !important; }
.fp-lead{ font-size:18px; color:var(--fp-t2); }
.fp-muted{ color:var(--fp-t3); }
.fp-list li{ margin-bottom:8px; }

/* Buttons */
.et_pb_button.et_pb_button, .fp-btn-module .et_pb_button{ background:var(--fp-navy); color:#fff !important; border:0 !important;
  border-radius:4px; font-size:16px; font-weight:700; padding:14px 22px !important; }
.et_pb_button:hover{ background:var(--fp-navy-hover) !important; padding:14px 22px !important; }
.et_pb_button::after{ display:none !important; }
.et_pb_button.fp-btn-gold{ background:var(--fp-gold) !important; color:var(--fp-navy-deep) !important; }
.et_pb_button.fp-btn-gold:hover{ background:var(--fp-gold-hover) !important; }
.fp-more{ font-weight:700; }

/* Grids and cards */
.fp-h2-row{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; }
.fp-grid{ display:grid; gap:12px; margin-top:16px; }
.fp-grid-cards{ grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr)); }
.fp-grid-pkg{ grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr)); }
.fp-card{ display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--fp-border);
  border-radius:6px; padding:20px; text-decoration:none; transition:border-color .15s; scroll-margin-top:120px; }
a.fp-card:hover{ border-color:var(--fp-navy); }
.fp-card-title{ font-size:17px; font-weight:700; color:var(--fp-navy); }
.fp-card-sub{ font-size:14px; color:var(--fp-t3); }
.fp-pkg{ background:#fff; border:1px solid var(--fp-border); border-radius:6px; overflow:hidden; }
.fp-pkg-img{ aspect-ratio:1/1; background:var(--fp-bg-image); display:flex; align-items:center; justify-content:center; }
.fp-pkg-img img{ width:100%; height:100%; object-fit:contain; }
.fp-pkg-cap{ border-top:3px solid var(--fp-gold); padding:14px 16px; display:flex; flex-direction:column; gap:2px; }
.fp-pkg-name{ font-size:16px; font-weight:700; color:var(--fp-navy); }
.fp-pkg-sub{ font-size:13px; color:var(--fp-t3); }
.fp-steps{ background:#fff; border:1px solid var(--fp-border); border-radius:6px; padding:36px;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:32px; }
.fp-step-num{ font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--fp-link-hover); }
.fp-step p{ font-size:15px; line-height:1.55; color:var(--fp-t3); }
.fp-cards3 .et_pb_column{ background:#fff; border:1px solid var(--fp-border); border-top:3px solid var(--fp-gold);
  border-radius:6px; padding:24px; }
.fp-photo img{ border-radius:6px; aspect-ratio:16/10; object-fit:cover; }

/* Notices, legal, forms */
.fp-notice{ background:var(--fp-warn-bg); border:1px solid var(--fp-warn-border); color:var(--fp-warn-text);
  padding:12px 16px; border-radius:4px; margin-bottom:24px; }
.fp-legal{ max-width:860px; } .fp-legal h2{ font-size:20px; margin-top:24px; }
.fp-contact-form{ background:#fff; border:1px solid var(--fp-border); border-radius:6px; padding:28px; }
.fp-contact-form input.input, .fp-contact-form textarea.input{ background:#fff !important; border:1px solid var(--fp-border-strong) !important;
  border-radius:4px; font-size:15px; padding:12px !important; color:var(--fp-ink) !important; }
.fp-contact-form .et_pb_contact_submit{ background:var(--fp-navy) !important; color:#fff !important; border:0 !important; border-radius:4px; }

/* ===== Site chrome: copied 1:1 from design/prototype/Site C.dc.html so WordPress and the app match ===== */
#top-header, #main-header, #main-footer, #et-main-area > #main-footer{ display:none !important; }
#page-container{ padding-top:0 !important; margin-top:0 !important; overflow:visible !important; }
.fp-wrap{ max-width:1240px; margin:0 auto; padding:0 24px; width:100%; box-sizing:border-box; }
.fp-util{ background:#0B2346; color:#C9CED6; font-size:12px; }
.fp-util .fp-wrap{ padding-top:8px; padding-bottom:8px; display:flex; justify-content:space-between; gap:12px; }
.fp-util .fp-mono{ color:#C9CED6; }
.fp-head{ background:#fff; border-bottom:1px solid #0B2A55; position:sticky; top:var(--wp-admin--admin-bar--height,0px);
  z-index:9999; margin-bottom:0; box-shadow:none; transition:margin-bottom .28s ease, box-shadow .28s ease; }
.fp-head > .fp-wrap{ display:flex; align-items:center; gap:28px; }
.fp-logo{ position:relative; flex:none; width:270px; height:99px; display:block; transition:height .28s ease; }
.fp-logo-full{ position:absolute; left:0; bottom:-75px; height:180px; width:auto; max-width:none; clip-path:inset(4.2% 0 0 0);
  opacity:1; transform:scale(1); transform-origin:50% 0; transition:opacity .22s ease, transform .28s ease; pointer-events:none; }
.fp-logo-compact{ position:absolute; left:0; top:50%; display:flex; align-items:center; gap:10px; white-space:nowrap; opacity:0;
  transform:translateY(-50%) scale(.9); transform-origin:0 50%; transition:opacity .22s ease .06s, transform .28s ease; pointer-events:none; }
.fp-logo-compact img{ width:42px; height:42px; object-fit:contain; display:block; }
.fp-logo-compact .fp-lc-text{ display:flex; flex-direction:column; line-height:1; }
.fp-lc-name{ font-weight:900; font-stretch:125%; font-size:21px; color:#0B2A55; }
.fp-lc-sub{ font-size:9.5px; letter-spacing:.24em; color:#6B7380; margin-top:4px; }
.fp-search{ flex:1 1 160px; display:flex; align-items:center; border:1px solid #CFD4DC; border-radius:4px; padding:0 4px 0 12px;
  max-width:420px; min-width:120px; text-decoration:none !important; }
.fp-search-ph{ flex:1; font-size:14px; color:#8A919C; padding:11px 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fp-search-btn{ background:#0B2A55; color:#fff; border-radius:3px; padding:7px 12px; font-size:13px; font-weight:700; white-space:nowrap; }
.fp-nav{ display:flex; gap:4px; align-items:center; flex:none; margin-left:auto; }
.fp-nav a{ white-space:nowrap; padding:10px 8px; font-size:15px; font-weight:600; color:#3C4656; border-bottom:2px solid transparent; text-decoration:none; }
.fp-nav a.is-active{ color:#0B2A55; border-bottom-color:#C9A23A; }
.fp-nav a.fp-cart{ color:#0B2A55; }
.fp-nav a.fp-account{ background:#fff; color:#0B2A55; border:1.5px solid #0B2A55; border-radius:4px; padding:9px 16px; font-size:14px; font-weight:700; margin-left:4px; }
.fp-nav a.fp-account:hover{ background:#0B2A55; color:#fff; }
.fp-mob{ display:none; }
.fp-mob .fp-cart{ font-size:14px; font-weight:700; color:#0B2A55; padding:10px 4px; text-decoration:none; }
.fp-burger{ display:flex; flex-direction:column; gap:5px; padding:12px 4px; background:none; border:none; cursor:pointer; }
.fp-burger span{ width:22px; height:2px; background:#0B2A55; display:block; }
.fp-menu{ display:none; position:absolute; left:0; right:0; top:100%; border-top:3px solid #C9A23A; background:#fff; flex-direction:column;
  padding:56px 20px 16px; box-shadow:0 12px 24px rgba(11,35,70,.12); }
.fp-head.is-open .fp-menu{ display:flex; }
.fp-menu a{ text-align:left; border-bottom:1px solid #E1E4EA; padding:14px 0; font-size:20px; font-weight:800; font-stretch:115%; color:#0B2A55; text-decoration:none; }
/* compact (>24px on, <8px off; script in fp-brand.php). Header height + margin stays constant: no layout jump */
.fp-head.is-compact{ margin-bottom:31px; box-shadow:0 2px 12px rgba(11,35,70,.10); }
.fp-head.is-compact .fp-logo{ height:68px; }
.fp-head.is-compact .fp-logo-full{ opacity:0; transform:scale(.6); }
.fp-head.is-compact .fp-logo-compact{ opacity:1; transform:translateY(-50%) scale(1); }
@media (max-width:768px){
  .fp-wrap{ padding:0 20px; }
  .fp-util .fp-util-r{ display:none; }
  .fp-logo{ width:165px; height:59px; }
  .fp-logo-full{ height:110px; bottom:-48px; }
  .fp-logo-compact img{ width:34px; height:34px; } .fp-lc-name{ font-size:17px; } .fp-lc-sub{ font-size:8px; letter-spacing:.14em; }
  .fp-head.is-compact{ margin-bottom:5px; } .fp-head.is-compact .fp-logo{ height:54px; }
  .fp-search, .fp-nav{ display:none; }
  .fp-mob{ display:flex; align-items:center; gap:8px; margin-left:auto; }
}
.fp-foot{ background:#0B2346; color:#9AA6BA; border-top:3px solid #C9A23A; }
.fp-foot .fp-wrap{ padding-top:36px; padding-bottom:36px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:14px; }
.fp-foot-brand{ display:flex; flex-direction:column; gap:6px; }
.fp-foot-name{ font-weight:900; font-stretch:125%; font-size:18px; color:#fff; }
.fp-foot-sub{ letter-spacing:.2em; font-size:11px; }
.fp-foot-links{ display:flex; gap:20px; flex-wrap:wrap; align-items:start; }
.fp-foot-links a{ color:#C9CED6 !important; text-decoration:none; }
.fp-foot-links a:hover{ color:#fff !important; }
.fp-foot-meta{ display:flex; flex-direction:column; gap:6px; }
.et_pb_section.fp-sec-last{ padding-bottom:80px; }
.fp-contact .et_pb_column:last-child{ background:#fff; border:1px solid var(--fp-border); border-radius:6px; padding:28px; }
.fp-contact .fp-contact-form{ border:0; padding:0; }
.fp-ports{ background:#fff; border:1px solid var(--fp-border); border-top:3px solid var(--fp-gold); border-radius:6px; padding:24px;
  display:flex; flex-direction:column; gap:16px; margin-top:24px; }
.fp-ports .fp-eyebrow{ letter-spacing:.16em; margin:0 !important; }
.fp-ports-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }
.fp-port-col{ display:flex; flex-direction:column; gap:8px; }
.fp-port-state{ font-weight:700; font-size:16px; color:var(--fp-navy); }
.fp-port{ font-size:15px; color:var(--fp-t2); padding-left:14px; border-left:2px solid var(--fp-gold); }
.fp-small{ font-size:14px; }
/* who we serve, ports, delivery steps, port pages */
.fp-grid-who{ grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr)); }
.fp-who{ border-top:3px solid var(--fp-gold); }
.fp-steps-4{ grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); margin-top:16px; }
.fp-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.fp-chip{ border:1px solid var(--fp-border-strong); border-radius:20px; padding:8px 14px; font-size:14px; font-weight:600;
  color:var(--fp-navy); background:#fff; text-decoration:none; }
.fp-chip:hover{ border-color:var(--fp-navy); color:var(--fp-navy); }
.fp-grid-ports{ grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr)); margin-top:24px; }
.fp-port-card .fp-eyebrow{ margin:0 !important; letter-spacing:.16em; }
.fp-port-card .fp-more{ margin-top:6px; }
a.fp-port{ text-decoration:none; } a.fp-port:hover{ color:var(--fp-navy); }
.fp-facts{ background:#fff; border:1px solid var(--fp-border); border-top:3px solid var(--fp-gold); border-radius:6px; padding:24px; }
.fp-facts .fp-eyebrow{ margin:0 0 12px !important; letter-spacing:.16em; }
.fp-facts dl{ display:grid; grid-template-columns:max-content 1fr; gap:10px 18px; margin:0; }
.fp-facts dt{ font-size:13px; font-weight:600; color:var(--fp-t4); }
.fp-facts dd{ margin:0; font-size:15px; color:var(--fp-ink); }
.fp-util-r{ display:flex; align-items:center; gap:10px; }
.fp-util a{ color:#C9CED6; text-decoration:none; } .fp-util a:hover{ color:#fff; }
.fp-util-phone{ font-weight:700; } .fp-util-sep{ opacity:.5; }
@media (max-width:768px){ .fp-util .fp-util-r{ display:flex; } .fp-util .fp-wrap > span:first-child, .fp-util .fp-mono, .fp-util-sep{ display:none; } }
.fp-foot-meta a{ color:#9AA6BA !important; text-decoration:none; } .fp-foot-meta a:hover{ color:#fff !important; }
.fp-phone{ font-size:22px; font-weight:800; font-stretch:110%; } .fp-phone a{ color:var(--fp-navy); text-decoration:none; }
/* product documents library (design: Documents screen) */
.fp-doc-cat{ font-size:20px !important; margin:28px 0 12px; }
.fp-doc-cat:first-child{ margin-top:0; }
.fp-doc-list{ background:#fff; border:1px solid var(--fp-border); border-radius:6px; }
.fp-doc-row{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:16px 20px; border-top:1px solid #EBEDF1; }
.fp-doc-row:first-child{ border-top:0; }
.fp-doc-main{ display:flex; flex-direction:column; gap:4px; }
.fp-doc-name{ font-size:16px; font-weight:700; color:var(--fp-navy); }
.fp-doc-spec{ font-size:14px; color:var(--fp-t3); }
.fp-doc-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.fp-doc-btn{ background:#fff; color:var(--fp-navy) !important; border:1.5px solid var(--fp-navy); border-radius:4px; padding:8px 14px;
  font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
.fp-doc-btn:hover{ background:var(--fp-navy); color:#fff !important; }
