/* ===========================================================
   pluginsolar — globális reset, form, alertbox, spec táblák
   =========================================================== */

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
}

body {
	font-family: var(--font-sans, "IBM Plex Sans", Helvetica, Arial, sans-serif);
	font-size: 16px;
	line-height: 1.65;
	color: var(--color-text, #e8eaed);
	background: var(--color-bg, #0f1419);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, textarea, select { font-family: inherit; font-size: inherit; }

.clearfix::after { content: " "; display: table; clear: both; }

/* Monospace számok — cikkekben és UI-ban */
.mono, .spec-num, code, pre {
	font-family: var(--font-mono, "IBM Plex Mono", monospace);
	font-variant-numeric: tabular-nums;
}

/* Alertbox */
.alertbox {
	padding: 14px 18px;
	border-radius: var(--radius-md, 6px);
	font-size: 15px;
	margin: 0 auto 24px;
	max-width: 800px;
	font-weight: 500;
	border: 1px solid;
}

.alertbox.success {
	background: rgba(63, 185, 80, 0.08);
	color: var(--color-success, #7ee787);
	border-color: rgba(63, 185, 80, 0.4);
}

.alertbox.error {
	background: rgba(229, 83, 75, 0.1);
	color: var(--color-danger-soft, #ff7b72);
	border-color: rgba(229, 83, 75, 0.45);
}

.alertbox.warning {
	background: rgba(240, 165, 0, 0.08);
	color: var(--color-accent-soft, #f0c674);
	border-color: rgba(240, 165, 0, 0.4);
}

/* Veszély — feszültségtúllépés (végleges kár) */
.alertbox.danger {
	background: rgba(229, 83, 75, 0.12);
	color: var(--color-danger-soft, #ff7b72);
	border-color: var(--color-danger, #e5534b);
	border-width: 2px;
	font-weight: 600;
}

/* Form */
div.form-center {
	border: 1px solid var(--form-input-border, var(--color-border, #30363d));
	margin: 30px auto;
	width: 100%;
	max-width: 600px;
	background: var(--form-card-bg, var(--color-bg-card, #1e242c));
	border-radius: var(--form-radius, 10px);
	padding: 0;
	box-shadow: var(--shadow-card, 0 4px 24px rgba(0, 0, 0, 0.25));
}

div.form-center form {
	padding: 28px;
}

div.form-center form h2 {
	text-align: center;
	margin-top: 0;
	color: var(--form-title-color, var(--color-accent, #f0a500));
	font-family: var(--font-sans, "IBM Plex Sans", sans-serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

div.form-center label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 13px;
	color: var(--color-muted, #8b949e);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

div.form-center input,
div.form-center textarea {
	width: 100%;
	padding: var(--form-input-padding, 10px 12px);
	margin: 4px 0 0;
	border: 1px solid var(--form-input-border, var(--color-border, #30363d));
	border-radius: var(--form-input-radius, 6px);
	font-size: 15px;
	background: var(--form-input-bg, var(--color-bg, #0f1419));
	color: var(--color-text, #e8eaed);
}

div.form-center input::placeholder,
div.form-center textarea::placeholder {
	color: var(--form-placeholder-color, #484f58);
}

div.form-center input:focus,
div.form-center textarea:focus {
	outline: none;
	border-color: var(--form-input-focus, #58a6ff);
	box-shadow: var(--focus-ring, 0 0 0 3px rgba(88, 166, 255, 0.12));
}

div.form-center input[type=checkbox] {
	width: auto;
	display: inline-block;
	margin-right: 8px;
}

div.form-center input[type=submit] {
	cursor: pointer;
	background: var(--form-submit-bg, var(--color-accent, #f0a500));
	color: var(--form-submit-text, #0f1419);
	border: none;
	font-weight: 700;
	transition: background var(--transition-base, 0.2s);
	border-radius: var(--form-submit-radius, 6px);
	padding: var(--form-submit-padding, 12px 20px);
}

div.form-center input[type=submit]:hover {
	background: var(--form-submit-hover-bg, #f5b82e);
}

div.form-center .form-row {
	margin-bottom: 16px;
}

@media screen and (max-width: 1024px) {
	div.form-center { max-width: 95%; }
	div.form-center form { padding: 20px; }
}

/* Spec tábla — műszaki adatok */
table.spec-table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: 14px;
	background: var(--color-bg-card, #1e242c);
	border: 1px solid var(--color-border, #30363d);
	border-radius: var(--card-radius, 8px);
	overflow: hidden;
}

table.spec-table th,
table.spec-table td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid var(--color-border, #30363d);
}

table.spec-table th {
	background: var(--color-bg-soft, #161b22);
	color: var(--color-muted, #8b949e);
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

table.spec-table td {
	color: var(--color-text, #e8eaed);
}

table.spec-table td.spec-value {
	font-family: var(--font-mono, "IBM Plex Mono", monospace);
	font-weight: 500;
	color: var(--color-accent, #f0a500);
}

table.spec-table tr:last-child td,
table.spec-table tr:last-child th {
	border-bottom: none;
}

/* Egyszerű cikk-grid */
.grid3 {
	display: flex;
	flex-wrap: wrap;
	gap: var(--card-grid-gap, 20px);
	margin: 16px 0;
}

.grid3 > div {
	flex: 1 1 250px;
	background: var(--card-bg, var(--color-bg-card, #1e242c));
	padding: var(--card-padding, 18px);
	transition: border-color var(--transition-base, 0.2s), box-shadow var(--transition-base, 0.2s);
	border: 1px solid var(--card-border, var(--color-border, #30363d));
	border-radius: var(--card-radius, 8px);
	border-left: 3px solid var(--color-accent, #f0a500);
}

.grid3 > div:hover {
	border-color: var(--card-hover-border, #484f58);
	border-left-color: var(--color-accent-alt, #58a6ff);
	box-shadow: var(--shadow-card, 0 4px 20px rgba(0, 0, 0, 0.2));
}

.grid3 .title,
.grid3 .title a {
	font-weight: 600;
	font-size: 16px;
	color: var(--card-title-color, var(--color-text, #e8eaed));
	text-decoration: none;
	margin-bottom: 10px;
	display: block;
}

.grid3 .excerpt {
	font-size: 14px;
	color: var(--color-muted, #8b949e);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	max-height: calc(1.4em * 3);
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.grid3 { display: block; }
	.grid3 > div { margin-bottom: 12px; }
}

/* Pillérek / hero blokkok — tartalom oldalakon */
.pillar-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin: 28px 0;
}

.pillar-card {
	background: var(--color-bg-card, #1e242c);
	border: 1px solid var(--color-border, #30363d);
	border-radius: var(--card-radius, 8px);
	padding: 22px 24px;
	transition: border-color var(--transition-base, 0.2s);
}

.pillar-card:hover {
	border-color: var(--card-hover-border, #484f58);
}

.pillar-card h3 {
	margin: 0 0 10px;
	font-size: 17px;
	font-weight: 600;
	color: var(--color-text, #e8eaed);
}

.pillar-card p {
	margin: 0;
	font-size: 14px;
	color: var(--color-muted, #8b949e);
	line-height: 1.55;
}

.pillar-card .pillar-num {
	display: block;
	font-family: var(--font-mono, "IBM Plex Mono", monospace);
	font-size: 11px;
	color: var(--color-accent, #f0a500);
	margin-bottom: 8px;
	font-weight: 600;
}

/* Jogi megjegyzés blokk */
.legal-note {
	margin: 32px 0;
	padding: 16px 20px;
	background: var(--color-bg-soft, #161b22);
	border: 1px solid var(--color-border, #30363d);
	border-radius: var(--radius-md, 6px);
	font-size: 13px;
	color: var(--color-muted, #8b949e);
	line-height: 1.55;
}

.legal-note strong {
	color: var(--color-text, #e8eaed);
}
