:root{
  --upfnp-neon:#eaff00;
  --upfnp-neon-2:#ffd500;
  --upfnp-white:#ffffff;
  --upfnp-bg:#f4f6f8;
  --upfnp-text:#111827;
  --upfnp-muted:#667085;
  --upfnp-line:#e4e8ee;
  --upfnp-shadow:0 12px 28px rgba(15,23,42,.08);
  --upfnp-green:#16a34a;
  --upfnp-lightgreen:#84cc16;
  --upfnp-yellow:#eab308;
}
.upfnp-shell,.upfnp-detail,.upfnp-ranking{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--upfnp-text)}
.upfnp-shell{background:var(--upfnp-bg);padding:18px;border-radius:24px;box-shadow:var(--upfnp-shadow)}
.upfnp-quiz{display:grid;grid-template-columns:1.1fr 1.9fr;gap:18px;align-items:start;margin-bottom:18px}
.upfnp-quiz-copy,.upfnp-quiz-form,.upfnp-card,.upfnp-ad-card,.upfnp-panel{background:#fff;border:1px solid var(--upfnp-line);border-radius:16px;box-shadow:var(--upfnp-shadow)}
.upfnp-quiz-copy{padding:22px}.upfnp-quiz-copy h2{font-size:clamp(28px,4vw,46px);line-height:1.02;margin:0 0 10px}.upfnp-quiz-copy p{margin:0;color:var(--upfnp-muted)}
.upfnp-quiz-form{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.upfnp-field label{display:block;font-size:14px;font-weight:800;margin-bottom:7px}
.upfnp-field input,.upfnp-field select{width:100%;padding:12px 14px;border:1px solid #d7dee8;border-radius:12px;background:#fff;box-sizing:border-box;font-size:15px}
.upfnp-field-search{grid-column:1/-1}
.upfnp-field input:focus,.upfnp-field select:focus{outline:none;border-color:#d8f400;box-shadow:0 0 0 4px rgba(234,255,0,.22)}
.upfnp-quiz-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.upfnp-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 2px 14px;font-size:15px}
.upfnp-list{display:grid;gap:16px}
.upfnp-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 270px;overflow:hidden}
.upfnp-card.is-featured{box-shadow:0 18px 40px rgba(17,24,39,.12)}
.upfnp-card.is-featured.upfnp-featured-gold{background:linear-gradient(180deg,#fff8dc 0%,#ffffff 35%);border-color:#d4af37;box-shadow:0 18px 42px rgba(212,175,55,.18)}
.upfnp-card.is-featured.upfnp-featured-silver{background:linear-gradient(180deg,#f5f5f5 0%,#ffffff 35%);border-color:#b8c0cc;box-shadow:0 18px 42px rgba(148,163,184,.16)}
.upfnp-card.is-featured.upfnp-featured-bronze{background:linear-gradient(180deg,#fff2ea 0%,#ffffff 35%);border-color:#b87333;box-shadow:0 18px 42px rgba(184,115,51,.16)}
.upfnp-card.is-featured.upfnp-featured-standard{border-color:#d8f400;box-shadow:0 18px 40px rgba(234,255,0,.18)}
.upfnp-card-ribbon{position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#111 0%,var(--upfnp-neon) 100%)}
.upfnp-main{padding:20px 18px 18px 22px;display:grid;grid-template-columns:88px minmax(0,1fr) 125px;gap:16px;align-items:start}
.upfnp-logo img,.upfnp-noimg{width:88px;height:88px;border-radius:12px;border:1px solid var(--upfnp-line);background:#fff;object-fit:cover;display:block}
.upfnp-noimg{display:flex;align-items:center;justify-content:center;color:var(--upfnp-muted);font-size:12px}
.upfnp-provider{min-width:0;display:flex;flex-direction:column;gap:6px}.upfnp-name{font-size:22px;font-weight:800;line-height:1.15}.upfnp-line{font-size:13px;color:var(--upfnp-muted)}
.upfnp-sponsored{display:inline-flex;align-items:center;width:max-content;padding:5px 10px;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:800;margin-bottom:4px}
.upfnp-sponsored-featured{border:1px solid transparent;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
.upfnp-sponsored-featured.upfnp-featured-gold{background:linear-gradient(90deg,#8a6a00 0%,#d4af37 100%);color:#fff7cc;border-color:#e3c86a}
.upfnp-sponsored-featured.upfnp-featured-silver{background:linear-gradient(90deg,#667085 0%,#b8c0cc 100%);color:#fff;border-color:#cbd5e1}
.upfnp-sponsored-featured.upfnp-featured-bronze{background:linear-gradient(90deg,#8b5a2b 0%,#b87333 100%);color:#fff5ef;border-color:#d49a6a}
.upfnp-sponsored-featured.upfnp-featured-standard{background:linear-gradient(90deg,#111 0%,#4b5563 100%);color:#fff;border-color:#d8f400}
.upfnp-pills{display:flex;flex-wrap:wrap;gap:8px}.upfnp-pill{padding:5px 10px;border-radius:999px;border:1px solid var(--upfnp-line);background:#f8fafc;font-size:12px}
.upfnp-rating{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.upfnp-note{width:86px;min-height:86px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--upfnp-line);background:#f8fafc}.upfnp-note strong{font-size:28px;line-height:1}.upfnp-note span{font-size:11px;margin-top:4px}.upfnp-stars{font-size:14px;font-weight:700}.upfnp-reviews{font-size:12px;color:var(--upfnp-muted)}
.upfnp-features{padding:0 18px 18px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.upfnp-feature{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.35}.upfnp-feature:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:12px;font-weight:800;flex:0 0 18px}
.upfnp-side{border-left:1px solid var(--upfnp-line);display:flex;flex-direction:column;justify-content:center;padding:18px}.upfnp-pricebox{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-bottom:12px}.upfnp-price{font-size:32px;font-weight:900;line-height:1}.upfnp-cycle{font-size:13px;color:var(--upfnp-muted)}
.upfnp-actions{display:flex;flex-direction:column;gap:10px}.upfnp-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;padding:13px 16px;font-weight:800;border:1px solid transparent;cursor:pointer}.upfnp-btn-shop{background:linear-gradient(90deg,#ff9a00 0%, var(--upfnp-neon) 100%);color:#111}.upfnp-btn-detail{background:#fff;color:#111;border-color:#d4dae3}
.upfnp-ad-card{position:relative;display:grid;grid-template-columns:220px 1fr;gap:0;overflow:hidden;border-color:#f0e68c}.upfnp-ad-highlight{position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#ff9a00 0%,var(--upfnp-neon) 100%)}.upfnp-ad-media img{width:100%;height:100%;min-height:170px;object-fit:cover;display:block}.upfnp-ad-copy{padding:18px 18px 18px 22px}.upfnp-ad-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:800;margin-bottom:8px}.upfnp-ad-copy h3{margin:0 0 8px;font-size:22px}.upfnp-ad-copy p{margin:0 0 12px;color:var(--upfnp-muted)}.upfnp-ad-meta{font-size:12px;color:var(--upfnp-muted);margin-bottom:12px}
.upfnp-empty{padding:22px;background:#fff;border:1px dashed #ccd4df;border-radius:16px}
.upfnp-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.upfnp-table th,.upfnp-table td{padding:12px 14px;border-bottom:1px solid var(--upfnp-line);text-align:left}.upfnp-table thead th{background:#f8fafc}
.upfnp-detail{background:var(--upfnp-bg);padding:20px;border-radius:24px;box-shadow:var(--upfnp-shadow)}.upfnp-back{display:inline-block;margin-bottom:18px;color:#111;text-decoration:none;font-weight:700}
.upfnp-detail-hero{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:20px;margin-bottom:18px}.upfnp-detail-media img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--upfnp-line)}
.upfnp-detail-main h1{margin:4px 0 8px;font-size:clamp(30px,4vw,50px);line-height:1.02}.upfnp-sub{margin:0 0 10px;color:var(--upfnp-muted)}
.upfnp-detail-stats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.upfnp-detail-stats div{background:#fff;border:1px solid var(--upfnp-line);border-radius:14px;padding:14px 16px;min-width:140px}.upfnp-detail-stats span{display:block;font-size:12px;color:var(--upfnp-muted);margin-bottom:6px}.upfnp-detail-stats strong{font-size:22px}.upfnp-detail-stats small{font-size:14px;color:var(--upfnp-muted)}
.upfnp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 16px}.upfnp-panel{padding:18px}.upfnp-panel h3{margin:0 0 12px;font-size:24px}.upfnp-panel ul{margin:0;padding-left:18px}.upfnp-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upfnp-link-chip,.upfnp-related-link a{display:block;padding:12px 14px;border-radius:12px;border:1px solid var(--upfnp-line);background:#f8fafc;text-decoration:none;color:#111}
.upfnp-score-green{background:#dcfce7!important;border-color:#bbf7d0!important;color:#166534}.upfnp-score-lightgreen{background:#ecfccb!important;border-color:#d9f99d!important;color:#4d7c0f}.upfnp-score-yellow{background:#fef9c3!important;border-color:#fde68a!important;color:#a16207}.upfnp-score-gray{background:#f3f4f6!important;color:#374151}
@media (max-width:1100px){.upfnp-quiz{grid-template-columns:1fr}.upfnp-card{grid-template-columns:1fr}.upfnp-side{border-left:0;border-top:1px solid var(--upfnp-line)}.upfnp-ad-card{grid-template-columns:1fr}.upfnp-main{grid-template-columns:88px 1fr}}
@media (max-width:780px){.upfnp-quiz-form,.upfnp-detail-hero,.upfnp-detail-grid,.upfnp-link-grid{grid-template-columns:1fr}.upfnp-main{grid-template-columns:72px 1fr;gap:14px;padding:18px 16px 12px 20px}.upfnp-logo img,.upfnp-noimg{width:72px;height:72px}.upfnp-rating{grid-column:2}.upfnp-features{grid-template-columns:1fr;padding:0 16px 16px 20px}.upfnp-side{padding:14px 16px}.upfnp-pricebox{align-items:flex-start}.upfnp-results-head{flex-direction:column;align-items:flex-start}.upfnp-shell,.upfnp-detail{padding:12px}.upfnp-card-ribbon,.upfnp-ad-highlight{width:4px}}

.upfnp-header-ads .upfnp-ad-card{grid-template-columns:180px 1fr;border-color:#f3df87;background:linear-gradient(180deg,#fffdf1 0%,#fff 100%)}
.upfnp-header-ads .upfnp-ad-copy h3{font-size:20px}


.upfnp-card-featured{position:relative;border-width:2px;box-shadow:0 18px 40px rgba(15,23,42,.14)}
.upfnp-card-featured .upfnp-main,.upfnp-card-featured .upfnp-features,.upfnp-card-featured .upfnp-side{position:relative;z-index:1}
.upfnp-card-featured.upfnp-featured-gold{background:linear-gradient(180deg,#fff6cc 0%,#fff2a8 100%);border-color:#d4af37}
.upfnp-card-featured.upfnp-featured-silver{background:linear-gradient(180deg,#f2f6fb 0%,#e1e7ef 100%);border-color:#a8b3c2}
.upfnp-card-featured.upfnp-featured-bronze{background:linear-gradient(180deg,#f7e1d1 0%,#edd0b8 100%);border-color:#b87333}
.upfnp-card-featured.upfnp-featured-standard{background:linear-gradient(180deg,#f9fbe7 0%,#fff 100%);border-color:#d8f400}
.upfnp-card-featured.upfnp-featured-gold .upfnp-card-ribbon{background:linear-gradient(180deg,#d4af37 0%,#f6e27a 100%)}
.upfnp-card-featured.upfnp-featured-silver .upfnp-card-ribbon{background:linear-gradient(180deg,#9aa6b2 0%,#dbe1e8 100%)}
.upfnp-card-featured.upfnp-featured-bronze .upfnp-card-ribbon{background:linear-gradient(180deg,#8c5a34 0%,#d0915d 100%)}
.upfnp-card-featured.upfnp-featured-standard .upfnp-card-ribbon{background:linear-gradient(180deg,#a3b700 0%,#eaff00 100%)}
.upfnp-standalone-detail{background:#eef2f6;min-height:100vh;padding:32px 16px}
.upfnp-standalone-inner{max-width:1180px;margin:0 auto}

.upfnp-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.upfnp-ad-featured{background:linear-gradient(180deg,#fff6cc 0%,#fff2a8 100%);border:2px solid #d4af37;box-shadow:0 18px 42px rgba(212,175,55,.18)}
.upfnp-ad-featured .upfnp-ad-highlight{background:linear-gradient(180deg,#d4af37 0%,#f6e27a 100%)}
.upfnp-footer-ads,.upfnp-header-ads{display:grid;gap:16px;margin:0 0 18px}
@media (max-width:780px){
  .upfnp-table,.upfnp-table thead,.upfnp-table tbody,.upfnp-table tr,.upfnp-table th,.upfnp-table td{display:block;width:100%}
  .upfnp-table thead{display:none}
  .upfnp-table tr{background:#fff;border:1px solid var(--upfnp-line);border-radius:14px;margin-bottom:12px;overflow:hidden}
  .upfnp-table td{border:0;border-bottom:1px solid var(--upfnp-line);padding:12px 14px 12px 44% !important;position:relative;min-height:24px}
  .upfnp-table td:last-child{border-bottom:0}
  .upfnp-table td:before{content:attr(data-label);position:absolute;left:14px;top:12px;width:34%;font-weight:800;color:#111}
}

.upfnp-card-ribbon,.upfnp-ad-highlight{display:none !important}
.upfnp-card,.upfnp-ad-card{position:relative;overflow:hidden}
.upfnp-card.is-featured.upfnp-featured-gold,.upfnp-ad-card.upfnp-ad-gold{background:#f3e3a2;border-color:#d4af37;box-shadow:0 18px 42px rgba(212,175,55,.24)}
.upfnp-card.is-featured.upfnp-featured-silver,.upfnp-ad-card.upfnp-ad-silver{background:#e8edf3;border-color:#a8b3c2;box-shadow:0 18px 42px rgba(148,163,184,.20)}
.upfnp-card.is-featured.upfnp-featured-bronze,.upfnp-ad-card.upfnp-ad-bronze{background:#ecd1bb;border-color:#b87333;box-shadow:0 18px 42px rgba(184,115,51,.20)}
.upfnp-card.is-featured.upfnp-featured-standard,.upfnp-ad-card.upfnp-ad-standard{background:#eef2f7}
.upfnp-sponsored-featured{font-weight:800}
.upfnp-active-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.upfnp-active-filter{background:#fff;border:1px solid var(--upfnp-line);border-radius:999px;padding:8px 12px;font-size:14px;font-weight:700}
.upfnp-table-wrap{overflow:visible}
@media (max-width:780px){
  .upfnp-table-wrap{overflow:visible}
  .upfnp-table tr{padding-top:2px}
  .upfnp-table td{padding-left:14px !important;padding-top:36px !important;white-space:normal;word-break:break-word}
  .upfnp-table td:before{position:static;display:block;width:auto;margin-bottom:6px}
}

/* ===== V11.7 rebuilt listing overrides ===== */
.upfnp-shell{
  width:min(96vw, 1380px);
  max-width:1380px;
  margin:0 auto;
  box-sizing:border-box;
}

.upfnp-card-v11{
  display:block;
  overflow:hidden;
  border-radius:22px;
  box-shadow:none;
}

.upfnp-main-v11{
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 250px;
  gap:26px;
  align-items:start;
  padding:24px 22px;
}

.upfnp-logo-v11{
  position:relative;
  width:220px;
  min-width:220px;
  height:170px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.upfnp-logo-v11 img,
.upfnp-logo-v11 .upfnp-noimg{
  width:220px;
  height:170px;
  object-fit:cover;
  border:0;
  border-radius:18px;
  background:#fff;
  display:block;
}
.upfnp-logo-v11 .upfnp-noimg{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--upfnp-muted);
}

.upfnp-score-badge{
  position:absolute;
  top:12px;
  right:12px;
  min-width:70px;
  padding:10px 12px;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1;
  color:#fff;
  background:#16a34a;
  border:2px solid #fff;
  box-shadow:0 10px 22px rgba(22,163,74,.25);
  z-index:2;
}
.upfnp-score-badge strong{font-size:18px;font-weight:900;color:#fff;line-height:1}
.upfnp-score-badge span{font-size:11px;font-weight:800;color:#fff;margin-top:4px}
.upfnp-score-badge.upfnp-score-yellow{background:#f59e0b;color:#111}
.upfnp-score-badge.upfnp-score-yellow strong,
.upfnp-score-badge.upfnp-score-yellow span{color:#111}
.upfnp-score-badge.upfnp-score-gray{background:#6b7280}
.upfnp-score-badge.upfnp-score-lightgreen{background:#65a30d}
.upfnp-score-badge.upfnp-score-green{background:#16a34a}

.upfnp-provider-v11{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.upfnp-provider-v11 .upfnp-name{
  font-size:36px;
  line-height:1.02;
  font-weight:900;
}
.upfnp-provider-v11 .upfnp-line{
  font-size:17px;
  color:var(--upfnp-muted);
}
.upfnp-reco-v11{
  font-size:16px;
  color:var(--upfnp-muted);
  max-width:680px;
}
.upfnp-provider-v11 .upfnp-pills{
  margin-top:6px;
  gap:10px;
}
.upfnp-provider-v11 .upfnp-pill{
  border:0;
  background:#f2f4f7;
  padding:10px 15px;
  border-radius:999px;
  font-size:14px;
}

.upfnp-side-v11{
  width:250px;
  max-width:250px;
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-self:end;
  text-align:right;
  border-left:0;
  padding:0;
}
.upfnp-pricebox-v11{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
  gap:8px;
  margin:0 0 18px;
}
.upfnp-pricebox-v11 .upfnp-price{
  width:100%;
  text-align:right;
  font-size:44px;
  font-weight:900;
  line-height:1;
  color:#111111 !important;
}
.upfnp-old-price{
  width:100%;
  text-align:right;
  color:#000 !important;
  text-decoration:line-through;
  font-size:18px;
  line-height:1;
  opacity:.78;
}
.upfnp-saving{
  width:100%;
  text-align:right;
  color:#ff0000 !important;
  font-size:18px;
  font-weight:800;
  line-height:1.1;
}
.upfnp-pricebox-v11 .upfnp-cycle{
  width:100%;
  text-align:right;
  font-size:14px;
  color:var(--upfnp-muted);
}
.upfnp-actions-v11{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
.upfnp-actions-v11 .upfnp-btn-shop{
  width:230px;
  min-width:230px;
  margin-left:auto;
  border-radius:14px;
  background:linear-gradient(180deg,#ffd400 0%, #fff200 100%);
  padding:16px 18px;
  font-size:17px;
}
.upfnp-actions-v11 .upfnp-btn-detail-link{
  width:230px;
  min-width:230px;
  margin-left:auto;
  background:transparent;
  border:0;
  padding:0;
  text-align:right;
  justify-content:flex-end;
  font-size:17px;
}

.upfnp-rating,
.upfnp-features{
  display:none !important;
}

@media (max-width: 1100px){
  .upfnp-main-v11{
    grid-template-columns:180px minmax(0,1fr) 220px;
    gap:18px;
  }
  .upfnp-logo-v11,
  .upfnp-logo-v11 img,
  .upfnp-logo-v11 .upfnp-noimg{
    width:180px;
    min-width:180px;
    height:145px;
  }
  .upfnp-provider-v11 .upfnp-name{font-size:29px}
  .upfnp-pricebox-v11 .upfnp-price{font-size:38px}
  .upfnp-side-v11{width:220px;max-width:220px}
  .upfnp-actions-v11 .upfnp-btn-shop,
  .upfnp-actions-v11 .upfnp-btn-detail-link{width:210px;min-width:210px}
}

@media (max-width: 780px){
  html,body{overflow-x:hidden}
  .upfnp-shell{
    width:calc(100vw - 12px);
    max-width:none;
    margin:0 auto;
    padding:10px;
    border-radius:22px;
  }
  .upfnp-results-head{
    margin:6px 2px 12px;
  }
  .upfnp-list{
    gap:14px;
  }
  .upfnp-card-v11{
    border-radius:22px;
  }
  .upfnp-main-v11{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:14px;
  }
  .upfnp-logo-v11{
    width:100%;
    min-width:0;
    height:300px;
  }
  .upfnp-logo-v11 img,
  .upfnp-logo-v11 .upfnp-noimg{
    width:100%;
    height:300px;
    border-radius:20px;
    object-fit:cover;
  }
  .upfnp-score-badge{
    top:12px;
    right:12px;
    min-width:76px;
    padding:11px 13px;
    border-radius:16px;
  }
  .upfnp-score-badge strong{font-size:20px}
  .upfnp-score-badge span{font-size:12px}
  .upfnp-provider-v11 .upfnp-name{
    font-size:24px;
    line-height:1.06;
  }
  .upfnp-provider-v11 .upfnp-line,
  .upfnp-reco-v11{
    font-size:15px;
  }
  .upfnp-provider-v11 .upfnp-pills{
    gap:8px;
  }
  .upfnp-provider-v11 .upfnp-pill{
    font-size:13px;
    padding:9px 14px;
  }
  .upfnp-side-v11{
    width:100%;
    max-width:none;
    align-items:stretch;
    text-align:left;
  }
  .upfnp-pricebox-v11{
    align-items:flex-start;
    text-align:left;
    margin:4px 0 12px;
  }
  .upfnp-pricebox-v11 .upfnp-price,
  .upfnp-old-price,
  .upfnp-saving,
  .upfnp-pricebox-v11 .upfnp-cycle{
    width:100%;
    text-align:left;
  }
  .upfnp-pricebox-v11 .upfnp-price{
    font-size:34px;
  }
  .upfnp-actions-v11{
    align-items:stretch;
  }
  .upfnp-actions-v11 .upfnp-btn-shop{
    width:100%;
    min-width:0;
  }
  .upfnp-actions-v11 .upfnp-btn-detail-link{
    width:100%;
    min-width:0;
    justify-content:center;
    text-align:center;
    padding:14px 16px;
    border:1px solid var(--upfnp-line);
    border-radius:14px;
    background:#fff;
  }
}


/* V11.9 score visibility fix only */
.upfnp-score-badge,
.upfnp-score-badge.upfnp-score-green,
.upfnp-score-badge.upfnp-score-lightgreen,
.upfnp-score-badge.upfnp-score-yellow,
.upfnp-score-badge.upfnp-score-gray{
  opacity: 1 !important;
  filter: none !important;
  background: #16a34a !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 10px 24px rgba(22,163,74,.35) !important;
}
.upfnp-score-badge strong,
.upfnp-score-badge span{
  opacity: 1 !important;
  color: #ffffff !important;
  text-shadow: none !important;
}
@media (max-width: 780px){
  .upfnp-score-badge,
  .upfnp-score-badge.upfnp-score-green,
  .upfnp-score-badge.upfnp-score-lightgreen,
  .upfnp-score-badge.upfnp-score-yellow,
  .upfnp-score-badge.upfnp-score-gray{
    background: #16a34a !important;
    color: #ffffff !important;
    opacity: 1 !important;
    box-shadow: 0 12px 28px rgba(22,163,74,.42) !important;
  }
}





/* mobile stays full width */
@media (max-width: 780px){
  .upfnp-shell{
    width: calc(100% - 20px) !important;
    margin: 0 auto !important;
  }
}





/* mobile stays full width */
@media (max-width: 780px){
  .upfnp-shell{
    width: calc(100% - 16px) !important;
    margin: 0 auto !important;
  }
}


/* V12.2 FINAL SPACING (2% all devices) */
.upfnp-shell{
  width: 96% !important;
  max-width: 1800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html, body{
  overflow-x: hidden !important;
}


/* V12.3 FINAL SPACING (12px left/right like premium UI) */
.upfnp-shell{
  width: calc(100% - 24px) !important; /* 12px each side */
  max-width: 1300px !important;
  margin: 0 auto !important;
}

/* prevent horizontal overflow */
html, body{
  overflow-x: hidden !important;
}

/* V12.4 MOBILE 2px spacing override */
@media (max-width: 780px){
  .upfnp-shell{
    width: calc(100% - 4px) !important;
    margin: 0 auto !important;
  }
}

/* V12.5 MOBILE ultra tight spacing (0.5px each side) */
@media (max-width: 780px){
  .upfnp-shell{
    width: calc(100% - 1px) !important; /* ~0.5px each side */
    margin: 0 auto !important;
  }
}

/* V12.6 MOBILE FULL WIDTH */
@media (max-width: 780px){
  .upfnp-shell{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


.upfnp-term-hero,.upfnp-term-refine,.upfnp-seo-tail__box{background:#fff;border:1px solid #eceff3;border-radius:18px;padding:24px;margin:24px 0}.upfnp-breadcrumb{font-size:14px;margin-bottom:8px;color:#4b5563}.upfnp-breadcrumb a{color:#38b000;text-decoration:none}.upfnp-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.upfnp-seo-tail{max-width:1180px;margin:24px auto 0;padding:0}.upfnp-seo-tail__box p{line-height:1.8}@media(max-width:768px){.upfnp-term-hero,.upfnp-term-refine,.upfnp-seo-tail__box{padding:18px}}
/* v13.2.2 term pages */
.upfnp-term-refine--compact{margin:24px 0;padding:24px;background:#fff;border:1px solid var(--upfnp-line);border-radius:18px;box-shadow:var(--upfnp-shadow)}
.upfnp-term-refine__head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.upfnp-term-refine__eyebrow{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:#f4f6f8;border:1px solid var(--upfnp-line);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.upfnp-term-refine--compact h2{margin:0;font-size:38px;line-height:1}
.upfnp-term-refine--compact p{margin:0 0 14px;color:var(--upfnp-muted)}
.upfnp-term-form .upfnp-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.upfnp-term-form .upfnp-field{margin:0}
.upfnp-term-form .upfnp-field input,.upfnp-term-form .upfnp-field select{height:54px}
.upfnp-term-footer-block h2{margin-top:0;margin-bottom:10px;font-size:32px;line-height:1.05}
.upfnp-related-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,340px);gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.upfnp-related-slide{scroll-snap-align:start}
.upfnp-related-slide .upfnp-card{height:100%}
.upfnp-related-slide .upfnp-main-v11{grid-template-columns:1fr;padding:16px}
.upfnp-related-slide .upfnp-logo-v11,.upfnp-related-slide .upfnp-logo-v11 img{width:100%;min-width:0;height:180px}
.upfnp-related-slide .upfnp-provider-v11 .upfnp-name{font-size:26px}
.upfnp-related-slide .upfnp-side-v11{width:100%;max-width:none;align-items:flex-start;text-align:left;margin-left:0}
.upfnp-related-slide .upfnp-pricebox-v11,.upfnp-related-slide .upfnp-pricebox-v11 .upfnp-price,.upfnp-related-slide .upfnp-old-price,.upfnp-related-slide .upfnp-saving{text-align:left;align-items:flex-start}
.upfnp-related-slide .upfnp-actions-v11{width:100%}
.upfnp-finder-collapse{border:1px solid var(--upfnp-line);border-radius:18px;background:#fff}
.upfnp-finder-collapse > summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:900;font-size:24px;display:flex;align-items:center;justify-content:space-between}
.upfnp-finder-collapse > summary::-webkit-details-marker{display:none}
.upfnp-finder-collapse > summary:after{content:'+';font-size:32px;line-height:1}
.upfnp-finder-collapse[open] > summary:after{content:'–'}
.upfnp-finder-collapse__body{padding:0 20px 20px}
.upfnp-newsletter-placeholder{padding:16px;border:1px dashed var(--upfnp-line);border-radius:14px;background:#f8fafc}
@media (max-width:900px){
  .upfnp-term-form .upfnp-field-grid{grid-template-columns:1fr}
  .upfnp-term-refine--compact h2{font-size:30px}
  .upfnp-term-footer-block h2{font-size:26px}
}


/* v13.2.4 */
.upfnp-logo-v11{position:relative}
.upfnp-card-discount{position:absolute;left:12px;top:12px;z-index:4;background:#e11d48;color:#fff;font-weight:900;font-size:14px;line-height:1;padding:8px 10px;border-radius:12px;box-shadow:0 8px 18px rgba(225,29,72,.28);pointer-events:none}.upfnp-card-discount::after{content:'';position:absolute;right:0;bottom:-7px;width:0;height:0;border-left:10px solid transparent;border-top:7px solid #991b1b}.upfnp-logo-v11 .upfnp-score-badge{top:12px;right:12px}.upfnp-logo-v11{position:relative}.
@media (max-width:780px){.upfnp-card-discount{left:10px;top:10px;font-size:13px;padding:7px 9px}.upfnp-card-discount::after{bottom:-6px;border-left-width:8px;border-top-width:6px}.upfnp-standalone-detail{padding:0 !important}.upfnp-standalone-inner{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0}.upfnp-standalone-inner > .upfnp-detail,.upfnp-standalone-inner > .upfnp-shell{width:100vw;max-width:100vw;margin:0;border-radius:0}}


/* v13.2.8 global discount badge refresh */
.upfnp-card-v11 .upfnp-logo-v11,
.upfnp-related-thumb{
  position:relative !important;
  overflow:hidden;
}
.upfnp-card-v11 .upfnp-card-discount,
.upfnp-related-discount{
  position:absolute !important;
  left:12px !important;
  top:12px !important;
  right:auto !important;
  bottom:auto !important;
  z-index:6 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px;
  padding:10px 14px !important;
  border-radius:14px !important;
  background:#e11d48 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  box-shadow:0 8px 20px rgba(225,29,72,.28) !important;
  white-space:normal !important;
  text-align:center !important;
  max-width:calc(100% - 110px);
}
.upfnp-card-v11 .upfnp-card-discount::after,
.upfnp-related-discount::after{display:none !important}
.upfnp-card-v11 .upfnp-score-badge + .upfnp-card-discount,
.upfnp-card-v11 .upfnp-card-discount + .upfnp-score-badge{
  pointer-events:none;
}
@media (max-width:780px){
  .upfnp-card-v11 .upfnp-logo-v11{
    height:auto !important;
    aspect-ratio:1 / 1;
    min-height:0;
  }
  .upfnp-card-v11 .upfnp-logo-v11 img,
  .upfnp-card-v11 .upfnp-logo-v11 .upfnp-noimg{
    width:100% !important;
    height:100% !important;
    min-height:0;
    aspect-ratio:1 / 1;
    object-fit:cover;
  }
  .upfnp-card-v11 .upfnp-card-discount,
  .upfnp-related-discount{
    left:10px !important;
    top:10px !important;
    min-height:40px;
    padding:9px 12px !important;
    font-size:14px !important;
    border-radius:12px !important;
    max-width:58%;
  }
}


/* v13.2.9 hot red discount polish */
.upfnp-card-v11 .upfnp-card-discount,
.upfnp-related-discount{
  left:12px !important;
  top:12px !important;
  background:#ff1f1f !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  min-height:0 !important;
  padding:7px 10px !important;
  border-radius:10px !important;
  box-shadow:0 8px 18px rgba(255,31,31,.30) !important;
  max-width:calc(100% - 120px);
}
.upfnp-card-v11 .upfnp-card-discount::after,
.upfnp-related-discount::after{display:none !important}
.upfnp-pricebox-v11.upfnp-pricebox-discounted .upfnp-price,
.upfnp-related-slide .upfnp-pricebox-v11.upfnp-pricebox-discounted .upfnp-price{
  color:#ff1f1f !important;
}
.upfnp-pricebox-v11.upfnp-pricebox-discounted .upfnp-old-price,
.upfnp-related-slide .upfnp-old-price{
  color:#000000 !important;
  text-decoration:line-through !important;
  opacity:.78;
}
.upfnp-pricebox-v11.upfnp-pricebox-discounted .upfnp-saving,
.upfnp-related-slide .upfnp-saving{
  color:#ff1f1f !important;
}
@media (max-width:780px){
  .upfnp-card-v11 .upfnp-card-discount,
  .upfnp-related-discount{
    left:10px !important;
    top:10px !important;
    font-size:11px !important;
    padding:6px 9px !important;
    border-radius:9px !important;
    max-width:52%;
  }
}


.upfnp-related-price strong{color:#ff0000 !important;}
.upfnp-related-old{color:#000 !important;text-decoration:line-through !important;opacity:.78 !important;}

/* v13.3.3 Preislogik: nur reduzierte Produkte rot */
.upfnp-pricebox-v11 .upfnp-price{color:#111111 !important;}
.upfnp-pricebox-v11.upfnp-pricebox-discounted .upfnp-price,
.upfnp-related-slide .upfnp-pricebox-v11.upfnp-pricebox-discounted .upfnp-price{color:#ff1f1f !important;}
.upfnp-pricebox-v11 .upfnp-old-price,
.upfnp-related-slide .upfnp-old-price{color:#000000 !important;text-decoration:line-through !important;}
.upfnp-pricebox-v11 .upfnp-saving,
.upfnp-related-slide .upfnp-saving{color:#ff1f1f !important;}

/* v14.2 slugpage full filter + seo wrap */
.upfnp-slugpage-mainfilter .upfnp-quiz-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}.upfnp-slugpage-mainfilter .upfnp-quiz-actions{grid-column:1/-1}.upfnp-seo-tail__box,.upfnp-seo-tail__box p,.upfnp-seo-tail__box div{overflow-wrap:anywhere;word-break:break-word}.upfnp-term-refine--full .upfnp-term-refine__head h2{margin:0 0 8px}.upfnp-term-refine--full p{margin:0 0 16px}.upfnp-term-refine--full .upfnp-field label{display:block;font-weight:700;margin-bottom:6px}
@media(max-width:768px){.upfnp-slugpage-mainfilter .upfnp-quiz-form{grid-template-columns:1fr}}


.upfnp-seo-tail__box,
.upfnp-seo-tail__box p,
.upfnp-seo-tail__box li,
.upfnp-term-hero p,
.upfnp-term-hero h1,
.upfnp-provider,
.upfnp-name,
.upfnp-line {
  overflow-wrap:anywhere;
  word-break:break-word;
}


/* v14.5 safe seo wrapping */
.upfnp-seo-tail,.upfnp-seo-tail__box,.upfnp-seo-tail__box--safe{max-width:100%;overflow:hidden}
.upfnp-seo-tail__box--safe,.upfnp-seo-tail__box--safe *{box-sizing:border-box;max-width:100%}
.upfnp-seo-tail__box--safe,
.upfnp-seo-tail__box--safe p,
.upfnp-seo-tail__box--safe div,
.upfnp-seo-tail__box--safe span,
.upfnp-seo-tail__box--safe li,
.upfnp-seo-tail__box--safe a,
.upfnp-seo-tail__box--safe strong,
.upfnp-seo-tail__box--safe em,
.upfnp-seo-tail__box--safe h2,
.upfnp-seo-tail__box--safe h3,
.upfnp-seo-tail__box--safe h4{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.upfnp-seo-tail__box--safe pre,
.upfnp-seo-tail__box--safe code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}
.upfnp-seo-tail__box--safe table{display:block;max-width:100%;overflow-x:auto}
.upfnp-seo-tail__box--safe img,
.upfnp-seo-tail__box--safe iframe,
.upfnp-seo-tail__box--safe video{max-width:100%;height:auto}




/* v14.6.3 shortcode layout */
.upfnp-shortcode-finder,
.upfnp-shortcode-results-page{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
}
.upfnp-shortcode-finder-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px 16px;
}
.upfnp-shortcode-finder-form .upfnp-field{
  margin:0;
}
.upfnp-shortcode-finder-form .upfnp-quiz-actions{
  grid-column:1 / -1;
  margin-top:4px;
}
@media (max-width:1100px){
  .upfnp-shortcode-finder-form{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:780px){
  .upfnp-shortcode-finder,
  .upfnp-shortcode-results-page{
    max-width:100%;
    padding:0;
  }
  .upfnp-shortcode-finder-form{
    grid-template-columns:1fr;
  }
}


/* v14.6.4 mobile shortcode width fix */
@media (max-width: 767px){
  .upfnp-shortcode-finder,
  .upfnp-shortcode-results-page{
    width:100% !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .upfnp-shortcode-finder .upfnp-quiz-form,
  .upfnp-shortcode-results-page .upfnp-results-wrap,
  .upfnp-shortcode-results-page .upfnp-results-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}
/* v14.6.9: Related-Bereich auf Slug-/Termseiten zeigt Seitenlinks statt Produkt-Dopplungen */
.upfnp-related-card--link{display:flex;flex-direction:column;justify-content:center;min-height:150px}
.upfnp-related-card--link .upfnp-related-title{min-height:auto;font-weight:900;font-size:18px}
.upfnp-related-card--link .upfnp-related-price strong{font-size:18px}

/* v14.7.0 smart product related intro */
.upfnp-product-related .upfnp-related-intro{margin:-6px 0 18px;color:#64748b;font-size:15px;line-height:1.5}
