/* ─── SmartWatt Power Calculator ────────────────────────────────────
 * Scoped under .swcs-calc to avoid clashes with theme styles.
 * Uses CSS custom properties for easy theming.
 * ──────────────────────────────────────────────────────────────────── */

.swcs-calc {
	--swcs-sky:        #0ea5e9;
	--swcs-sky-600:    #0284c7;
	--swcs-sky-700:    #0369a1;
	--swcs-sky-50:     #f0f9ff;
	--swcs-slate-50:   #f8fafc;
	--swcs-slate-100:  #f1f5f9;
	--swcs-slate-200:  #e2e8f0;
	--swcs-slate-300:  #cbd5e1;
	--swcs-slate-500:  #64748b;
	--swcs-slate-600:  #475569;
	--swcs-slate-700:  #334155;
	--swcs-slate-900:  #0f172a;

	max-width: 1280px;
	margin: 0 auto;
	padding: 1.5rem 1rem;
	color: var(--swcs-slate-900);
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.swcs-calc__intro { max-width: 42rem; margin-bottom: 2rem; }
.swcs-calc__kicker { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--swcs-sky-600); margin: 0 0 .5rem; }
.swcs-calc__title { font-family: 'Bricolage Grotesque', 'Inter', sans-serif; font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.15; letter-spacing: -.025em; margin: 0; }
.swcs-calc__lead { font-size: 1rem; line-height: 1.65; color: var(--swcs-slate-600); margin: .75rem 0 0; }

.swcs-calc__grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}
@media ( min-width: 900px ) {
	.swcs-calc__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

.swcs-calc__panel {
	background: #fff;
	border: 2px solid var(--swcs-slate-200);
	border-radius: 1rem;
	padding: 1.25rem;
}
@media ( min-width: 600px ) { .swcs-calc__panel { padding: 1.75rem; } }

.swcs-calc__panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--swcs-slate-200); margin-bottom: 1.25rem; }
.swcs-calc__step { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--swcs-slate-500); }
.swcs-calc__total { display: inline-flex; align-items: baseline; gap: .5rem; }
.swcs-calc__total-label { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--swcs-slate-500); }
.swcs-calc__total strong { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.75rem; font-weight: 700; color: var(--swcs-sky-600); font-variant-numeric: tabular-nums; }
.swcs-calc__unit { font-size: .9rem; color: var(--swcs-slate-500); }

.swcs-calc__sublabel { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--swcs-slate-500); margin: 0 0 .5rem; }
.swcs-calc__hours { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.swcs-calc__hour { padding: .5rem 1rem; border: 2px solid var(--swcs-slate-300); background: #fff; color: var(--swcs-slate-700); border-radius: .5rem; font-weight: 600; cursor: pointer; min-height: 2.5rem; transition: all .15s; }
.swcs-calc__hour:hover { border-color: var(--swcs-slate-500); }
.swcs-calc__hour[aria-pressed="true"] { border-color: var(--swcs-sky); background: var(--swcs-sky-50); color: var(--swcs-sky-600); }

.swcs-calc__appliances { list-style: none; padding: 0; margin: 0; }
.swcs-calc__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem .25rem; border: 1px solid transparent; border-radius: .75rem; transition: background .15s, border-color .15s; }
.swcs-calc__row:hover { background: var(--swcs-slate-50); border-color: var(--swcs-slate-200); }
.swcs-calc__row-info { display: flex; align-items: center; gap: .75rem; min-width: 0; flex: 1; }
.swcs-calc__icon { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; background: var(--swcs-sky-50); color: var(--swcs-sky-600); border-radius: .5rem; flex-shrink: 0; }
.swcs-calc__row-title { font-weight: 500; margin: 0; color: var(--swcs-slate-900); }
.swcs-calc__row-meta { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .75rem; color: var(--swcs-slate-500); margin: .25rem 0 0; }
.swcs-calc__row-sum { color: var(--swcs-sky-600); }

.swcs-calc__qty { display: inline-flex; align-items: center; gap: .25rem; border: 2px solid var(--swcs-slate-200); background: var(--swcs-slate-100); padding: .25rem; border-radius: .5rem; flex-shrink: 0; }
.swcs-calc__qty-btn { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; background: transparent; border: 0; cursor: pointer; color: var(--swcs-slate-700); font-size: 1.25rem; font-weight: 600; border-radius: .375rem; transition: background .15s; }
.swcs-calc__qty-btn:hover { background: var(--swcs-slate-200); }
.swcs-calc__qty-val { min-width: 2rem; text-align: center; font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--swcs-slate-900); }

.swcs-calc__panel--result { display: flex; flex-direction: column; gap: 1rem; }
.swcs-calc__panel-title { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.25rem; font-weight: 600; margin: .5rem 0 0; }
.swcs-calc__stat { background: var(--swcs-slate-50); border: 2px solid var(--swcs-slate-200); border-radius: .75rem; padding: 1rem 1.25rem; }
.swcs-calc__stat-label { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--swcs-slate-500); margin: 0 0 .25rem; }
.swcs-calc__stat-value { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.875rem; font-weight: 700; margin: 0; color: var(--swcs-slate-900); font-variant-numeric: tabular-nums; }

.swcs-calc__tier { background: linear-gradient(180deg, var(--swcs-sky-50), #fff); border: 2px solid var(--swcs-sky); border-radius: 1rem; padding: 1.25rem; }
.swcs-calc__tier-kicker { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .2em; color: var(--swcs-sky-600); margin: 0 0 .5rem; }
.swcs-calc__tier-title { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; margin: 0 0 .5rem; }
.swcs-calc__tier-sub { font-size: .95rem; line-height: 1.55; color: var(--swcs-slate-600); margin: 0 0 1rem; }
.swcs-calc__tier-kwh { background: #fff; border: 2px solid var(--swcs-slate-200); border-radius: .75rem; padding: .75rem 1rem; }
.swcs-calc__tier-kwh-label { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--swcs-slate-500); margin: 0 0 .25rem; }
.swcs-calc__tier-kwh-val { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--swcs-sky-600); margin: 0; font-variant-numeric: tabular-nums; }
.swcs-calc__tier-cta { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; font-weight: 700; font-size: .9rem; color: var(--swcs-sky-600); text-decoration: none; }
.swcs-calc__tier-cta:hover { color: var(--swcs-sky); text-decoration: underline; }
.swcs-calc__tier-cta[hidden] { display: none; }
.swcs-calc__empty { background: var(--swcs-slate-50); border: 2px dashed var(--swcs-slate-300); border-radius: .75rem; padding: 2rem 1rem; text-align: center; color: var(--swcs-slate-500); }

.swcs-calc__cta { margin-top: 2rem; background: var(--swcs-sky-50); border: 2px solid var(--swcs-slate-200); border-radius: 1rem; padding: 1.5rem; text-align: center; }
.swcs-calc__cta-title { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.5rem; font-weight: 700; margin: .5rem 0 1.25rem; }
.swcs-calc__cta-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.swcs-calc__btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .9rem 1.75rem; border-radius: .5rem; font-weight: 700; font-size: .95rem; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s; min-height: 2.75rem; }
.swcs-calc__btn--primary { background: var(--swcs-sky-600); color: #fff; border: 2px solid var(--swcs-sky-600); }
.swcs-calc__btn--primary:hover { background: var(--swcs-sky-700); border-color: var(--swcs-sky-700); }
.swcs-calc__btn--secondary { background: #fff; color: var(--swcs-slate-700); border: 2px solid var(--swcs-slate-300); }
.swcs-calc__btn--secondary:hover { border-color: var(--swcs-slate-500); background: var(--swcs-slate-50); }
.swcs-calc__btn.is-disabled { opacity: .4; pointer-events: none; }
.swcs-calc__trust { font-size: .85rem; color: var(--swcs-slate-500); margin: 1rem 0 0; }
