/* Cretors Popper Finder — styles matched to cretors.com (Elementor kit, Sept 2026).
   Same conventions as the Value Calculator plugin: tokens from the live site (Rubik; red #CC1D1D;
   blue #2568A5; navy #17448E; cream #FFF8EC; gold #FCC275; orange #F97821; body text #3F3F3F;
   pill buttons 25px / 2px border). Everything is scoped under .cpf and selectors are doubled
   (.cpf .cpf-x, .cpf button.cpf-x) so they beat the kit's `.elementor-kit-6 button` and
   `[type="button"]` rules. Bands are full-bleed by default (data-bleed="0" turns that off). */

.cpf{
  --cpf-red:#CC1D1D;--cpf-red-dark:#8E1111;
  --cpf-blue:#2568A5;--cpf-blue-dark:#1D558A;--cpf-navy:#17448E;
  --cpf-cream:#FFF8EC;--cpf-cream-line:#EFE3CB;--cpf-gold:#FCC275;--cpf-orange:#F97821;
  --cpf-ink:#2B2B2B;--cpf-text:#3F3F3F;--cpf-muted:#6B6B6B;--cpf-line:#E6E6E6;--cpf-paper:#FFFFFF;
  --cpf-font:"Rubik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --cpf-max:1140px;
  color:var(--cpf-text);font-family:var(--cpf-font);font-size:16px;line-height:1.55;
  margin:0;box-sizing:border-box;
}
.cpf *,.cpf *::before,.cpf *::after{box-sizing:border-box}
.cpf h2,.cpf h3,.cpf h4,.cpf p,.cpf ul,.cpf dl,.cpf dd{margin:0;padding:0;font-family:var(--cpf-font)}
.cpf [hidden]{display:none!important}
.cpf button{font:inherit}

/* ---------- full-bleed bands ---------- */
.cpf .cpf-band{width:100vw;margin-left:calc(50% - 50vw);padding:44px 0}
.cpf .cpf-band-cream{background:var(--cpf-cream)}
.cpf .cpf-band-red{background-color:var(--cpf-red);color:#fff;
  background-image:radial-gradient(rgba(0,0,0,.18) 1.6px,transparent 1.9px),radial-gradient(rgba(0,0,0,.12) 1.2px,transparent 1.5px);
  background-size:14px 14px,14px 14px;background-position:0 0,7px 7px}
.cpf .cpf-inner{max-width:var(--cpf-max);margin:0 auto;padding:0 20px}
.cpf[data-bleed="0"] .cpf-band{width:auto;margin-left:0;border-radius:14px}
.cpf[data-bleed="0"] .cpf-band-red{border-radius:14px 14px 0 0}
.cpf[data-bleed="0"] .cpf-band-cream{border-radius:0 0 14px 14px}

/* ---------- type ---------- */
.cpf .cpf-hero{padding:56px 0 48px}
.cpf .cpf-eyebrow{font-size:clamp(16px,2.4vw,24px);font-weight:400;letter-spacing:.02em;text-transform:uppercase;color:var(--cpf-gold);margin:0 0 8px}
.cpf .cpf-title{font-weight:600;font-size:clamp(34px,6vw,56px);line-height:1.08;margin:0 0 14px;max-width:16ch;color:#fff;text-transform:none;letter-spacing:0}
.cpf .cpf-intro{max-width:58ch;color:rgba(255,255,255,.92);font-size:17px;font-weight:400}
.cpf .cpf-step-label{font-weight:600;text-transform:uppercase;font-size:15px;letter-spacing:.06em;margin:0 0 8px;color:var(--cpf-red)}
.cpf .cpf-q,.cpf .cpf-results-title{font-weight:600;font-size:clamp(26px,4vw,38px);line-height:1.15;color:var(--cpf-orange);text-transform:none;letter-spacing:0;margin:0 0 6px}
.cpf .cpf-hint{color:var(--cpf-muted);font-size:16px;margin:0 0 22px;max-width:64ch}

/* ---------- progress ---------- */
.cpf .cpf-progress{display:flex;gap:6px;margin:0 0 20px}
.cpf .cpf-progress-seg{flex:1;height:6px;border-radius:3px;background:var(--cpf-cream-line)}
.cpf .cpf-progress-seg.is-done{background:var(--cpf-orange)}

/* ---------- panels ---------- */
.cpf .cpf-step,.cpf .cpf-results,.cpf .cpf-loading{background:var(--cpf-paper);border-radius:14px;padding:24px 20px 22px}
.cpf .cpf-loading{text-align:center;color:var(--cpf-muted);padding:40px 20px}

/* ---------- answer tiles (blue tiles, like Best Sellers / calculator menu cards) ---------- */
.cpf .cpf-opts{display:grid;grid-template-columns:1fr;gap:12px}
.cpf .cpf-opt,.cpf button.cpf-opt,.cpf button.cpf-opt:hover,.cpf button.cpf-opt:focus,.cpf button.cpf-opt:active{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;margin:0;text-align:left;cursor:pointer;min-width:0;
  font-family:var(--cpf-font);font-size:16px;font-weight:400;line-height:1.35;letter-spacing:0;text-transform:none;white-space:normal;
  background:var(--cpf-paper);color:var(--cpf-ink);border:2px solid var(--cpf-cream-line);border-radius:14px;padding:18px 44px 16px 16px;
  box-shadow:none;text-shadow:none;transition:border-color .15s,transform .15s,background .15s,color .15s}
.cpf button.cpf-opt:hover{border-color:var(--cpf-blue);transform:translateY(-2px)}
.cpf button.cpf-opt:focus-visible{outline:3px solid var(--cpf-gold);outline-offset:2px}
.cpf button.cpf-opt.is-selected,.cpf button.cpf-opt.is-selected:hover,.cpf button.cpf-opt.is-selected:focus{
  background:var(--cpf-blue);border-color:var(--cpf-blue);color:#fff;box-shadow:0 10px 24px -14px rgba(37,104,165,.7)}
.cpf .cpf-opt-t{display:block;font-weight:600;font-size:17px;line-height:1.15;text-transform:none}
.cpf .cpf-opt-s{display:block;font-size:12.5px;line-height:1.35;opacity:.8;margin-top:4px;font-weight:400;text-transform:none}
.cpf .cpf-opt::after{content:"";position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--cpf-cream-line)}
.cpf .cpf-opt.is-selected::after{background:var(--cpf-gold);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><path d='M6 11.5l3.2 3.2L16 8.2' fill='none' stroke='%2317448E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:center;background-size:16px 16px}

/* ---------- buttons (site pill style) ---------- */
.cpf .cpf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}
.cpf .cpf-nav-results{justify-content:flex-start;border-top:1px solid var(--cpf-line);padding-top:20px;margin-top:26px}
.cpf .cpf-cta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 24px}
.cpf .cpf-btn,.cpf a.cpf-btn,.cpf button.cpf-btn,.cpf button.cpf-btn:hover,.cpf button.cpf-btn:focus,.cpf a.cpf-btn:hover,.cpf a.cpf-btn:focus{
  font-family:var(--cpf-font);font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:17px;line-height:1.2;
  padding:12px 24px;border-radius:25px;border:2px solid #fff;background:var(--cpf-blue);color:#fff!important;cursor:pointer;text-decoration:none!important;
  display:inline-block;flex:1 1 auto;text-align:center;box-shadow:none;text-shadow:none;margin:0;transition:background .2s,color .2s,border-color .2s}
.cpf .cpf-btn:hover,.cpf a.cpf-btn:hover,.cpf button.cpf-btn:hover{background:var(--cpf-blue-dark);color:#fff!important}
.cpf .cpf-btn.cpf-btn-primary,.cpf a.cpf-btn.cpf-btn-primary,.cpf button.cpf-btn.cpf-btn-primary{background:var(--cpf-red);border-color:#fff}
.cpf .cpf-btn.cpf-btn-primary:hover,.cpf a.cpf-btn.cpf-btn-primary:hover,.cpf button.cpf-btn.cpf-btn-primary:hover{background:var(--cpf-red-dark)}
.cpf .cpf-btn.cpf-btn-outline,.cpf a.cpf-btn.cpf-btn-outline,.cpf button.cpf-btn.cpf-btn-outline{background:transparent;border-color:var(--cpf-navy);color:var(--cpf-navy)!important}
.cpf .cpf-btn.cpf-btn-outline:hover,.cpf a.cpf-btn.cpf-btn-outline:hover,.cpf button.cpf-btn.cpf-btn-outline:hover{background:var(--cpf-navy);color:#fff!important}
.cpf .cpf-btn.cpf-btn-small,.cpf a.cpf-btn.cpf-btn-small{font-size:12px;letter-spacing:.3px;padding:7px 14px;flex:0 0 auto;white-space:nowrap}
.cpf button.cpf-btn[disabled],.cpf button.cpf-btn[disabled]:hover{opacity:.4;cursor:default;background:var(--cpf-blue)}
.cpf button.cpf-btn.cpf-btn-outline[disabled],.cpf button.cpf-btn.cpf-btn-outline[disabled]:hover{background:transparent;color:var(--cpf-navy)!important}
.cpf .cpf-btn:focus-visible,.cpf button.cpf-btn:focus-visible,.cpf a.cpf-btn:focus-visible{outline:3px solid var(--cpf-gold);outline-offset:3px}

/* ---------- results ---------- */
.cpf .cpf-summary{display:grid;gap:10px 20px;grid-template-columns:1fr;margin:14px 0 16px;padding:16px 18px;background:var(--cpf-cream);border-radius:12px}
.cpf .cpf-summary div{min-width:0}
.cpf .cpf-summary dt{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--cpf-muted)}
.cpf .cpf-summary dd{margin:0;font-weight:500;color:var(--cpf-ink)}
.cpf .cpf-note{background:#fff;border:2px solid var(--cpf-gold);border-radius:12px;padding:14px 18px;font-size:14px;color:var(--cpf-text);line-height:1.5;margin:0 0 12px}
.cpf .cpf-note-warn{border-color:var(--cpf-red)}

.cpf .cpf-cards{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:1fr}
.cpf .cpf-card{display:flex;flex-direction:column;min-width:0;border:2px solid var(--cpf-cream-line);border-radius:14px;overflow:hidden;background:var(--cpf-paper);transition:border-color .15s}
.cpf .cpf-card:hover{border-color:var(--cpf-blue)}
.cpf .cpf-card-media{display:block;aspect-ratio:1/1;background:var(--cpf-cream);text-decoration:none}
.cpf .cpf-card-media img{width:100%;height:100%;object-fit:contain;display:block;margin:0}
.cpf .cpf-card-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.cpf .cpf-card-title{margin:0;font-size:17px;font-weight:600;line-height:1.2;text-transform:none;letter-spacing:0}
.cpf .cpf-card-title a{color:var(--cpf-navy);text-decoration:none}
.cpf .cpf-card-title a:hover{color:var(--cpf-red);text-decoration:underline}
.cpf .cpf-card-meta{margin:0;font-size:13px;color:var(--cpf-muted)}
.cpf .cpf-card-labels{margin:0;display:flex;flex-wrap:wrap;gap:4px}
.cpf .cpf-card-labels span{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--cpf-orange);border:1px solid var(--cpf-gold);border-radius:3px;padding:2px 7px}
.cpf .cpf-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px}
.cpf .cpf-price{font-weight:600;font-size:17px;color:var(--cpf-ink);font-variant-numeric:tabular-nums}
.cpf .cpf-more{margin:16px 0 0;font-size:15px}
.cpf .cpf-more a{color:var(--cpf-navy)}

/* ---------- desktop ---------- */
@media (min-width:761px){
  .cpf .cpf-band{padding:56px 0}
  .cpf .cpf-hero{padding:72px 0 60px}
  .cpf .cpf-step,.cpf .cpf-results{padding:32px 32px 28px}
  .cpf .cpf-opts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
  .cpf .cpf-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .cpf .cpf-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
  .cpf .cpf-btn,.cpf a.cpf-btn,.cpf button.cpf-btn{flex:0 0 auto}
}
@media (prefers-reduced-motion:reduce){.cpf *{transition:none!important;transform:none!important}}
