/*
 * Grimotec – styles for the homepage blocks.
 * Loaded on the website and in the block editor, so the editor looks like the live page.
 * Every section is a Group block with the class "gt-band"; the other gt-… classes are set
 * under Block → Advanced → "Additional CSS class(es)".
 */

/* ---------- Fonts (self-hosted, no Google request) ---------- */
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/public-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/public-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/public-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/sora-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/sora-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/sora-latin-700-normal.woff2') format('woff2'); }

/* ---------- Colours ---------- */
:root {
	--gt-accent: #16B4F8;
	--gt-blue: #00529C;
	--gt-blue-2: #0086D6;
	--gt-navy: #0B1F3F;
	--gt-ink: #0E1B33;
	--gt-text: #3B4658;
	--gt-grey: #4A5568;
	--gt-soft: #F3F6FA;
	--gt-tint: #E6F1FB;
	--gt-line: #DCE3EC;
	--gt-sans: 'Public Sans', system-ui, sans-serif;
	--gt-display: 'Sora', 'Public Sans', system-ui, sans-serif;
}

/* ---------- Page (website only) ---------- */
body.gt-landing { margin: 0; background: #FFFFFF; }
body.gt-landing .gt-page { overflow-x: clip; }
html:has(body.gt-landing) { scroll-behavior: smooth; }

/* ---------- Base for every band ---------- */
.gt-band {
	font-family: var(--gt-sans);
	color: var(--gt-ink);
	font-size: 17px;
	line-height: 1.6;
	background: #FFFFFF;
	box-sizing: border-box;
}
.gt-band *, .gt-band *::before, .gt-band *::after { box-sizing: border-box; }
.gt-band :is(p, h1, h2, h3, h4, ul, ol, li, figure, .wp-block-group, .wp-block-buttons, .wp-block-button) { margin: 0; }
.gt-band :is(p, li) { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; }
.gt-band .wp-block { margin-top: 0; margin-bottom: 0; max-width: none; } /* editor */
/* Classic themes (Astra) wrap group content in an extra div – let the layout pass through it */
.gt-band .wp-block-group__inner-container { display: contents; }
.gt-band p:empty { display: none; }
.gt-band a:focus-visible, .gt-band button:focus-visible, .gt-band input:focus-visible, .gt-band textarea:focus-visible { outline: 3px solid var(--gt-accent); outline-offset: 2px; }

.gt-band .gt-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(64px, 8vw, 112px) clamp(16px, 4vw, 32px);
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.gt-band :is(h1, h2, h3) { font-family: var(--gt-display); color: inherit; }
.gt-band h1.gt-display { font-weight: 700; font-size: clamp(38px, 5vw, 64px); line-height: 1.05; letter-spacing: -0.03em; }
.gt-band h2 { font-weight: 700; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.1; letter-spacing: -0.02em; }
.gt-band h3 { font-weight: 600; font-size: 22px; line-height: 1.3; }

.gt-band .gt-kicker { font-size: 14px; font-weight: 600; letter-spacing: 0.12em; color: var(--gt-blue); }
.gt-band .gt-muted { color: var(--gt-text); }
.gt-bg-soft { background: var(--gt-soft); }

/* ---------- Layout helpers ---------- */
.gt-band .gt-stack { display: flex; flex-direction: column; gap: 16px; }
.gt-band .gt-section-head { display: flex; flex-direction: column; gap: 14px; max-width: 680px; }
.gt-band :is(.gt-grid-2, .gt-grid-3, .gt-grid-4) { display: grid; gap: 24px; }
.gt-band .gt-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 56px; }
.gt-band .gt-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.gt-band .gt-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.gt-band .gt-center { align-items: center; }

/* ---------- Buttons ---------- */
.gt-band .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.gt-band .wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	border: 0;
	border-radius: 12px;
	background: var(--gt-blue);
	color: #FFFFFF;
	font-family: var(--gt-sans);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
}
.gt-band .wp-block-button .wp-block-button__link::before,
.gt-band .wp-block-button .wp-block-button__link::after { flex: 0 0 auto; width: 18px; height: 18px; background: center / contain no-repeat; }
.gt-band .gt-btn-primary .wp-block-button__link::after { content: ""; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.gt-band .gt-btn-primary .wp-block-button__link:hover { background: #00427D; }

.gt-band .gt-btn-outline .wp-block-button__link { background: #FFFFFF; color: var(--gt-ink); border: 1px solid #C9D4E2; padding: 0 22px; }
.gt-band .gt-btn-outline .wp-block-button__link:hover { border-color: var(--gt-blue); }
.gt-band .gt-btn-phone .wp-block-button__link::before { content: ""; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }

.gt-band .gt-btn-dark .wp-block-button__link { min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--gt-navy); font-size: 16px; gap: 8px; }
.gt-band .gt-btn-dark .wp-block-button__link::before { content: ""; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/svg%3E"); }

.gt-band .gt-btn-accent { width: 100%; }
.gt-band .gt-btn-accent .wp-block-button__link { width: 100%; min-height: 56px; border-radius: 14px; background: var(--gt-accent); color: var(--gt-navy); font-weight: 700; }
.gt-band .gt-btn-download .wp-block-button__link::before { content: ""; width: 20px; height: 20px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F3F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M5 21h14'/%3E%3C/svg%3E"); }

/* ---------- Header ---------- */
.gt-header { border-bottom: 1px solid #E3E9F1; }
.gt-band .gt-header-inner { padding-top: 16px; padding-bottom: 16px; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.gt-band .gt-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; font-size: 16px; font-weight: 500; }
.gt-band .gt-nav p a { display: inline-block; padding: 10px 0; color: var(--gt-ink); text-decoration: none; }
.gt-band .gt-nav p a:hover { color: var(--gt-blue); }

/* Logo: accent diamond (follows the accent colour) + blue diamond with "G" */
.gt-band .gt-brand a,
.gt-band .gt-footer-copy { position: relative; }
.gt-band .gt-brand a {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-height: 40px;
	padding-left: 50px;
	font-family: var(--gt-display);
	font-size: 9px;
	letter-spacing: 0.3em;
	line-height: 1;
	color: var(--gt-grey);
	text-decoration: none;
}
.gt-band .gt-brand strong { font-size: 24px; font-weight: 600; letter-spacing: -0.02em; color: var(--gt-ink); margin-bottom: 4px; }
.gt-band .gt-brand a::before,
.gt-band .gt-brand a::after,
.gt-band .gt-footer-copy::before,
.gt-band .gt-footer-copy::after { content: ""; position: absolute; left: 0; top: 50%; width: 40px; height: 40px; transform: translateY(-50%); }
.gt-band .gt-brand a::before,
.gt-band .gt-footer-copy::before {
	background: var(--gt-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='70,6 94,30 70,54 46,30'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='70,6 94,30 70,54 46,30'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gt-band .gt-brand a::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='44,14 84,54 44,94 4,54' fill='%2300529C'/%3E%3Cpath d='M56.02 41.98 A17 17 0 1 0 61 54 H46' fill='none' stroke='%23FFFFFF' stroke-width='7.5'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- Hero ---------- */
.gt-band.gt-hero .gt-inner { padding-top: clamp(48px, 8vw, 104px); padding-bottom: clamp(48px, 8vw, 104px); }
.gt-band .gt-hero-text { gap: 24px; }
.gt-band .gt-badge {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	background: #FFFFFF;
	border: 1px solid var(--gt-line);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--gt-blue);
}
.gt-band .gt-badge::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 2px; transform: rotate(45deg); background: var(--gt-accent); }
.gt-band .gt-lead { font-size: clamp(17px, 1.6vw, 20px); color: var(--gt-text); max-width: 560px; }
.gt-band .gt-hero-text .wp-block-buttons { margin-top: 8px; }

.gt-band .gt-hero-visual {
	position: relative;
	min-height: 440px;
	border-radius: 28px;
	overflow: hidden;
	background: var(--gt-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Crect x='30' y='30' width='140' height='140' rx='18' fill='%230086D6' transform='rotate(45 100 100)'/%3E%3C/svg%3E") right 0 bottom -60px / 200px 200px no-repeat;
}
.gt-band .gt-hero-visual::before,
.gt-band .gt-hero-visual::after { content: ""; position: absolute; transform: rotate(45deg); pointer-events: none; }
.gt-band .gt-hero-visual::before { width: 300px; height: 300px; right: -40px; top: -60px; border-radius: 28px; background: var(--gt-accent); opacity: 0.9; }
.gt-band .gt-hero-visual::after { width: 360px; height: 360px; right: 60px; top: 70px; border-radius: 32px; background: var(--gt-blue); }

.gt-band .gt-help-card {
	position: absolute;
	z-index: 1;
	left: 24px;
	right: 24px;
	bottom: 24px;
	max-width: 340px;
	padding: 22px;
	border-radius: 18px;
	background: #FFFFFF;
	box-shadow: 0 18px 40px rgba(5, 15, 35, 0.35);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.gt-band .gt-help-title { font-family: var(--gt-display); font-weight: 600; font-size: 17px; line-height: 1.4; }
.gt-band .gt-help-steps { list-style: none; padding: 0; counter-reset: gt-help; display: flex; flex-direction: column; gap: 14px; }
.gt-band .gt-help-steps li { counter-increment: gt-help; display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 1.4; color: var(--gt-text); }
.gt-band .gt-help-steps li::before {
	content: counter(gt-help);
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--gt-tint);
	color: var(--gt-blue);
	font-weight: 700;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---------- Facts ---------- */
.gt-facts { border-bottom: 1px solid #E3E9F1; }
.gt-band.gt-facts .gt-inner { padding-top: 32px; padding-bottom: 32px; }
.gt-band .gt-fact { display: flex; flex-direction: column; gap: 2px; }
.gt-band .gt-fact-value { font-family: var(--gt-display); font-weight: 600; font-size: 26px; line-height: 1.3; color: var(--gt-blue); }
.gt-band .gt-fact-label { font-size: 15px; color: var(--gt-grey); }

/* ---------- Service cards ---------- */
.gt-band .gt-card { border: 1px solid var(--gt-line); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 14px; background: #FFFFFF; }
.gt-band .gt-card p { font-size: 16px; }
.gt-band .gt-card::before { content: ""; width: 52px; height: 52px; border-radius: 14px; background: var(--gt-tint) center / 26px 26px no-repeat; }
.gt-band .gt-card-beratung::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300529C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E"); }
.gt-band .gt-card-betreuung::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300529C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.gt-band .gt-card-schulung::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300529C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10L12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }

/* Topic chips */
.gt-band .gt-topics { display: flex; flex-direction: column; gap: 16px; }
.gt-band .gt-topics-title { font-size: 15px; font-weight: 600; }
.gt-band .gt-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.gt-band .gt-chips li { padding: 10px 16px; border-radius: 999px; background: var(--gt-soft); border: 1px solid var(--gt-line); font-size: 15px; font-weight: 500; line-height: 1.4; }

/* ---------- Process ---------- */
.gt-band .gt-process { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); counter-reset: gt-step; }
.gt-band .gt-step { counter-increment: gt-step; display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 3px solid var(--gt-blue); }
.gt-band .gt-step::before { content: counter(gt-step, decimal-leading-zero); font-family: var(--gt-display); font-weight: 700; font-size: 15px; color: var(--gt-blue); }
.gt-band .gt-step h3 { font-size: 20px; }
.gt-band .gt-step p { font-size: 16px; }

/* ---------- Remote support (dark) ---------- */
.gt-band.gt-dark { background: var(--gt-navy); color: #FFFFFF; }
.gt-band.gt-dark .gt-inner { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
.gt-band.gt-dark .gt-grid-2 { gap: 40px; }
.gt-band.gt-dark .gt-kicker { color: #9EDCFB; }
.gt-band.gt-dark .gt-muted { color: #C9D6E8; }
.gt-band .gt-dark-card { background: #13305C; border: 1px solid #24477A; border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.gt-band .gt-dark-card .wp-block-buttons { margin-bottom: 8px; }
.gt-band .gt-small { font-size: 15px; color: #C9D6E8; }
.gt-band .gt-small a { color: #FFFFFF; font-weight: 600; }

/* ---------- About ---------- */
.gt-band .gt-about-photo img { display: block; width: 100%; height: 100%; min-height: 380px; object-fit: cover; border-radius: 24px; }

/* ---------- Contact ---------- */
.gt-band .gt-contact-list { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.gt-band .gt-c { display: flex; align-items: center; gap: 14px; }
.gt-band .gt-c a { color: var(--gt-ink); text-decoration: none; font-weight: 600; }
.gt-band .gt-c a:hover { color: var(--gt-blue); }
.gt-band .gt-c::before { content: ""; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px; background: #FFFFFF center / 20px 20px no-repeat; border: 1px solid var(--gt-line); }
.gt-band .gt-c-phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300529C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.gt-band .gt-c-mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300529C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.gt-band .gt-c-address::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300529C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.gt-band .gt-c-time::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300529C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }

/* Contact form (shortcode [grimotec_kontaktformular]) */
.gt-form { position: relative; overflow: hidden; background: #FFFFFF; border: 1px solid var(--gt-line); border-radius: 24px; padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 18px; font-family: var(--gt-sans); color: var(--gt-ink); }
.gt-form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 18px; }
.gt-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.gt-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea) { min-height: 48px; padding: 0 14px; border: 1px solid #B8C6D8; border-radius: 10px; font: inherit; font-weight: 400; font-size: 16px; color: var(--gt-ink); background: #FFFFFF; width: 100%; }
.gt-form textarea { padding: 12px 14px; resize: vertical; }
.gt-form .gt-consent { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; color: var(--gt-text); }
.gt-form .gt-consent input { width: 20px; height: 20px; margin: 2px 0 0; flex: 0 0 auto; }
.gt-form .gt-consent a { color: var(--gt-blue); }
.gt-form button { min-height: 52px; border: 0; border-radius: 12px; background: var(--gt-blue); color: #FFFFFF; font: inherit; font-weight: 600; font-size: 17px; cursor: pointer; }
.gt-form button:hover { background: #00427D; }
.gt-form .gt-hp { position: absolute; left: -9999px; }
.gt-form .gt-msg { margin: 0; padding: 14px 16px; border-radius: 10px; font-weight: 600; }
.gt-form .gt-msg-ok { background: #E7F6EE; color: #14532D; }
.gt-form .gt-msg-error { background: #FDECEC; color: #7F1D1D; }

/* ---------- Footer ---------- */
.gt-band.gt-footer { background: var(--gt-navy); color: #C9D6E8; font-size: 15px; }
.gt-band .gt-footer-inner { padding-top: 40px; padding-bottom: 40px; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.gt-band .gt-footer-copy { display: flex; align-items: center; min-height: 32px; padding-left: 42px; }
.gt-band .gt-footer-copy::before, .gt-band .gt-footer-copy::after { width: 32px; height: 32px; }
.gt-band .gt-footer-copy::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='44,14 84,54 44,94 4,54' fill='%230086D6'/%3E%3Cpath d='M56.02 41.98 A17 17 0 1 0 61 54 H46' fill='none' stroke='%23FFFFFF' stroke-width='8'/%3E%3C/svg%3E") center / contain no-repeat; }
.gt-band .gt-footer-nav { display: flex; flex-wrap: wrap; gap: 24px; }
.gt-band .gt-footer-nav a { color: #FFFFFF; text-decoration: none; }
.gt-band .gt-footer-nav a:hover { text-decoration: underline; }

/* ---------- Legal pages (Impressum, Datenschutz) ---------- */
.gt-band.gt-legal .gt-inner { max-width: 840px; gap: 12px; padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(56px, 8vw, 104px); }
.gt-band.gt-legal h1 { margin-bottom: 20px; }
.gt-band.gt-legal h2 { font-size: 20px; font-weight: 600; letter-spacing: 0; line-height: 1.3; margin-top: 24px; }
.gt-band.gt-legal p { color: var(--gt-text); }
.gt-band.gt-legal a { color: var(--gt-blue); }
.gt-band.gt-legal ul { padding-left: 1.3em; display: flex; flex-direction: column; gap: 4px; color: var(--gt-text); }
.gt-band.gt-legal p + p, .gt-band.gt-legal p + ul, .gt-band.gt-legal ul + p { margin-top: 8px; }
.gt-band.gt-legal h1 { overflow-wrap: break-word; hyphens: manual; }
.gt-band.gt-legal .gt-small-note { margin-top: 24px; font-size: 15px; }
