/* SARU Product Finder — deliberately scoped, compatible with Salient/WPBakery. */
.spf-root {
  --spf-ink:#17202b; --spf-dim:#627182; --spf-line:#e6ebf0;
  --spf-blue:#395eea; --spf-indigo:#6d5ff3; --spf-surface:#f6f8fb;
  width:100%;max-width:1320px;margin:0 auto 48px;
  font-family:inherit;color:var(--spf-ink);line-height:1.55;
  box-sizing:border-box;
}
.spf-root *, .spf-root *:before,.spf-root *:after { box-sizing:border-box; }
.spf-root button,.spf-root input,.spf-root select{font-family:inherit;}
.spf-root button{cursor:pointer;transition:background .18s ease, transform .18s ease,border-color .18s ease;}
.spf-root button:focus-visible,.spf-root a:focus-visible,.spf-root input:focus-visible,.spf-root select:focus-visible{
  outline:3px solid #93b5ff!important;outline-offset:3px;
}
.spf-root .spf-hero{
  border-radius:28px;padding:52px clamp(18px,5vw,64px) 39px;overflow:hidden;position:relative;
  background:radial-gradient(ellipse 60% 80% at 95% -25%,rgba(194,204,255,.7),transparent 70%),
    radial-gradient(ellipse 50% 90% at -10% 100%,rgba(184,237,250,.55),transparent 75%),
    linear-gradient(120deg,#f1f6ff 0%,#f9faff 53%,#eeeafb 100%);
  border:1px solid #e9eafd;
}
.spf-root .spf-eyebrow {font-weight:800;font-size:11px;letter-spacing:.12em;color:#515f85;margin-bottom:15px;}
.spf-root .spf-sparkle{color:#6265ea;font-size:18px;vertical-align:middle;margin-right:7px;}
.spf-root .spf-hero h2{color:#1d2940!important;font-size:clamp(29px,4vw,49px)!important;letter-spacing:-.035em;line-height:1.2;margin:0 0 13px!important;font-weight:800!important;}
.spf-root .spf-hero h2 span{background:linear-gradient(100deg,#395eea,#9464d7);-webkit-background-clip:text;background-clip:text;color:transparent;}
.spf-root .spf-hero>p{font-size:clamp(14px,1.35vw,17px);max-width:760px;color:#5b6780;margin:0 0 29px;line-height:1.7;}
.spf-root .spf-form{margin:0;max-width:1040px;}
.spf-root .spf-label,.spf-root .spf-filter-label{display:block;font-size:14px;font-weight:750;color:#2c3a55;margin:0 0 9px;}
.spf-root .spf-search-row{display:flex;position:relative;min-height:68px;background:#fff;border:1px solid #dce4f6;border-radius:15px;padding:6px;align-items:center;box-shadow:0 9px 35px rgba(68,91,146,.07);}
.spf-root .spf-search-icon{position:absolute;left:21px;color:#7482a8;font-size:32px;line-height:1;pointer-events:none;}
.spf-root input.spf-search{flex:1;min-width:0;margin:0!important;padding:14px 15px 14px 53px!important;color:#25324a!important;font-size:15px!important;line-height:1.4!important;border:0!important;border-radius:12px!important;box-shadow:none!important;background:transparent!important;min-height:52px!important;height:auto!important;}
.spf-root input.spf-search::placeholder{color:#94a0b5;opacity:1;}
.spf-root .spf-submit{height:53px;background:linear-gradient(120deg,#475de7,#665ce2)!important;border:0!important;border-radius:11px!important;color:white!important;padding:0 26px!important;font-size:14px!important;font-weight:750!important;white-space:nowrap;min-width:170px;box-shadow:none!important;line-height:1!important;}
.spf-root .spf-submit:hover{background:#3749cc!important;transform:translateY(-1px);}
.spf-root .spf-submit span{font-size:20px;vertical-align:-1px;margin-left:5px;}
.spf-root .spf-filters{display:flex;align-items:center;gap:10px;margin:19px 0 0;flex-wrap:wrap;}
.spf-root .spf-filter-label{margin:0 3px 0 0;white-space:nowrap;}
.spf-root select.spf-category{height:41px!important;max-width:240px;min-width:175px;background:#fff!important;border:1px solid #dee4ef!important;border-radius:9px!important;color:#36445b!important;padding:7px 35px 7px 13px!important;font-size:13px!important;line-height:1.5!important;box-shadow:none!important;margin:0!important;}
.spf-root .spf-reset{padding:7px 10px!important;margin:0!important;min-height:40px;background:transparent!important;border:0!important;box-shadow:none!important;color:#627083!important;font-size:13px!important;font-weight:600!important;}
.spf-root .spf-reset:hover{color:#344bdd!important;}
.spf-root .spf-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:24px 0 0;}
.spf-root .spf-chips>span{color:#7b87a3;font-size:12px;margin-right:4px;}
.spf-root button.spf-chip{padding:7px 13px!important;margin:0!important;background:#fff!important;border:1px solid #e2e5f6!important;border-radius:999px!important;color:#62708f!important;font-size:12px!important;font-weight:650!important;min-height:34px;line-height:1.2!important;box-shadow:none!important;}
.spf-root button.spf-chip:hover{border-color:#8188f4!important;background:#f9faff!important;color:#464ccc!important;}
.spf-root .spf-results{padding:44px 2px 0;}
.spf-root .spf-result-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 24px;}
.spf-root .spf-result-eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:#828fa5;margin-bottom:5px;}
.spf-root .spf-result-heading h3{font-size:clamp(22px,2.1vw,29px)!important;color:var(--spf-ink)!important;line-height:1.25;margin:0!important;font-weight:800!important;}
.spf-root .spf-count{font-size:12px;font-weight:650;color:#5464a4;margin-left:12px;white-space:nowrap;vertical-align:middle;background:#edf0ff;padding:7px 10px;border-radius:100px;}
.spf-root .spf-helper{font-size:12px;color:#8895a4;text-align:right;}
.spf-root .spf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.spf-root .spf-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e8eaf0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 4px 20px rgba(28,49,87,.045);transition:box-shadow .2s ease,transform .2s ease;}
.spf-root .spf-card:hover{transform:translateY(-3px);box-shadow:0 15px 33px rgba(38,51,97,.11);}
.spf-root .spf-card[hidden]{display:none!important;}
.spf-root .spf-media{height:245px;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f3f5fa 0%,#f9fbfd 100%);overflow:hidden;}
.spf-root .spf-media img{display:block;position:relative;z-index:1;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;padding:14px;mix-blend-mode:multiply;}
.spf-root .spf-img-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9aabd5;z-index:0;}
.spf-root .spf-img-fallback>span{font-weight:900;font-size:42px;letter-spacing:-.065em;}
.spf-root .spf-dot{color:#748cf3;}
.spf-root .spf-media img.spf-img-broken{display:none;}
.spf-root .spf-category-pill{position:absolute;left:14px;top:14px;z-index:2;border-radius:100px;background:rgba(255,255,255,.94);padding:6px 10px;max-width:calc(100% - 28px);font-size:11px;font-weight:800;color:#485a83;box-shadow:0 3px 10px #27385c10;}
.spf-root .spf-card-body{display:flex;flex:1;flex-direction:column;padding:21px 20px 20px;}
.spf-root .spf-card-model{margin:0 0 6px!important;color:#6979b8;font-size:12px;letter-spacing:.025em;font-weight:750;}
.spf-root .spf-card-body h4{margin:0 0 9px!important;color:#172332!important;font-weight:800!important;font-size:17px!important;line-height:1.42!important;min-height:1px;}
.spf-root .spf-description{font-size:13px;line-height:1.75;color:#697586;margin:0 0 16px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.spf-root .spf-tags{list-style:none!important;margin:auto 0 17px!important;padding:0!important;display:flex;gap:5px;flex-wrap:wrap;}
.spf-root .spf-tags li{list-style:none!important;margin:0!important;padding:5px 9px!important;background:#f1f5fa;color:#5f7085;border:1px solid #e8eef5;border-radius:7px;font-size:11px;line-height:1.25;}
.spf-root .spf-price{font-size:20px;font-weight:850;color:#364bdd;margin:0 0 12px!important;}
.spf-root .spf-match{margin:0 0 9px!important;color:#286f6c;font-size:11px;font-weight:750;}
.spf-root .spf-match[hidden]{display:none!important;}
.spf-root .spf-buttons{display:flex;gap:8px;margin-top:auto;}
.spf-root .spf-btn{display:inline-flex;flex:1;justify-content:center;align-items:center;gap:5px;text-align:center;padding:11px 8px;font-size:12px!important;line-height:1.35!important;text-decoration:none!important;font-weight:760!important;border-radius:10px;min-width:0;transition:transform .2s,background .2s;}
.spf-root .spf-btn:hover{transform:translateY(-1px);}
.spf-root .spf-btn-outline{border:1px solid #d8dff0;color:#45517a!important;background:#fff;}
.spf-root .spf-btn-outline:hover{background:#f4f6ff;color:#344fcb!important;}
.spf-root .spf-btn-dark{border:1px solid #2b3855;color:#fff!important;background:#27344f;}
.spf-root .spf-btn-dark:hover{background:#495cdf;color:#fff!important;}
.spf-root .spf-shop-note{margin:9px 0 0!important;font-size:10px;color:#8a94a7;text-align:right;}
.spf-root .spf-empty[hidden],.spf-root .spf-more-wrap[hidden]{display:none!important;}
.spf-root .spf-empty{text-align:center;background:#f8faff;border:1px solid var(--spf-line);padding:50px 20px;margin-top:12px;border-radius:16px;}
.spf-root .spf-empty-symbol{display:block;font-size:55px;color:#96a7df;line-height:1.1;}
.spf-root .spf-empty h3{font-size:20px!important;margin:14px 0 6px!important;color:var(--spf-ink)!important;}
.spf-root .spf-empty p{font-size:13px;color:var(--spf-dim);margin:0 0 18px;}
.spf-root .spf-empty-reset,.spf-root .spf-more{border:1px solid #cad4ed!important;border-radius:10px!important;background:#fff!important;padding:11px 24px!important;color:#3c52a5!important;font-size:13px!important;font-weight:750!important;box-shadow:none!important;}
.spf-root .spf-more:hover,.spf-root .spf-empty-reset:hover{background:#eff3ff!important;}
.spf-root .spf-more-wrap{text-align:center;padding:25px 0 0;}
.spf-root .spf-footer-note{text-align:center;color:#98a1b1;font-size:11px;padding:30px 5px 0;}
@media(max-width:991px){
  .spf-root .spf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .spf-root .spf-hero{padding:39px 28px;}
}
@media(max-width:640px){
  .spf-root .spf-hero{padding:28px 16px;border-radius:18px;}
  .spf-root .spf-hero h2{font-size:31px!important;}
  .spf-root .spf-search-row{flex-wrap:wrap;padding:5px;}
  .spf-root input.spf-search{width:100%;flex:0 0 100%;padding-left:47px!important;}
  .spf-root .spf-search-icon{top:14px;left:15px;}
  .spf-root .spf-submit{width:100%;min-width:0;}
  .spf-root .spf-filters{gap:7px;}
  .spf-root .spf-filter-label{flex-basis:100%;}
  .spf-root select.spf-category{max-width:none;flex:1;}
  .spf-root .spf-chips{margin-top:17px;gap:6px;}
  .spf-root .spf-chips>span{flex-basis:100%;}
  .spf-root .spf-results{padding-top:29px;}
  .spf-root .spf-result-heading{align-items:start;}
  .spf-root .spf-helper{display:none;}
  .spf-root .spf-count{margin-left:6px;font-size:10px;padding:6px 8px;}
  .spf-root .spf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .spf-root .spf-media{height:155px;}
  .spf-root .spf-media img{padding:7px;}
  .spf-root .spf-category-pill{font-size:9px;left:8px;top:8px;padding:4px 7px;}
  .spf-root .spf-card{border-radius:13px;}
  .spf-root .spf-card-body{padding:12px 10px;}
  .spf-root .spf-card-body h4{font-size:13px!important;}
  .spf-root .spf-card-model{font-size:10px;}
  .spf-root .spf-description{font-size:11px;-webkit-line-clamp:3;line-height:1.55;margin-bottom:10px!important;}
  .spf-root .spf-tags{gap:4px;margin-bottom:11px!important;}
  .spf-root .spf-tags li{font-size:9px;padding:4px 6px!important;}
  .spf-root .spf-btn{font-size:10px!important;padding:9px 5px;}
  .spf-root .spf-buttons{gap:5px;}
  .spf-root .spf-shop-note{font-size:9px;}
  .spf-root .spf-img-fallback>span{font-size:28px;}
}
@media(max-width:350px){
  .spf-root .spf-grid{grid-template-columns:1fr;}
  .spf-root .spf-media{height:210px;}
}
/* v1.1 — higher-confidence search presentation and mobile-first cards. */
.spf-root .spf-results-primary[hidden],.spf-root .spf-results-related[hidden]{display:none!important;}
.spf-root .spf-section-heading{display:none;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:2px 0 15px;}
.spf-root.spf-criteria-search .spf-section-heading{display:flex;}
.spf-root .spf-section-title{font-size:18px!important;font-weight:800!important;line-height:1.4!important;color:#23334c!important;margin:0!important;}
.spf-root .spf-section-title span{display:inline-block;color:#4c5fa4;font-size:12px!important;font-weight:750;background:#edf0ff;padding:3px 9px;border-radius:100px;vertical-align:middle;margin-left:5px;}
.spf-root .spf-section-heading p{margin:0!important;font-size:12px;color:#718099;line-height:1.45;}
.spf-root .spf-results-related{margin-top:33px;}
.spf-root .spf-results-related .spf-section-title{color:#435169!important;}
.spf-root .spf-results-related .spf-section-title span{background:#f0f3f7;color:#5a687e;}
.spf-root .spf-reason,.spf-root .spf-missing{font-size:11.5px;line-height:1.5;margin:0 0 7px!important;}
.spf-root .spf-reason{color:#257568;}
.spf-root .spf-missing{color:#a3682c;}
.spf-root .spf-reason[hidden],.spf-root .spf-missing[hidden]{display:none!important;}
.spf-root.spf-criteria-search .spf-match:not([hidden]){display:block;}
.spf-root .spf-card{min-height:0;}
.spf-root .spf-media{aspect-ratio:16 / 11;height:auto;min-height:200px;}
.spf-root .spf-media img{object-fit:contain;mix-blend-mode:normal;padding:12px;}
.spf-root .spf-card-body{min-height:0;}
.spf-root .spf-buttons{align-items:stretch;}
.spf-root .spf-btn{min-height:44px;overflow-wrap:normal;word-break:normal;}
@media (hover:none){.spf-root .spf-card:hover{transform:none;box-shadow:0 4px 20px rgba(28,49,87,.045);}}
@media(max-width:640px){
  .spf-root{margin-bottom:32px;}
  .spf-root .spf-hero{padding:27px 18px 25px;border-radius:20px;}
  .spf-root .spf-eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:9px;}
  .spf-root .spf-hero h2{font-size:clamp(26px,7vw,32px)!important;line-height:1.25!important;margin-bottom:10px!important;}
  .spf-root .spf-hero>p{font-size:13px;line-height:1.6;margin:0 0 19px;}
  .spf-root .spf-label{font-size:13px;margin-bottom:7px;}
  .spf-root .spf-search-row{border-radius:14px;}
  .spf-root input.spf-search{font-size:16px!important;min-height:49px!important;}
  .spf-root .spf-submit{min-height:47px;height:47px;font-size:14px!important;}
  .spf-root .spf-filters{margin-top:13px;}
  .spf-root .spf-chips{margin-top:13px;}
  .spf-root .spf-results{padding-top:26px;}
  .spf-root .spf-result-heading{margin-bottom:20px;}
  .spf-root .spf-result-heading h3{font-size:23px!important;}
  .spf-root .spf-count{font-size:11px;padding:5px 8px;display:inline-block;margin-left:6px;}
  .spf-root .spf-grid{grid-template-columns:minmax(0,1fr);gap:17px;}
  .spf-root .spf-card{border-radius:16px;}
  .spf-root .spf-media{height:auto;min-height:0;aspect-ratio:16 / 10;}
  .spf-root .spf-media img{padding:12px;}
  .spf-root .spf-category-pill{top:12px;left:12px;font-size:10px;padding:5px 9px;}
  .spf-root .spf-card-body{padding:17px 17px 18px;}
  .spf-root .spf-card-model{font-size:12px;}
  .spf-root .spf-card-body h4{font-size:17px!important;line-height:1.38!important;margin-bottom:9px!important;}
  .spf-root .spf-description{font-size:13px;line-height:1.65;-webkit-line-clamp:3;margin-bottom:13px!important;}
  .spf-root .spf-tags{margin-bottom:15px!important;gap:6px;}
  .spf-root .spf-tags li{font-size:11px;padding:5px 8px!important;}
  .spf-root .spf-match{font-size:12px;}
  .spf-root .spf-buttons{gap:10px;}
  .spf-root .spf-btn{font-size:13px!important;min-height:48px;padding:12px 9px;white-space:nowrap;}
  .spf-root .spf-section-title{font-size:16px!important;}
  .spf-root .spf-section-heading p{font-size:11px;}
  .spf-root .spf-results-related{margin-top:27px;}
  .spf-root .spf-footer-note{padding-top:23px;line-height:1.65;}
}
@media(max-width:350px){
  .spf-root .spf-media{height:auto;}
  .spf-root .spf-card-body{padding:14px;}
  .spf-root .spf-buttons{gap:7px;}
  .spf-root .spf-btn{font-size:12px!important;padding:9px 5px;}
}
