/* Total Solar inner page templates: Residential, Commercial, EV charging, Rebates, Products, Fault codes */
.ts-light{background:#fff;color:#2b3a4f}
.ts-light .ts-eyebrow{color:#1a6fc0}
.ts-sec{padding:72px 0}
.ts-sec.ts-alt{background:#f4f7fb}
.ts-sec-head{max-width:780px;margin:0 0 36px}
body.ts-theme .ts-sec h2{font-size:clamp(26px,3vw,38px);margin:0 0 12px;color:var(--ts-navy)}
body.ts-theme .ts-sec h3{font-size:18px;margin:0 0 8px;color:var(--ts-navy)}
.ts-sec-lead{font-size:17px;color:#55657a;margin:0}
.ts-sec p{margin:0 0 1em}
/* cards */
.ts-lcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ts-lcard{background:#fff;border:1px solid #e1e8f1;border-radius:18px;padding:26px 24px;box-shadow:0 1px 2px rgba(11,37,69,.04)}
.ts-alt .ts-lcard{border-color:#dde6f0}
.ts-lcard .ts-ico{width:46px;height:46px;padding:10px;border-radius:12px;background:var(--ts-yellow);color:var(--ts-navy);margin-bottom:16px}
.ts-lcard p{font-size:15px;color:#55657a;margin:0}
/* options */
.ts-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ts-opt{background:#fff;border:1px solid #dde6f0;border-radius:18px;padding:26px 22px;display:flex;flex-direction:column}
.ts-opt-tag{align-self:flex-start;background:var(--ts-navy);color:#fff;font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;margin-bottom:14px}
.ts-checks{list-style:none;margin:6px 0 18px;padding:0;display:grid;gap:10px;flex:1}
.ts-checks li{position:relative;padding-left:28px;font-size:15px;color:#3d4d63;margin:0}
.ts-checks li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--ts-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2545' stroke-width='3.5'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/11px no-repeat}
.ts-opt-link{font-weight:700;font-size:14.5px;text-decoration:none;color:#1a6fc0!important}
/* steps */
.ts-lsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:none}
.ts-lsteps li{margin:0;background:#fff;border-radius:18px;padding:24px;border:1px solid #dde6f0}
.ts-lnum{display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--ts-navy);color:var(--ts-yellow);font-weight:800;align-items:center;justify-content:center;margin-bottom:14px}
.ts-lsteps p{font-size:15px;color:#55657a;margin:0}
/* brands */
.ts-brandbox{background:linear-gradient(120deg,var(--ts-navy),#0d3566);border-radius:26px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;color:#c9d6e6}
body.ts-theme .ts-brandbox h2{color:#fff}.ts-brandbox .ts-eyebrow{color:var(--ts-yellow)}
.ts-brandbox p{color:#b8c8dc}
/* callout */
.ts-callout{border:2px solid var(--ts-navy);border-radius:24px;padding:40px;display:grid;grid-template-columns:1.4fr .6fr;gap:32px;align-items:center}
.ts-callout p{color:#3d4d63;margin:0}
.ts-callout-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ts-light .ts-callout .ts-btn-ghost{border-color:var(--ts-navy);color:var(--ts-navy)!important}
.ts-callout .ts-btn{white-space:normal;text-align:center}
/* faq */
.ts-lfaq{max-width:900px}
.ts-lfaq details{border-bottom:1px solid #dde6f0;padding:18px 0}
.ts-lfaq summary{cursor:pointer;font-weight:700;color:var(--ts-navy);list-style:none;display:flex;justify-content:space-between;gap:16px;font-size:16.5px}
.ts-lfaq summary::-webkit-details-marker{display:none}
.ts-lfaq summary::after{content:"+";color:#1a6fc0;font-size:24px;line-height:1}
.ts-lfaq details[open] summary::after{content:"–"}
.ts-lfaq details p{color:#55657a;margin:12px 0 0;font-size:15.5px}
/* editor + note */
.ts-sec-editor{padding-top:0}
.ts-sec-note{padding:0 0 64px;background:#fff}
.ts-pnote{background:#f4f7fb;border-radius:18px;padding:24px 28px;font-size:13.5px;color:#55657a}
body.ts-theme .ts-pnote h2{font-size:16px;margin:0 0 10px}
.ts-pnote p{margin:0 0 8px}
/* rebates */
.ts-jump{padding:18px 0;border-bottom:1px solid #e1e8f1;position:sticky;top:var(--ts-header-h);background:#fff;z-index:20}
.admin-bar .ts-jump{top:calc(var(--ts-header-h) + 32px)}
.ts-jump .ts-wrap{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;align-items:center;font-size:13.5px;scrollbar-width:thin}
.ts-jump span{font-weight:700;color:var(--ts-navy);white-space:nowrap}
.ts-jump a{white-space:nowrap;text-decoration:none;border:1px solid #dde6f0;border-radius:999px;padding:6px 12px;color:var(--ts-navy)!important}
.ts-jump a:hover{border-color:#1a6fc0}
.ts-sec[id],.ts-state[id]{scroll-margin-top:150px}
.ts-fed{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.ts-fed-tables{display:grid;gap:18px}
.ts-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dde6f0;border-radius:14px;overflow:hidden;font-size:14.5px;margin:0}
.ts-table caption{text-align:left;font-weight:700;color:var(--ts-navy);padding:0 0 8px}
.ts-table th,.ts-table td{padding:10px 14px;border-bottom:1px solid #e9eef5;text-align:left}
.ts-table thead th{background:var(--ts-navy);color:#fff;font-weight:700}
.ts-src{font-size:13px;color:#6b7a8f;margin:8px 0 0}
.ts-src a{color:#1a6fc0!important}
.ts-states{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.ts-state{background:#fff;border:1px solid #dde6f0;border-radius:18px;padding:24px;display:flex;flex-direction:column}
.ts-state-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
body.ts-theme .ts-state h3{margin:0}
.ts-state-name{font-weight:700;color:#1a6fc0;font-size:14.5px;margin:6px 0 10px!important}
.ts-state p{font-size:15px;color:#3d4d63;flex:1}
.ts-state a{font-weight:700;font-size:14px;text-decoration:none;color:#1a6fc0!important}
.ts-status{flex:0 0 auto;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.ts-status-open{background:#dff5e6;color:#1d6b38}
.ts-status-partial{background:#e3f0fd;color:#0b4f8f}
.ts-status-none{background:#f0f2f5;color:#4a5668}
.ts-status-closed{background:#fde8e8;color:#9b1c1c}
/* bundled product + fault code content */
.ts-bundled{padding:24px 0 40px}
.ts-bundled .ts-pl,.ts-bundled .ts-fc{padding-top:16px}
.ts-bundled .ts-compliance-note{margin-top:24px}
.ts-cec-links{flex-direction:row;flex-wrap:wrap}
.ts-cec-wrap{max-width:900px}
.ts-page-products .ts-sec.ts-alt{margin-top:24px}
/* responsive */
@media (max-width:1080px){
 .ts-lcards{grid-template-columns:repeat(2,1fr)}
 .ts-opts,.ts-lsteps{grid-template-columns:repeat(2,1fr)}
 .ts-brandbox,.ts-callout,.ts-fed{grid-template-columns:1fr}
}
@media (max-width:640px){
 .ts-sec{padding:52px 0}
 .ts-lcards,.ts-opts,.ts-lsteps,.ts-states{grid-template-columns:1fr}
 .ts-brandbox,.ts-callout{padding:28px 22px;border-radius:20px}
 .ts-callout-links,.ts-callout-links .ts-btn{width:100%}
 .ts-cec-links .ts-btn{width:100%}
 .ts-pnote{padding:20px}
 .ts-jump{top:var(--ts-header-h)}
}
/* keep theme-wide classes from restyling the bundled fault code / product markup */
.ts-fc .ts-lead{color:#3a4558}
.ts-fc .ts-tag{margin-bottom:0;align-self:auto}
.ts-fc .ts-btn{white-space:normal;font-size:16px;gap:0}
.ts-fc .ts-btn:hover{transform:none}
