/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Base design tokens (colors taken from the logo) */
:root {
	--lss-olive: #3f4426;
	--lss-olive-light: #5b6136;
	--lss-cream: #faf8f2;
	--lss-sand: #efe9da;
	--lss-text: #2b2b24;
	--lss-accent: #c9dd3c;
}

/* Typography: system fonts only, nothing loaded from external servers */
body {
	background-color: var(--lss-cream);
	color: var(--lss-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
}

h1, h2, h3 {
	color: var(--lss-olive);
	line-height: 1.25;
}

a {
	color: var(--lss-olive);
}

/* Visible keyboard focus (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--lss-olive);
	outline-offset: 3px;
}

#brx-footer a:focus-visible {
	outline-color: #ffffff;
}

/* Side gutters so content never touches the viewport edge */
.brxe-container {
	padding-left: 24px;
	padding-right: 24px;
}

@media (max-width: 478px) {
	.brxe-container {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* Header and footer bars */
#brx-header {
	background-color: #ffffff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

#brx-footer {
	background-color: var(--lss-olive);
}

/* Legal pages (Impressum, Datenschutz): readable line length */
/* Note: Bricks sets html { font-size: 62.5% }, so px is used instead of rem */
.lss-legal h2 {
	margin-top: 1.6em;
	font-size: 24px;
}

.lss-legal h3 {
	margin-top: 1.2em;
	font-size: 19px;
}

/* Links inside running text must be recognizable without color (WCAG 1.4.1) */
.lss-legal a {
	text-decoration: underline;
}

.lss-legal p,
.lss-legal ul {
	margin-top: 0.6em;
}

.lss-legal ul {
	padding-left: 1.4em;
}

/* Datenschutz: larger intro, highlighted boxes, two columns (like other projects) */
.lss-legal-intro p {
	font-size: 20px;
	line-height: 1.55;
	max-width: 860px;
}

/* Highlighted box, e.g. the right to object (Art. 21 (4) GDPR: shown separately) */
.lss-legal-box {
	background-color: #ffffff;
	border-left: 6px solid var(--lss-olive);
	border-radius: 12px;
	padding: 24px 28px;
	margin-top: 1.6em;
	box-shadow: 0 8px 24px rgba(63, 68, 38, 0.08);
}

.lss-legal .lss-legal-box h2 {
	margin-top: 0;
}

/* Summary box at the top: tinted, full width */
.lss-legal-lead {
	background-color: #efe9da;
	margin-top: 0;
}

.lss-legal-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100%;
}

.lss-legal-col:first-child {
	padding-right: 40px;
}

.lss-legal-col + .lss-legal-col {
	padding-left: 40px;
	border-left: 1px solid rgba(63, 68, 38, 0.18);
}

.lss-legal-col > h2:first-child {
	margin-top: 0;
}

@media (max-width: 860px) {
	.lss-legal-grid { grid-template-columns: 1fr; }
	.lss-legal-col:first-child { padding-right: 0; }
	.lss-legal-col + .lss-legal-col { padding-left: 0; border-left: 0; }
	.lss-legal-intro p { font-size: 18px; }
	.lss-legal-box { padding: 20px; }
}