/* PV Panel Cost Calculator. Local metric-compatible fallbacks: only downloaded on devices without Georgia / Verdana (e.g. Android). */
@font-face{font-family:"BSPV Text";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/tinos-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"BSPV Text";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/tinos-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"BSPV UI";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/arimo-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"BSPV UI";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/arimo-latin-700-normal.woff2") format("woff2");}

/* Scoped baseline: theme / page-builder rules must not restyle this widget. */
#pvc {
  all:revert;
  --ink:#151515; --ink2:#2b2b2b; --muted:#4d4d4d;
  --rule:#d2d2d2; --rule2:#b9b9b9; --paper:#ffffff; --soft:#f6f7f7;
  --pt:#a14a06; --pt-dk:#7a3704; --pt-lt:#fdf2e7; --pt-bd:#d99a5b;
  --grn:#14522a; --grn-lt:#eaf5ee; --grn-bd:#3a8a5a;
  --amb:#6b3300; --amb-lt:#fdf3e4; --amb-bd:#b8792f;
  --rd:#8a1414; --rd-lt:#fdf0f0; --rd-bd:#c46060;
  --pur:#3a1670; --pur-lt:#f3eeff; --pur-bd:#7a55c2;
  --sl:#263240; --sl-lt:#edf1f6; --sl-bd:#5e7e9e;
  --led:#ffb627;
  --serif:Georgia,'BSPV Text','Times New Roman',serif;
  --ui:Verdana,'Segoe UI',Tahoma,'BSPV UI',Arial,sans-serif;
  display:block; width:100%; min-width:0; max-width:780px; margin:14px auto; background:var(--paper); color:var(--ink);
  font-family:var(--serif); font-size:19px; line-height:1.95;
  border:1px solid var(--rule2); border-radius:10px; overflow:hidden; box-sizing:border-box;
  text-align:left; font-weight:400; font-style:normal; letter-spacing:normal; text-transform:none;
  color-scheme:light; isolation:isolate; container:bspv / inline-size;
}
#pvc :where(div,span,p,h1,h2,h3,h4,b,i,strong,a,button,input,select,option,label,ul,ol,li,nav,table,thead,tbody,tr,th,td,details,summary){
  all:revert;
  box-sizing:border-box; margin:0; padding:0; min-width:0;
  font:inherit; color:inherit; letter-spacing:inherit; text-transform:none; text-align:inherit;
}
#pvc *,#pvc *::before,#pvc *::after{box-sizing:border-box;margin:0;padding:0;}
#pvc b,#pvc strong{font-weight:700;color:var(--ink);}
#pvc h2{font-family:var(--serif);}
#pvc button,#pvc input,#pvc select{box-shadow:none;text-shadow:none;float:none;}
#pvc button{width:auto;height:auto;max-width:100%;white-space:normal;}
#pvc input::placeholder{color:#757575;opacity:1;}
#pvc ul{list-style:none;}
#pvc li::marker{content:"";}
#pvc table{table-layout:auto;border:0;border-spacing:0;margin:0;}
#pvc th,#pvc td{border:0;}
#pvc svg{display:block;max-width:100%;}
#pvc img.emoji,#pvc img.wp-smiley{display:inline!important;width:1em!important;height:1em!important;max-width:none!important;margin:0 .07em!important;padding:0!important;border:0!important;vertical-align:-.1em!important;background:none!important;box-shadow:none!important;}
#pvc a{color:var(--pt);font-weight:700;}
#pvc :focus-visible{outline:3px solid var(--led);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){#pvc *{transition:none!important;animation:none!important;}}

/* HEADER */
#pvc .hd{padding:32px 14px 26px;border-bottom:4px solid var(--pt);}
#pvc .hd-badge{display:inline-block;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--pt);border:1.5px solid var(--pt-bd);background:var(--pt-lt);border-radius:20px;padding:5px 14px;margin-bottom:14px;line-height:1.5;}
#pvc .hd-sub{font-size:19px;color:var(--ink2);margin-bottom:18px;line-height:1.85;}
#pvc .hd-verdict{display:block;border:2px solid var(--ink);border-radius:8px;padding:14px;background:var(--soft);font-size:18px;line-height:1.8;}
#pvc .hd-verdict b{font-family:var(--ui);font-size:13px;color:var(--pt);display:block;margin-bottom:4px;}

/* REVIEWER */
#pvc .rv-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--rule);background:var(--soft);font-family:var(--ui);}
#pvc .rv-icon{width:42px;height:42px;border-radius:50%;background:var(--pt);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
#pvc .rv-label{display:block;font-size:11px;font-weight:700;color:var(--pt);}
#pvc .rv-name{display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.4;}
#pvc .rv-cred{display:block;font-size:12px;color:var(--muted);line-height:1.4;}

/* STATS */
#pvc .stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--rule);}
#pvc .sr-item{padding:16px 8px;text-align:center;border-right:1px solid var(--rule);}
#pvc .sr-item:last-child{border-right:none;}
#pvc .sr-val{display:block;font-family:var(--ui);font-size:20px;font-weight:700;color:var(--pt);line-height:1.15;}
#pvc .sr-lbl{display:block;font-family:var(--ui);font-size:12px;color:var(--ink2);line-height:1.45;margin-top:5px;}

/* NAV */
#pvc .qnav{position:sticky;top:0;z-index:60;display:flex;gap:7px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:9px 10px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule2);}
#pvc .qnav::-webkit-scrollbar{display:none;}
#pvc .qnav a{flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1.5px solid var(--ink);border-radius:22px;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;background:var(--paper);}
#pvc .qnav a:hover,#pvc .qnav a:focus-visible{background:var(--ink);color:#fff;outline:none;}

/* SECTIONS */
#pvc .sec{display:block;padding:28px 14px;border-bottom:1px solid var(--rule);scroll-margin-top:68px;}
#pvc .sec-ttl{display:block;font-size:23px;line-height:1.3;font-weight:700;color:var(--ink);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--ink);}
#pvc .sub-ttl{font-family:var(--ui);font-size:16px;font-weight:700;color:var(--ink);margin:18px 0 8px;line-height:1.4;}
#pvc .lead{font-size:19px;color:var(--ink2);margin-bottom:18px;line-height:1.85;}
#pvc p.body{font-size:18px;color:var(--ink2);line-height:1.9;margin-bottom:14px;}
#pvc p.body:empty{display:none;}

/* KEY ANSWERS */
#pvc .tk-card{border:1px solid var(--rule2);border-left:5px solid var(--pt);border-radius:8px;padding:14px 14px 12px;margin-bottom:12px;background:var(--paper);}
#pvc .tk-card:last-child{margin-bottom:0;}
#pvc .tk-q{display:flex;gap:10px;align-items:flex-start;font-weight:700;font-size:19px;line-height:1.45;color:var(--ink);}
#pvc .tk-num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--ui);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;}
#pvc .tk-ans{margin-top:8px;padding-top:8px;border-top:1px dashed var(--rule);font-size:18px;color:var(--ink2);line-height:1.85;}

/* CONTROLS */
#pvc .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:10px 16px;border-radius:24px;border:2px solid var(--pt);background:var(--pt);color:#fff;font-family:var(--ui);font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2;}
#pvc .btn:hover{background:var(--pt-dk);}
#pvc .btn.ghost{background:var(--paper);color:var(--pt);}
#pvc .btn.ghost:hover{background:var(--pt-lt);}
#pvc .btn.ghost[aria-pressed="true"],#pvc .btn.ghost[aria-pressed="true"]:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
#pvc .btn:disabled{opacity:.6;cursor:wait;}
#pvc .inp{display:block;min-height:46px;padding:9px 12px;border:2px solid var(--rule2);border-radius:8px;font-family:var(--ui);font-size:15px;color:var(--ink);background:#fff;width:100%;}
#pvc .inp:focus{border-color:var(--pt);outline:none;}
#pvc .inp-zip{max-width:140px;}
#pvc .lbl{display:block;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--ink2);line-height:1.45;}
#pvc .lbl b{color:var(--pt);}
#pvc .rng{display:block;width:100%;min-height:36px;accent-color:var(--pt);cursor:pointer;}
#pvc .opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:12px;}
#pvc .opt-grid label{display:flex;flex-direction:column;gap:4px;}
#pvc .chk{display:flex;flex-direction:row;align-items:center;gap:8px;font-family:var(--ui);font-size:14px;color:var(--ink);min-height:46px;margin-top:6px;cursor:pointer;}
#pvc .chk input{width:20px;height:20px;accent-color:var(--pt);}
#pvc .vis-h{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
#pvc .status{margin-top:10px;font-family:var(--ui);font-size:14px;color:var(--ink2);line-height:1.6;min-height:22px;}
#pvc .status.err{color:var(--rd);font-weight:700;}

/* LOCATOR */
#pvc .loc-box{border:2px solid var(--pt);border-radius:10px;padding:14px;background:var(--pt-lt);margin-top:14px;}
#pvc .loc-ttl{font-family:var(--ui);font-weight:700;font-size:15px;margin-bottom:8px;color:var(--ink);}
#pvc .loc-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}

/* PILLS */
#pvc .pp-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
#pvc .pp{display:inline-flex;align-items:center;gap:4px;border:1.5px solid;border-radius:20px;padding:6px 12px;font-family:var(--ui);font-size:13px;font-weight:700;line-height:1.3;}
#pvc a.pp{text-decoration:none;}
#pvc .pp-pt{background:var(--pt-lt);color:var(--pt);border-color:var(--pt-bd);}
#pvc .pp-grn{background:var(--grn-lt);color:var(--grn);border-color:var(--grn-bd);}
#pvc .pp-rd{background:var(--rd-lt);color:var(--rd);border-color:var(--rd-bd);}
#pvc .pp-pur{background:var(--pur-lt);color:var(--pur);border-color:var(--pur-bd);}
#pvc .pp-plain{background:var(--paper);color:var(--ink);border-color:var(--rule2);}

/* ALERTS */
#pvc .al{display:block;border:1px solid var(--rule2);border-left:5px solid;border-radius:8px;padding:15px 14px;margin-bottom:14px;background:var(--paper);}
#pvc .al:last-child{margin-bottom:0;}
#pvc .al-pt{border-left-color:var(--pt);}
#pvc .al-grn{border-left-color:var(--grn);}
#pvc .al-amb{border-left-color:var(--amb);}
#pvc .al-rd{border-left-color:var(--rd);}
#pvc .al-pur{border-left-color:var(--pur);}
#pvc .al-sl{border-left-color:var(--sl);}
#pvc .al-hd{font-family:var(--ui);font-size:15px;font-weight:700;line-height:1.45;margin-bottom:8px;color:var(--ink);}
#pvc .al p{font-size:18px;line-height:1.9;color:var(--ink2);}

/* LIVE BOARD */
#pvc .board{background:#0d1424;border-radius:12px;padding:16px;margin-bottom:16px;color:#e9edf2;font-family:var(--ui);border:3px solid #232d44;}
#pvc .bd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;}
#pvc .bd-cell{background:#172036;border:1px solid #232d44;border-radius:8px;padding:10px;}
#pvc .bd-cell b{display:block;font-size:16px;line-height:1.35;color:#fff;font-variant-numeric:tabular-nums;}
#pvc .bd-cell span{display:block;font-size:12px;color:#aab4c8;margin-top:2px;line-height:1.4;}

/* CHART */
#pvc .chart-box{border:1px solid var(--rule2);border-radius:10px;padding:12px;background:#fff;margin-bottom:16px;}
#pvc #pvc-chart{min-height:200px;}
#pvc #pvc-chart svg{width:100%;height:auto;touch-action:pan-y;}
#pvc .ch-line{fill:none;stroke:#1c3f94;stroke-width:2.2;}
#pvc .ch-grid{stroke:#e3e6ee;stroke-width:1;}
#pvc .ch-lbl{font-family:var(--ui);font-size:11px;fill:#4d4d4d;}
#pvc .ch-note{font-family:var(--ui);font-size:12px;color:var(--muted);margin-top:6px;line-height:1.55;}

/* SCENARIO + CALCULATOR */
#pvc .cbox-h{font-family:var(--ui);font-size:15px;font-weight:700;color:var(--ink);line-height:1.45;}
#pvc .cbox-out{margin-top:12px;font-family:var(--ui);font-size:14px;line-height:1.7;color:var(--ink);border-top:1px dashed var(--rule2);padding-top:10px;}
#pvc .cbox-out b.big{display:block;font-size:26px;color:var(--pt);line-height:1.3;}

/* DUAL COMPARISON — desktop table / mobile cards (never both) */
#pvc .qr-wrap{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule2);border-radius:8px;margin-bottom:14px;}
#pvc .qr-wrap table{width:100%;min-width:620px;border-collapse:collapse;font-family:var(--ui);font-size:14px;line-height:1.5;}
#pvc .qr-wrap thead th{background:var(--ink);color:#fff;padding:10px;text-align:left;font-size:13px;font-weight:700;white-space:nowrap;}
#pvc .qr-wrap tbody td{padding:10px;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink);}
#pvc .qr-wrap tbody tr:nth-child(even){background:var(--soft);}
#pvc .qr-wrap tbody tr:last-child td{border-bottom:none;}
#pvc .td-opt{font-weight:700;color:var(--pt);white-space:nowrap;}
#pvc .td-b{font-weight:700;}
#pvc .qr-mob{display:none;margin-bottom:14px;}
#pvc .qm-card{border:1px solid var(--rule2);border-radius:8px;margin-bottom:10px;overflow:hidden;background:var(--paper);}
#pvc .qm-card:last-child{margin-bottom:0;}
#pvc .qm-hd{background:var(--ink);color:#fff;font-family:var(--ui);font-size:15px;font-weight:700;padding:10px 12px;display:flex;justify-content:space-between;gap:8px;line-height:1.4;}
#pvc .qm-hd span:last-child{color:#ffd27a;text-align:right;font-size:13px;}
#pvc .qm-body{padding:6px 12px 8px;}
#pvc .qm-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule);font-family:var(--ui);font-size:13px;line-height:1.45;}
#pvc .qm-row:last-child{border-bottom:none;}
#pvc .qm-lbl{color:var(--muted);font-weight:700;flex-shrink:0;min-width:95px;}
#pvc .qm-val{text-align:right;color:var(--ink);}
@media (max-width:560px){#pvc .qr-wrap{display:none;}#pvc .qr-mob{display:block;}}

/* NEWS */
#pvc .news-list li{border-bottom:1px solid var(--rule);padding:10px 0;font-family:var(--ui);font-size:15px;line-height:1.5;}
#pvc .news-list li:last-child{border-bottom:none;}
#pvc .news-list a{color:var(--ink);text-decoration:none;}
#pvc .news-list a:hover{text-decoration:underline;}
#pvc .news-meta{display:block;font-size:12px;color:var(--muted);margin-top:2px;}

/* FOOTER */
#pvc .ftr{display:block;padding:18px 14px;background:var(--soft);}
#pvc .disc{font-family:var(--ui);font-size:13px;color:var(--muted);line-height:1.8;}
#pvc .disc+.disc{margin-top:8px;}

/* RESPONSIVE — media-query fallback for older browsers */
@media (max-width:620px){#pvc .bd-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:580px){
  #pvc{margin:0;border-radius:0;border-left:none;border-right:none;}
  #pvc .hd{padding:22px 10px 20px;}
  #pvc .hd-sub{font-size:18px;}
  #pvc .sec{padding:22px 10px;}
  #pvc .sec-ttl{font-size:21px;}
  #pvc .rv-bar,#pvc .ftr{padding-left:10px;padding-right:10px;}
  #pvc .al{padding:13px 10px;}
  #pvc .tk-card{padding:12px 10px 10px;}
  #pvc .al p,#pvc .tk-ans,#pvc p.body{font-size:17px;}
  #pvc .lead{font-size:18px;}
  #pvc .inp-zip{max-width:none;flex:1;}
}
@media (max-width:500px){
  #pvc .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  #pvc .sr-item:nth-child(2){border-right:none;}
  #pvc .sr-item:nth-child(1),#pvc .sr-item:nth-child(2){border-bottom:1px solid var(--rule);}
}

/* RESPONSIVE — the actual content column (desktop pages with sidebars too) */
@container bspv (max-width:620px){
  #pvc .bd-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@container bspv (max-width:580px){
  #pvc .hd{padding:22px 10px 20px;}
  #pvc .hd-sub{font-size:18px;}
  #pvc .sec{padding:22px 10px;}
  #pvc .sec-ttl{font-size:21px;}
  #pvc .rv-bar,#pvc .ftr{padding-left:10px;padding-right:10px;}
  #pvc .al{padding:13px 10px;}
  #pvc .tk-card{padding:12px 10px 10px;}
  #pvc .al p,#pvc .tk-ans,#pvc p.body{font-size:17px;}
  #pvc .lead{font-size:18px;}
  #pvc .inp-zip{max-width:none;flex:1;}
}
@container bspv (max-width:560px){
  #pvc .qr-wrap{display:none;}
  #pvc .qr-mob{display:block;}
}
@container bspv (max-width:500px){
  #pvc .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  #pvc .sr-item:nth-child(2){border-right:none;}
  #pvc .sr-item:nth-child(1),#pvc .sr-item:nth-child(2){border-bottom:1px solid var(--rule);}
}

/* PV-SPECIFIC */
#pvc .board{background:#1d1408;border-color:#3a2a14;}
#pvc .bd-cell{background:#2a1e0e;border-color:#3a2a14;}
#pvc .bd-cell span{color:#e2cfb4;}
#pvc .loc-box{margin:0 0 14px;}
#pvc .loc-now{font-family:var(--ui);font-size:15px;line-height:1.5;margin-bottom:10px;color:var(--ink);}
#pvc .loc-now .lbl{display:inline;}
#pvc .loc-util{display:block;font-size:12px;color:var(--muted);}
#pvc .pp-amb{background:var(--amb-lt);color:var(--amb);border-color:var(--amb-bd);}
#pvc .pp-sl{background:var(--sl-lt);color:var(--sl);border-color:var(--sl-bd);}
#pvc details.adv{margin-top:12px;font-family:var(--ui);font-size:14px;}
#pvc details.adv summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:700;color:var(--pt);list-style:none;}
#pvc details.adv summary::-webkit-details-marker{display:none;}
#pvc details.adv summary::before{content:"\25B8";display:inline-block;margin-right:8px;transition:transform .15s;}
#pvc details.adv[open] summary::before{transform:rotate(90deg);}
#pvc .kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;}
#pvc .kpi{border:1px solid var(--rule2);border-radius:8px;padding:10px;text-align:center;font-family:var(--ui);background:#fff;}
#pvc .kpi b{display:block;font-size:21px;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums;}
#pvc .kpi span{display:block;font-size:12px;color:var(--muted);line-height:1.4;}
#pvc .kpi-hi{border:2px solid var(--pt);background:var(--pt-lt);}
#pvc .kpi-hi b{color:var(--pt);}
#pvc #pvc-chart{min-height:180px;}
#pvc #pvc-chart svg{width:100%;height:auto;}
#pvc .ch-bar{fill:#e39a3b;}
#pvc .ch-use{stroke:#263240;stroke-width:2.5;fill:none;stroke-dasharray:6 4;}
#pvc .ch-val{font-family:var(--ui);font-size:10px;fill:#4d4d4d;}
#pvc .qbar{position:relative;display:flex;height:30px;border-radius:6px;overflow:visible;margin:14px 0 4px;font-family:var(--ui);font-size:11px;font-weight:700;}
#pvc .qz{display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;line-height:1.2;}
#pvc .qz-g{flex:25;background:#3a8a5a;border-radius:6px 0 0 6px;}
#pvc .qz-m{flex:37.5;background:#b8792f;}
#pvc .qz-h{flex:37.5;background:#a3101c;border-radius:0 6px 6px 0;}
#pvc .qbar i{position:absolute;top:-6px;width:4px;height:42px;margin-left:-2px;background:var(--ink);border-radius:2px;display:none;}
#pvc .td-b.win{color:var(--grn);}
@container bspv (max-width:580px){#pvc .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#pvc .kpi b{font-size:18px;}}
@media (max-width:580px){#pvc .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
#pvc .board .bd-grid{margin-top:0;}
#pvc .loc-row .inp-zip{flex:1 1 150px;max-width:220px;}
@container bspv (max-width:580px){#pvc .loc-row .inp-zip{max-width:none;}#pvc .loc-row .btn{flex:1 1 auto;}}
