/* ProfitableVenture Franchise Finder — frontend */
.pvff{
  --pvff-navy:#15213a;
  --pvff-blue:#1d4ed8;
  --pvff-indigo:#4f46e5;
  --pvff-violet:#7c3aed;
  --pvff-green:#15803d;
  --pvff-amber:#b45309;
  --pvff-red:#b42318;
  --pvff-text:#263650;
  --pvff-muted:#667085;
  --pvff-line:#dfe7f2;
  --pvff-soft:#f6f9ff;
  --pvff-shadow:0 20px 60px rgba(30,64,175,.09);
  color:var(--pvff-text);
  font-family:inherit;
  margin:32px 0;
  width:100%;
  max-width:100%;
  clear:both;
}
.pvff *{box-sizing:border-box}
.pvff button,.pvff input{font:inherit}
.pvff button{cursor:pointer}
.pvff [hidden]{display:none!important}
.pvff-shell{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100%;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  border:1px solid #dbe6f4;
  border-radius:26px;
  padding:clamp(20px,3.5vw,42px);
  box-shadow:var(--pvff-shadow);
}
.pvff-shell:before,.pvff-shell:after{content:"";position:absolute;z-index:-1;border-radius:999px;pointer-events:none}
.pvff-shell:before{width:330px;height:330px;right:-130px;top:-180px;background:radial-gradient(circle,rgba(124,58,237,.12),rgba(37,99,235,.05) 55%,transparent 73%)}
.pvff-shell:after{width:270px;height:270px;left:-125px;bottom:-165px;background:radial-gradient(circle,rgba(21,128,61,.09),rgba(37,99,235,.02) 58%,transparent 75%)}
.pvff-header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:24px}
.pvff-header>div:first-child{max-width:820px}
.pvff-eyebrow{display:block;text-transform:uppercase;color:#5b21b6;font-weight:850;font-size:12px;letter-spacing:.09em}
.pvff-header h2,.pvfc-head h2{margin:5px 0 10px;font-size:clamp(28px,3.2vw,42px);line-height:1.08;letter-spacing:-.03em;color:var(--pvff-navy)}
.pvff-header h2:after,.pvfc-head h2:after{content:"";display:block;width:84px;height:5px;margin-top:14px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#7c3aed,#db2777)}
.pvff-header p,.pvfc-head p{margin:0;color:var(--pvff-muted);font-size:16px;line-height:1.65;max-width:800px}
.pvff-header-actions{flex:0 0 auto}
.pvff-saved-toggle,.pvff-restart,.pvff-back,.pvff-next,.pvff-submit,.pvff-save,.pvfc-toggle,.pvfc-clear,.pvfc-open,.pvfc-use-saved,.pvff-saved-close,.pvff-search-close{
  appearance:none;border:0;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease
}
.pvff-saved-toggle{background:#fff;border:1px solid #d9e4f2;border-radius:999px;padding:11px 14px;color:#24324a;white-space:nowrap;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.pvff-saved-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.09)}
.pvff-saved-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;margin-left:5px;font-size:12px}

/* Brand search */
.pvff-brand-search-box{margin:0 0 24px;padding:18px 20px;background:linear-gradient(135deg,#f5f8ff,#f8f5ff);border:1px solid #e2e7f5;border-radius:18px}
.pvff-brand-search-box h3{margin:0 0 10px;color:#1e2a44;font-size:18px}
.pvff-brand-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.pvff-brand-search input,.pvfc-search{width:100%;min-height:46px;border:1px solid #cfd9e8;border-radius:11px;padding:10px 13px;background:#fff;color:#172554;box-shadow:inset 0 1px 2px rgba(15,23,42,.03)}
.pvff-brand-search input:focus,.pvfc-search:focus{outline:3px solid rgba(37,99,235,.14);border-color:#7293ee}
.pvff-brand-search button{border:0;border-radius:11px;padding:10px 17px;background:#172554;color:#fff;font-weight:800}
.pvff-brand-search-results{position:relative;margin-top:14px;display:grid;gap:14px}
.pvff-brand-search-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pvff-search-close{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #dbe3ee;color:#475569;font-size:20px}

/* Quiz */
.pvff-progress{height:10px;background:#e9eff8;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(15,23,42,.08)}
.pvff-progress-bar{display:block;height:100%;width:16.66%;background:linear-gradient(90deg,#2563eb 0%,#4f46e5 45%,#7c3aed 72%,#db2777 100%);border-radius:inherit;transition:width .3s ease}
.pvff-step-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:850;color:#4f46e5;margin:12px 0 25px;text-transform:uppercase;letter-spacing:.08em;background:#eef2ff;border:1px solid #dfe3ff;border-radius:999px;padding:6px 10px}
.pvff-step{border:0;padding:0;margin:0;animation:pvffFade .28s ease both}
.pvff-step h3{margin:0 0 7px;font-size:clamp(23px,2.6vw,32px);font-weight:850;line-height:1.2;letter-spacing:-.02em;color:var(--pvff-navy)}
.pvff-step>p{margin:0 0 17px;color:var(--pvff-muted);font-size:16px;font-weight:600;line-height:1.6}
.pvff-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.pvff-choice{display:block;position:relative;cursor:pointer;margin:0}
.pvff-choice input{position:absolute;opacity:0;pointer-events:none}
.pvff-choice span{position:relative;display:flex;align-items:center;min-height:70px;padding:17px 19px;border:1.5px solid #dde5f0;border-radius:15px;background:#fff;color:#263650;font-size:17px;font-weight:820;line-height:1.35;box-shadow:0 5px 15px rgba(15,23,42,.025);transition:.18s ease}
.pvff-choice span:before{content:"";width:26px;height:26px;border:2.5px solid #94a3b8;border-radius:50%;margin-right:13px;flex:0 0 auto;background:#fff;transition:.18s ease}
.pvff-choice input[type=checkbox]+span:before{border-radius:7px}
.pvff-choice:hover span{transform:translateY(-2px);border-color:#a8b9ee;box-shadow:0 10px 23px rgba(37,99,235,.09)}
.pvff-choice input:checked+span{border-color:#4f6fe8;color:#1e3a8a;background:linear-gradient(135deg,#eff6ff,#f3efff);box-shadow:0 11px 26px rgba(79,70,229,.12),inset 0 0 0 1px rgba(79,70,229,.15)}
.pvff-choice input:checked+span:before{border-color:#4f46e5;background:#4f46e5;box-shadow:inset 0 0 0 4px #f3efff}
.pvff-choice input[type=checkbox]:checked+span:before{content:"✓";display:grid;place-items:center;color:#fff;font-size:16px;font-weight:900;box-shadow:none}
.pvff-choice input:focus-visible+span{outline:3px solid rgba(37,99,235,.20);outline-offset:3px}
.pvff-nav{display:flex;gap:11px;justify-content:flex-end;margin-top:28px;padding-top:22px;border-top:1px solid #e8edf5}
.pvff-back,.pvff-next,.pvff-submit{min-height:46px;padding:12px 22px;border-radius:12px}
.pvff-back{background:#eef2f7;color:#354154}.pvff-back:disabled{opacity:.45;cursor:not-allowed}
.pvff-next,.pvff-submit{background:linear-gradient(135deg,#2563eb,#4f46e5 60%,#6d28d9);color:#fff;box-shadow:0 10px 22px rgba(79,70,229,.20)}
.pvff-next:hover,.pvff-submit:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(79,70,229,.26)}
.pvff-error{color:var(--pvff-red);font-weight:700;margin:11px 0 0;text-align:right}

/* Results */
.pvff-results{width:100%;animation:pvffFade .35s ease both}
.pvff-results-head{display:flex;justify-content:space-between;align-items:end;gap:18px;background:linear-gradient(135deg,#f5f8ff,#f6f1ff 56%,#fff6fb);border:1px solid #e4e7fb;border-radius:18px;padding:20px 21px;margin:0 0 18px}
.pvff-results-head h3,.pvfc-comparison-head h3{margin:3px 0 0;font-size:clamp(25px,3vw,34px);letter-spacing:-.025em;color:#172554}
.pvff-restart{background:#fff;color:#344054;padding:10px 14px;border:1px solid #dce4f0;border-radius:10px;box-shadow:0 5px 14px rgba(15,23,42,.04)}
.pvff-result-list{display:flex;flex-direction:column;gap:18px;width:100%;margin:0;padding:0}
.pvff-result-card{position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden;background:#fff;border:1px solid #dfe7f2;border-radius:20px;padding:24px 25px 22px;box-shadow:0 12px 30px rgba(15,23,42,.055);transition:.2s ease}
.pvff-result-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#2563eb,#4f46e5,#7c3aed)}
.pvff-result-card:nth-child(2):before{background:linear-gradient(90deg,#0f766e,#14b8a6,#2563eb)}
.pvff-result-card:nth-child(3):before{background:linear-gradient(90deg,#b45309,#f59e0b,#db2777)}
.pvff-result-card:hover{transform:translateY(-2px);border-color:#cad8ef;box-shadow:0 18px 42px rgba(30,64,175,.10)}
.pvff-result-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;margin-bottom:16px}
.pvff-result-top h4{font-size:clamp(22px,2.25vw,28px);line-height:1.18;letter-spacing:-.02em;margin:6px 0 8px;color:#172554}
.pvff-rank-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pvff-rank,.pvff-top-match{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.pvff-rank{min-width:28px;height:28px;padding:0 8px;background:#eef2ff;color:#4338ca}
.pvff-top-match{padding:5px 8px;background:#eaf9ef;color:#15703c;border:1px solid #c8efd5}.pvff-top-match:before{content:"★";margin-right:4px}
.pvff-category{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-size:12px;font-weight:750}
.pvff-score{width:76px;height:76px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#eef2ff,#f5f3ff);border:6px solid #dfe4ff;color:#3730a3;box-shadow:0 7px 20px rgba(79,70,229,.11)}
.pvff-score strong{font-size:22px;line-height:1}.pvff-score span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-weight:850;color:#667085}
.pvff-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.pvff-cost-fact{min-width:0;padding:12px 13px;border-radius:12px;border:1px solid #e5eaf2;background:#f8fafc}
.pvff-cost-fact span,.pvff-detail-grid span{display:block;color:#5b6678;font-size:12px;font-weight:820;text-transform:uppercase;letter-spacing:.035em;margin-bottom:6px}
.pvff-cost-fact strong{display:block;color:#172554;font-size:18px;font-weight:900;line-height:1.28;overflow-wrap:anywhere}
.pvff-cost-fact.is-blue{background:#eff6ff;border-color:#dbeafe}.pvff-cost-fact.is-purple{background:#f5f3ff;border-color:#e9e2ff}.pvff-cost-fact.is-green{background:#f0fdf4;border-color:#d7f2de}.pvff-cost-fact.is-amber{background:#fffbeb;border-color:#f8e7b2}
.pvff-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 0;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6}
.pvff-detail-grid>div{min-width:0}.pvff-detail-grid strong{display:block;color:#263650;font-size:16px;font-weight:820;line-height:1.35;overflow-wrap:anywhere}
.pvff-requirements,.pvff-why,.pvff-data-warning{margin:13px 0 0;padding:12px 14px;border-radius:11px;font-size:15px;font-weight:600;line-height:1.55}
.pvff-requirements{background:#f8fafc;border:1px solid #e5e7eb;color:#475569}
.pvff-why{background:linear-gradient(135deg,#fff9e8,#fffdf7);border:1px solid #f3dfaa;border-left:4px solid #f59e0b;color:#5b4b22}.pvff-why strong{color:#7c4a03}
.pvff-data-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px}
.pvff-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:17px}
.pvff-primary,.pvff-save,.pvfc-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:10px;text-decoration:none!important;font-weight:850;font-size:14px}
.pvff-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff!important;box-shadow:0 8px 18px rgba(79,70,229,.17)}
.pvff-primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(79,70,229,.23)}
.pvff-save,.pvfc-toggle{background:#fff;border:1px solid #dfe6ef;color:#354154}.pvff-save:hover,.pvfc-toggle:hover{transform:translateY(-1px);border-color:#c8d4e4}
.pvff-save.is-saved{background:#fff1f4;border-color:#fecdd7;color:#a30f35}.pvfc-toggle.is-selected{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
.pvff-no-link{display:inline-flex;align-items:center;min-height:42px;padding:9px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb;color:#64748b;font-size:13px;font-weight:700}
.pvff-empty{padding:20px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;text-align:center}

/* Saved drawer */
.pvff-saved-panel{position:absolute;z-index:20;right:25px;top:94px;width:min(430px,calc(100% - 50px));max-height:570px;overflow:auto;background:#fff;border:1px solid #dce5f0;border-radius:18px;box-shadow:0 24px 65px rgba(15,23,42,.2);padding:17px;animation:pvffPop .2s ease both}
.pvff-saved-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.pvff-saved-head h3{margin:0;color:#172554}
.pvff-saved-close{width:34px;height:34px;border-radius:50%;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:20px}
.pvff-saved-list{display:grid;gap:9px}.pvff-saved-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid #e7ebf2;border-radius:11px;background:#fbfdff}.pvff-saved-item strong,.pvff-saved-item small{display:block}.pvff-saved-item strong{font-size:15px;font-weight:850}.pvff-saved-item small{margin-top:4px;color:#526077;font-size:14px;font-weight:700}.pvff-saved-item button{border:1px solid #dfe6ef;background:#fff;border-radius:8px;padding:6px 9px;color:#475569;font-weight:750;margin-left:4px}

/* Compare tray and tables */
.pvfc-tray{position:sticky;z-index:12;bottom:14px;margin:22px auto 0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid #cfdafa;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 15px 38px rgba(30,64,175,.16);backdrop-filter:blur(8px)}
.pvfc-tray>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pvfc-tray-count{color:#64748b;font-size:13px}
.pvfc-clear,.pvfc-open,.pvfc-use-saved{min-height:40px;padding:9px 13px;border-radius:9px}.pvfc-clear,.pvfc-use-saved{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.pvfc-open{background:#172554;color:#fff}.pvfc-open:disabled{opacity:.45;cursor:not-allowed}
.pvfc-comparison{width:100%;margin-top:24px}.pvfc-comparison-head{margin-bottom:12px}.pvfc-table-wrap{width:100%;overflow-x:auto;border:1px solid #dde5f0;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.pvfc-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;margin:0!important}.pvfc-table th,.pvfc-table td{padding:13px 14px;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:top;font-size:15px;line-height:1.45}.pvfc-table td{font-weight:720;color:#263650}.pvfc-table tbody th{font-weight:850;color:#172554}.pvfc-table thead th{background:#f4f7ff;color:#172554}.pvfc-table th:first-child{position:sticky;left:0;z-index:2;background:#f8fafc;min-width:170px}.pvfc-table thead th:first-child{z-index:3;background:#eef2ff}.pvfc-table th:last-child,.pvfc-table td:last-child{border-right:0}.pvfc-table tbody tr:last-child>*{border-bottom:0}.pvfc-table thead small{display:block;color:#64748b;margin-top:3px;font-weight:500}.pvfc-table a{font-weight:800}

/* Standalone comparison picker */
.pvfc-head{margin-bottom:22px}.pvfc-picker{padding:20px;border:1px solid #e1e7f0;border-radius:18px;background:#f8fbff}.pvfc-picker>label{display:block;font-weight:800;color:#263650;margin-bottom:8px}.pvfc-search-wrap{position:relative}.pvfc-suggestions{position:absolute;left:0;right:0;z-index:20;top:calc(100% + 5px);max-height:370px;overflow:auto;background:#fff;border:1px solid #d7e0ec;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:6px}.pvfc-suggestion{display:block;width:100%;text-align:left;border:0;background:#fff;padding:10px 11px;border-radius:8px}.pvfc-suggestion:hover{background:#f3f6ff}.pvfc-suggestion strong,.pvfc-suggestion small{display:block}.pvfc-suggestion strong{font-size:15px;font-weight:850}.pvfc-suggestion small{color:#526077;margin-top:4px;font-size:14px;font-weight:700}.pvfc-no-results{padding:12px;color:#64748b}.pvfc-selected{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.pvfc-selected-chip{border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;border-radius:999px;padding:7px 10px;font-weight:750}.pvfc-none{color:#64748b}.pvfc-picker-actions{display:flex;flex-wrap:wrap;gap:8px}.pvfc-message{margin:9px 0 0;color:#b42318;font-weight:700}

.pvff-disclaimer{margin:22px 0 0;padding:13px 15px;border-radius:11px;background:#f8fafc;border:1px solid #e5e7eb;color:#667085;font-size:12px;line-height:1.55}

@keyframes pvffFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pvffPop{from{opacity:0;transform:scale(.98) translateY(-5px)}to{opacity:1;transform:none}}

@media(max-width:900px){.pvff-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pvff-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .pvff{margin:20px 0}.pvff-shell{padding:18px;border-radius:18px}.pvff-choice span{font-size:17px;min-height:68px;padding:16px}.pvff-header{flex-direction:column}.pvff-header-actions{width:100%}.pvff-saved-toggle{width:100%}.pvff-brand-search{grid-template-columns:1fr}.pvff-choices{grid-template-columns:1fr}.pvff-results-head{align-items:stretch;flex-direction:column}.pvff-result-card{padding:20px 17px}.pvff-result-top{grid-template-columns:1fr}.pvff-score{width:auto;height:auto;border-radius:999px;border-width:1px;flex-direction:row;gap:6px;padding:7px 10px;justify-self:start}.pvff-score strong{font-size:16px}.pvff-score span{margin:0}.pvff-cost-grid,.pvff-detail-grid{grid-template-columns:1fr}.pvff-result-actions>*{width:100%}.pvff-nav{display:grid;grid-template-columns:1fr 1fr}.pvff-submit{grid-column:1/-1}.pvff-saved-panel{right:12px;top:120px;width:calc(100% - 24px)}.pvfc-tray{position:relative;bottom:auto;align-items:stretch;flex-direction:column}.pvfc-tray>div{justify-content:space-between}.pvfc-picker-actions>*{width:100%}}


/* Dedicated ad position: immediately after the top franchise brand-search box. */
.pvff-ad-slot--after-search {
    width: 100%;
    margin: 28px 0 30px;
    text-align: center;
    clear: both;
}
.pvff-ad-slot--after-search:empty {
    display: none;
    margin: 0;
}
.pvff-ad-slot--after-search > * {
    max-width: 100%;
}
