/* Fast Products */
/* Footer email: keep lower case on one line */
.fp-email .zpbutton-content{text-transform:none!important;white-space:nowrap!important;word-break:normal!important;font-size:13px!important}
/* Notice bar: sit at the bottom of the screen so it never covers the header */
#zsmsg-policy .zplight-section{top:auto!important;bottom:0!important;box-shadow:0 -4px 16px rgba(14,47,85,.12)}
/* Home page: remove the empty space above the hero */
.theme-banner:has(+ .theme-content-area .fp-hero){display:none!important}
.zpsection:has(.fp-hero){padding-top:20px!important}
.zpelem-codesnippet:has(.fp-hero){margin-top:0!important}
/* Credit page: show the intro above the application form */
.zpcontent-container:has(> .zpsection .fp-ci){display:flex!important;flex-direction:column}
.zpsection:has(.fp-ci){order:-1;padding-bottom:0!important}
/* end */

/* ===== FP interactive homepage (search, stats, animations, quick-filter, sign-up panel) ===== */
/* Hero search */
.fp-search{position:relative;display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:6px 6px 6px 14px;margin:0 0 12px;max-width:560px;box-shadow:0 10px 30px rgba(6,24,48,.25)}
.fp-search-ico{width:20px;height:20px;color:#0E2F55;flex:none}
.fp-search input{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font:400 16px/1.3 'Source Sans Pro',Arial,sans-serif;color:#0E2F55;padding:10px 4px!important;height:auto!important;margin:0!important}
.fp-search input::placeholder{color:#6B7F95}
.fp-search input::-webkit-search-cancel-button{cursor:pointer}
.fp-search button{flex:none;border:0;border-radius:9px;background:#8DC63F;color:#0E2F55;font:700 15px/1 'Montserrat',Arial,sans-serif;padding:13px 20px;cursor:pointer;transition:background .15s,transform .15s}
.fp-search button:hover{background:#9fd651;transform:translateY(-1px)}
.fp-search:focus-within{box-shadow:0 0 0 3px rgba(141,198,63,.65),0 10px 30px rgba(6,24,48,.25)}
.fp-sugg{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border-radius:12px;box-shadow:0 18px 40px rgba(6,24,48,.3);padding:6px;z-index:50;max-height:420px;overflow:auto;text-align:left}
.fp-sugg[hidden]{display:none}
.fp-sugg-item{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:8px;border-radius:8px;color:#0E2F55!important;text-decoration:none!important}
.fp-sugg-item img{width:44px;height:44px;object-fit:contain;background:#F3F7FC;border-radius:6px}
.fp-sugg-name{font:600 14px/1.3 'Source Sans Pro',Arial,sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fp-sugg-price{font:700 14px/1 'Montserrat',Arial,sans-serif;color:#1F6FC5}
.fp-sugg-item:hover,.fp-sugg-item.on{background:#EEF5FD}
.fp-sugg-all{display:block;padding:10px 8px 8px;margin-top:4px;border-top:1px solid #E3ECF6;font:700 13px/1.2 'Montserrat',Arial,sans-serif;color:#1F6FC5!important;text-decoration:none!important}
.fp-sugg-all.on,.fp-sugg-all:hover{background:#EEF5FD;border-radius:8px}
.fp-sugg-empty{padding:12px 10px;font:400 14px/1.4 'Source Sans Pro',Arial,sans-serif;color:#4A6078}
.fp-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 22px;font:400 13px/1 'Source Sans Pro',Arial,sans-serif;color:#DCEAF8}
.fp-tags span{margin-right:2px}
.fp-tags a{color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 11px;transition:background .15s,border-color .15s}
.fp-tags a:hover{background:rgba(255,255,255,.14);border-color:#8DC63F}

/* Hero stats strip */
.fp-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.fp-stat{display:flex;flex-direction:column;gap:4px}
.fp-stat b{font:800 30px/1 'Montserrat',Arial,sans-serif;color:#8DC63F;font-variant-numeric:tabular-nums}
.fp-stat span{font:400 14px/1.35 'Source Sans Pro',Arial,sans-serif;color:#DCEAF8}
@media (max-width:900px){.fp-stats{grid-template-columns:repeat(2,1fr);row-gap:18px}}

/* Hover polish on existing cards */
.fp-feat{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.fp-feat:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(14,47,85,.12)}
.fp-cat{transition:transform .22s ease,box-shadow .22s ease!important}
.fp-cat:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(14,47,85,.16)!important}
.fp-cat .fp-img{overflow:hidden}
.fp-cat .fp-img img{transition:transform .45s ease}
.fp-cat:hover .fp-img img{transform:scale(1.07)}
.fp-card img{transition:transform .35s ease}
.fp-card:hover img{transform:scale(1.05)}

/* Scroll reveal (only applied when JS adds .fp-anim) */
.fp-anim .fp-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--fp-d,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--fp-d,0ms)}
.fp-anim .fp-reveal.fp-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fp-anim .fp-reveal{opacity:1;transform:none;transition:none}.fp-cat:hover,.fp-feat:hover{transform:none}}

/* Browse-by-range quick filter */
.fp-qf{margin:44px 0 0;font-family:'Source Sans Pro',Arial,sans-serif}
.fp-qf-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.fp-qf-head h2{font:800 28px/1.2 'Montserrat',Arial,sans-serif;color:#0E2F55;margin:0}
.fp-qf-more{font:700 14px/1 'Montserrat',Arial,sans-serif;color:#1F6FC5!important;text-decoration:none!important;white-space:nowrap}
.fp-qf-more:hover{text-decoration:underline!important}
.fp-qf-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:none}
.fp-qf-chips::-webkit-scrollbar{display:none}
.fp-qf-chip{flex:none;border:1.5px solid #CFDDEC;background:#fff;color:#0E2F55;border-radius:999px;padding:10px 16px;font:700 14px/1 'Montserrat',Arial,sans-serif;cursor:pointer;transition:all .18s ease}
.fp-qf-chip:hover{border-color:#1F6FC5;color:#1F6FC5}
.fp-qf-chip.on{background:#0E2F55;border-color:#0E2F55;color:#fff;box-shadow:0 6px 16px rgba(14,47,85,.25)}
.fp-qf-chip:focus-visible{outline:3px solid #8DC63F;outline-offset:2px}
.fp-qf-body{position:relative}
.fp-qf-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 5*14px)/6);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 14px;scrollbar-width:thin;min-height:280px}
.fp-qf-card{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid #E1EAF4;border-radius:14px;padding:12px;color:#0E2F55!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease;animation:fpFade .35s ease both}
.fp-qf-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(14,47,85,.14)}
.fp-qf-img{display:block;aspect-ratio:1/1;border-radius:10px;background:#F3F7FC;overflow:hidden;margin-bottom:10px}
.fp-qf-img img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.fp-qf-card:hover .fp-qf-img img{transform:scale(1.06)}
.fp-qf-name{font:600 14px/1.35 'Source Sans Pro',Arial,sans-serif;min-height:38px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fp-qf-price{font:800 16px/1 'Montserrat',Arial,sans-serif;margin-top:8px;color:#0E2F55}
.fp-qf-price small{font:400 12px 'Source Sans Pro',Arial,sans-serif;color:#6B7F95}
.fp-qf-go{margin-top:auto;padding-top:10px;font:700 13px/1 'Montserrat',Arial,sans-serif;color:#1F6FC5}
.fp-qf-skel .fp-qf-img,.fp-qf-skel .fp-qf-name,.fp-qf-skel .fp-qf-price{background:linear-gradient(90deg,#EEF3F9 25%,#F7FAFD 50%,#EEF3F9 75%);background-size:200% 100%;animation:fpShimmer 1.2s infinite linear;border-radius:6px;color:transparent}
.fp-qf-skel .fp-qf-name{height:34px}.fp-qf-skel .fp-qf-price{height:16px;width:50%}
.fp-qf-empty{grid-column:1/-1;padding:40px 0;color:#4A6078;font-size:16px}
.fp-qf-empty a{color:#1F6FC5!important}
.fp-qf-nav{position:absolute;top:38%;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid #CFDDEC;background:#fff;color:#0E2F55;font:400 26px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 6px 16px rgba(14,47,85,.15);display:flex;align-items:center;justify-content:center;padding:0 0 3px;transition:background .15s,color .15s}
.fp-qf-nav:hover{background:#0E2F55;color:#fff}
.fp-qf-nav[data-dir=prev]{left:-14px}.fp-qf-nav[data-dir=next]{right:-14px}
@keyframes fpShimmer{to{background-position:-200% 0}}
@keyframes fpFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:1100px){.fp-qf-track{grid-auto-columns:calc((100% - 3*14px)/4)}}
@media (max-width:760px){.fp-qf-track{grid-auto-columns:46%}.fp-qf-nav{display:none}.fp-qf-head h2{font-size:22px}.fp-search{padding-left:10px}.fp-search button{padding:12px 14px}}
@media (prefers-reduced-motion:reduce){.fp-qf-card,.fp-qf-skel *{animation:none}.fp-qf-track{scroll-behavior:auto}}

/* Sign-in page: new-customer panel */
.fp-join{max-width:520px;margin:28px auto 8px;background:linear-gradient(135deg,#0E2F55 0%,#1F6FC5 100%);color:#fff;border-radius:16px;padding:24px 26px;box-shadow:0 14px 34px rgba(14,47,85,.25);font-family:'Source Sans Pro',Arial,sans-serif;box-sizing:border-box}
.fp-join h2{font:800 22px/1.25 'Montserrat',Arial,sans-serif;color:#fff;margin:0 0 6px}
.fp-join p{margin:0 0 14px;color:#DCEAF8;font-size:15px;line-height:1.45}
.fp-join ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:7px}
.fp-join li{font-size:15px;color:#fff;padding-left:24px;position:relative}
.fp-join li:before{content:'\2713';position:absolute;left:0;color:#8DC63F;font-weight:700}
.fp-join a.fp-join-btn{display:inline-block;background:#8DC63F;color:#0E2F55!important;font:700 15px/1 'Montserrat',Arial,sans-serif;padding:14px 22px;border-radius:10px;text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.fp-join a.fp-join-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.2)}
.fp-join small{display:block;margin-top:12px;color:#DCEAF8;font-size:13px}

/* Sign-in page: phone and email under the header tagline */
.fp-hdr-contact{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:6px;font:600 14px/1.3 'Source Sans Pro',Arial,sans-serif;color:#fff}
.fp-hdr-contact a{color:#fff!important;text-decoration:none!important}
.fp-hdr-contact a:hover,.fp-hdr-contact a:focus-visible{text-decoration:underline!important}
.fp-hdr-contact span{color:#8DC63F}

/* Sign-up page: trade-account application form (Zoho Forms) in place of 'Sign up disabled' */
#zs_noSignupAllowed .user-signup-container.fp-apply-host{max-width:760px;width:auto;margin:24px auto;padding:0 16px;border:0;box-shadow:none;background:transparent;text-align:center}
.fp-apply h1{font:800 26px/1.25 'Montserrat',Arial,sans-serif;color:#0E2F55;margin:0 0 16px}
.fp-apply iframe{display:block;width:100%;height:2600px;border:0}
.fp-apply .fp-apply-foot{font:400 15px/1.4 'Source Sans Pro',Arial,sans-serif;margin:12px 0 0}
.fp-apply .fp-apply-foot a{color:#1F6FC5;font-weight:600}

/* Sign-up page: branded thank-you panel after the application form is submitted */
.fp-apply.fp-thanks{max-width:560px;margin:8px auto 24px;background:linear-gradient(135deg,#0E2F55 0%,#1F6FC5 100%);color:#fff;border-radius:16px;padding:32px 28px;box-shadow:0 14px 34px rgba(14,47,85,.25);font-family:'Source Sans Pro',Arial,sans-serif;box-sizing:border-box}
.fp-thanks .fp-thanks-tick{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#8DC63F;color:#0E2F55;font-size:28px;font-weight:800;margin:0 0 12px}
.fp-apply.fp-thanks h1{color:#fff;font:800 24px/1.25 'Montserrat',Arial,sans-serif;margin:0 0 10px;outline:none}
.fp-thanks p{color:#DCEAF8;font-size:16px;line-height:1.5;margin:0 0 16px}
.fp-thanks p.fp-thanks-q{color:#fff;font-weight:600;margin:20px 0 10px}
.fp-thanks-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.fp-thanks a.fp-thanks-btn{display:inline-block;background:#8DC63F;color:#0E2F55!important;font:700 15px/1 'Montserrat',Arial,sans-serif;padding:14px 18px;border-radius:10px;text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.fp-thanks a.fp-thanks-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.2)}
.fp-thanks a.fp-thanks-btn-alt{background:#fff}
.fp-thanks p.fp-thanks-foot{margin:18px 0 0}
.fp-thanks p.fp-thanks-foot a{color:#fff!important;font-weight:600;text-decoration:underline!important}
/* ===== end FP interactive ===== */
