/**
 * Robin Trummer — Pagekit companion styles.
 * Loads AFTER theme.css (One 1.0.1). Uses !important where needed to win specificity.
 */

 :root {
	--rt-bg: #050505;
	--rt-surface: #0f0f0f;
	--rt-surface-2: #141414;
	--rt-border: #333333;
	--rt-text: #ffffff;
	--rt-text-muted: #cccccc;
	--rt-text-soft: #999999;
	--rt-accent: #e6740a;
	--rt-accent-hover: #f77a3b;
	--rt-radius: 16px;
	--rt-radius-pill: 100px;
	--rt-font-sans: "Plus Jakarta Sans", "Open Sans", system-ui, sans-serif;
	--rt-font-display: "Syne", "Plus Jakarta Sans", system-ui, sans-serif;
}

/* ==========================================================================
   1. GLOBAL OVERRIDES
   ========================================================================== */

html {
	background: var(--rt-bg) !important;
	color: var(--rt-text) !important;
	font-family: var(--rt-font-sans) !important;
}

body {
	background: var(--rt-bg) !important;
	color: var(--rt-text) !important;
	font-family: var(--rt-font-sans) !important;
	margin: 0;
}

/* ==========================================================================
   2. TYPOGRAPHY
   ========================================================================== */

h1, .uk-h1, h2, .uk-h2, h3, .uk-h3, h4, .uk-h4,
.uk-heading-small, .uk-heading-medium, .uk-heading-large,
.uk-heading-xlarge, .uk-heading-2xlarge {
	font-family: var(--rt-font-display) !important;
	color: var(--rt-text) !important;
	font-weight: 700 !important;
	font-style: italic !important;
	letter-spacing: 0.02em;
}

h5, .uk-h5, h6, .uk-h6 {
	font-family: var(--rt-font-sans) !important;
	color: var(--rt-text) !important;
	font-weight: 600 !important;
}

p { color: var(--rt-text-muted); }

.uk-text-lead {
	color: var(--rt-text-muted) !important;
	font-size: 1.125rem;
	line-height: 1.6;
	font-style: italic;
}

.uk-text-meta { color: var(--rt-text-soft) !important; }

a, .uk-link { color: var(--rt-text-muted) !important; text-decoration: none; }
a:hover, .uk-link:hover { color: var(--rt-text) !important; text-decoration: none !important; }

em { color: inherit !important; }

blockquote { color: var(--rt-text) !important; font-style: italic; }
blockquote footer { color: var(--rt-text-soft) !important; }
blockquote footer::before { content: "" !important; }

ul, ol { color: var(--rt-text-muted); }

/* ==========================================================================
   3. SECTIONS
   ========================================================================== */

.uk-section { background: var(--rt-bg); }
.uk-section-default { background: var(--rt-bg) !important; }
.uk-section-muted { background: var(--rt-bg) !important; }
.uk-section-primary { background: var(--rt-bg) !important; }
.uk-section-secondary { background: var(--rt-bg) !important; }

.rt-section-dark { background: var(--rt-bg) !important; }
.rt-section-surface { background: var(--rt-surface) !important; }
.rt-section-alt { background: var(--rt-bg) !important; }
.rt-section-muted { background: var(--rt-bg) !important; }

/* Full-width background breakout — bg spans viewport, content stays contained */
.rt-section-bg {
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.rt-section-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.75);
	z-index: 0;
}

.rt-section-bg > .rt-section-inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-right: 2rem;
}

.rt-section-bg > *:not(.rt-section-inner) {
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   4. HEADER / NAVBAR
   ========================================================================== */

.uk-navbar-container:not(.uk-navbar-transparent) {
	background: #000 !important;
}

.uk-logo img {
	max-height: 40px !important;
	width: auto !important;
}

.uk-navbar-nav > li > a {
	color: var(--rt-text-muted) !important;
	font-family: var(--rt-font-sans) !important;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: transparent !important;
}

.uk-navbar-nav > li > a:hover,
.uk-navbar-nav > li.uk-active > a {
	color: var(--rt-text) !important;
	background: transparent !important;
}

/* ==========================================================================
   5. LABEL (section eyebrow — orange)
   ========================================================================== */

.rt-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--rt-accent) !important;
	margin-bottom: 0.75rem;
	font-style: normal !important;
}

/* ==========================================================================
   6. HERO
   ========================================================================== */

.rt-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
}

.rt-hero__pre {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rt-accent) !important;
	margin-bottom: 1.25rem;
	font-style: normal !important;
}

.rt-hero__title {
	color: rgba(255, 255, 255, 0.65) !important;
	line-height: 1.08;
	font-style: italic !important;
}

.rt-hero__lead {
	color: var(--rt-text-muted) !important;
	max-width: 36rem;
	font-style: italic;
}

.rt-hero__profile {
	position: relative;
	border-radius: var(--rt-radius);
	overflow: hidden;
}

.rt-hero__profile img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--rt-radius);
	object-fit: cover;
}

.rt-hero__profile::before,
.rt-hero__profile::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 25%;
	z-index: 1;
	pointer-events: none;
}

.rt-hero__profile::before {
	left: 0;
	background: linear-gradient(to right, var(--rt-bg), transparent);
}

.rt-hero__profile::after {
	right: 0;
	background: linear-gradient(to left, var(--rt-bg), transparent);
}

/* Hero feature list — NO lines, unlike .rt-checklist */
.rt-hero-features {
	list-style: none !important;
	padding: 0 !important;
	margin: 1.5rem 0 0 0;
}

.rt-hero-features li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 0;
	color: var(--rt-text) !important;
	font-size: 0.9375rem;
	font-weight: 500;
	font-style: normal;
	border-bottom: none !important;
	padding-left: 0 !important;
}

.rt-hero-features li img {
	flex-shrink: 0;
}

/* CMS hero slot overrides */
#tm-hero.uk-section {
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
}

@media (min-width: 960px) {
	#tm-hero.uk-section {
		padding-top: 4rem !important;
		padding-bottom: 4rem !important;
	}
}

/* ==========================================================================
   7. QUOTES — large italic, centered
   ========================================================================== */

.rt-quote {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.5;
	color: var(--rt-text) !important;
	font-style: italic;
	border: none;
	padding: 0;
}

.rt-quote--has-line {
	border-top: 3px solid var(--rt-accent) !important;
	padding-top: 1.5rem;
}

@media (min-width: 960px) {
	.rt-quote {
		font-size: 2rem;
	}
}

/* CMS quote slots — no extra padding/bg */
#tm-top-a.uk-section {
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
}

#tm-bottom-a.uk-section {
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
}

@media (min-width: 960px) {
	#tm-top-a.uk-section,
	#tm-bottom-a.uk-section {
		padding-top: 5rem !important;
		padding-bottom: 5rem !important;
	}
}

/* ==========================================================================
   8. CARDS — dark default
   ========================================================================== */

.uk-card { background: transparent; box-shadow: none !important; }

.uk-card-default {
	background: var(--rt-surface-2) !important;
	color: var(--rt-text) !important;
	box-shadow: none !important;
	border: 1px solid var(--rt-border);
	border-radius: var(--rt-radius);
}

.uk-card-default .uk-card-title { color: var(--rt-text) !important; }
.uk-card-default:hover,
.uk-card-default.uk-card-hover:hover {
	background: var(--rt-surface-2) !important;
	box-shadow: none !important;
}

.rt-card {
	background: rgba(20, 20, 20, 0.6) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid var(--rt-border);
	border-radius: var(--rt-radius);
	transition: border-color 0.2s ease, transform 0.2s ease;
	box-shadow: none !important;
}

.rt-card:hover {
	border-color: rgba(230, 116, 10, 0.4);
	transform: translateY(-2px);
}

.rt-card__icon {
	margin-bottom: 1rem;
}

.rt-card__icon img {
	width: 32px;
	height: 32px;
}

.rt-card__title,
.rt-card .uk-card-title {
	font-family: var(--rt-font-display) !important;
	font-size: 1.25rem;
	font-weight: 700 !important;
	font-style: italic !important;
	color: var(--rt-text) !important;
	letter-spacing: 0.04em;
	margin-bottom: 0.5rem;
}

.rt-card__subtitle,
.rt-card p {
	color: var(--rt-text-muted) !important;
	font-size: 0.9375rem;
	line-height: 1.5;
	font-style: normal !important;
}

/* Light card variant — recommendation cards (glassmorphism) */
.rt-card--light {
	background: rgba(180, 180, 180, 0.25) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.rt-card--light:hover {
	background: rgba(180, 180, 180, 0.35) !important;
	border-color: rgba(255, 255, 255, 0.2);
}

.rt-card--light .rt-card__title,
.rt-card--light .uk-card-title {
	color: var(--rt-text) !important;
}

.rt-card--light .rt-card__subtitle,
.rt-card--light p {
	color: var(--rt-text-muted) !important;
}

.rt-card--light .rt-partner-logo { opacity: 1; }

.rt-card--light .rt-partner-logo img {
	height: auto;
	max-height: 120px;
	width: auto;
	max-width: 100%;
}

/* Partner logo centering and spacing for recommendation cards */
.rt-card--light .rt-partner-logo {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	padding: 1.5rem 0;
}

.rt-card--light .uk-margin-auto-top {
	margin-top: 1.5rem !important;
}

/* ==========================================================================
   9. CHECKLIST — NO border-bottom lines
   ========================================================================== */

.rt-checklist {
	list-style: none !important;
	padding: 0 !important;
	margin: 0;
}

.rt-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.5rem 0;
	color: var(--rt-text-muted) !important;
	font-size: 0.9375rem;
	line-height: 1.45;
	font-style: normal !important;
	border-bottom: none !important;
	padding-left: 0 !important;
}

.rt-checklist__icon {
	flex-shrink: 0;
	margin-top: 0.2rem;
}

/* ==========================================================================
   10. ABOUT
   ========================================================================== */

.rt-about-media {
	border-radius: var(--rt-radius);
	overflow: hidden;
	border: 1px solid var(--rt-border);
}

.rt-about-media img {
	display: block;
	width: 100%;
	height: auto;
}

/* ==========================================================================
   11. PARTNER LOGO
   ========================================================================== */

.rt-partner-logo { opacity: 0.8; transition: opacity 0.2s ease; }
.rt-partner-logo:hover { opacity: 1; }
.rt-partner-logo img { height: 40px; width: auto; }

/* ==========================================================================
   12. SERVICES + EMPFEHLUNGEN bg images
   ========================================================================== */

#services.rt-section-bg {
	background-image: url(/storage/services-bg.png);
}

#empfehlung.rt-section-bg {
	background-image: url(/storage/services-bg.png);
}

/* ==========================================================================
   13. CONTACT
   ========================================================================== */

#tm-bottom-b.uk-section {
	background: url(/storage/contact-bg.jpg) center / cover no-repeat !important;
	position: relative;
}

#tm-bottom-b.uk-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 0;
}

#tm-bottom-b .uk-container {
	position: relative;
	z-index: 1;
}

.rt-contact-panel {
	background: rgba(10, 10, 10, 0.92) !important;
	border: 1px solid var(--rt-border);
	border-radius: calc(var(--rt-radius) * 2);
	padding: 2rem;
}

@media (min-width: 960px) {
	.rt-contact-panel { padding: 3rem; }
}

.rt-form-label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--rt-text-soft) !important;
	margin-bottom: 0.5rem;
	font-style: normal !important;
}

.uk-input, .uk-select, .uk-textarea {
	background: var(--rt-surface-2) !important;
	border: 1px solid var(--rt-border) !important;
	border-radius: 12px !important;
	color: var(--rt-text) !important;
	padding: 0.75rem 1rem !important;
}

.uk-input:focus, .uk-select:focus, .uk-textarea:focus {
	border-color: var(--rt-accent) !important;
	outline: none !important;
	background: var(--rt-surface-2) !important;
}

.uk-input::placeholder, .uk-textarea::placeholder { color: var(--rt-text-soft) !important; }
.uk-input::-moz-placeholder, .uk-textarea::-moz-placeholder { color: var(--rt-text-soft) !important; }

.uk-form-label { color: var(--rt-text-soft) !important; font-style: normal !important; }

/* ==========================================================================
   14. BUTTONS
   ========================================================================== */

.uk-button {
	border-radius: var(--rt-radius-pill) !important;
	font-family: var(--rt-font-sans) !important;
	font-weight: 600;
	font-style: normal !important;
	text-transform: none !important;
	transition: all 0.2s ease;
}

.uk-button-default, .rt-btn-ghost {
	background: transparent !important;
	color: var(--rt-text) !important;
	border: 1px solid var(--rt-border) !important;
	border-radius: var(--rt-radius-pill) !important;
	font-weight: 500;
	padding: 0 1.75rem;
}

.uk-button-default:hover, .uk-button-default:focus, .rt-btn-ghost:hover {
	background: rgba(255, 255, 255, 0.04) !important;
	color: var(--rt-text) !important;
	border-color: var(--rt-text-muted) !important;
}

.rt-btn-ghost--light {
	color: #1a1a1a !important;
	border-color: rgba(255, 255, 255, 0.3) !important;
}

.rt-btn-ghost--light:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	color: #000 !important;
}

.uk-button-primary, .rt-btn-primary {
	background: var(--rt-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--rt-radius-pill) !important;
	font-weight: 600;
	padding: 0 2rem;
}

.uk-button-primary:hover, .uk-button-primary:focus, .rt-btn-primary:hover {
	background: var(--rt-accent-hover) !important;
	color: #fff !important;
}

.uk-button-large {
	line-height: 50px !important;
	padding: 0 2.25rem !important;
	font-size: 1rem !important;
}

.rt-btn-arrow {
	position: relative;
	padding-right: 3.5rem !important;
}

.rt-btn-arrow::after {
	content: "\2192";
	position: absolute;
	right: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-style: normal;
}

/* ==========================================================================
   15. SUBNAV / LIST
   ========================================================================== */

.uk-subnav > * > a { color: var(--rt-text-muted) !important; }
.uk-subnav > * > a:hover { color: var(--rt-text) !important; }
.uk-subnav-divider > :nth-child(n+2)::before { border-left-color: var(--rt-border) !important; }

/* ==========================================================================
   16. FOOTER
   ========================================================================== */

#tm-footer.uk-section {
	background: var(--rt-bg) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.rt-footer {
	background: transparent !important;
	border-top: 1px solid var(--rt-border);
	padding-top: 3rem;
	padding-bottom: 2rem;
	font-size: 0.875rem;
	color: var(--rt-text-muted) !important;
}

.rt-footer a { color: var(--rt-text-muted) !important; text-decoration: none !important; }
.rt-footer a:hover { color: var(--rt-text) !important; }

.rt-footer__brand {
	font-family: var(--rt-font-display) !important;
	font-weight: 700;
	font-size: 1rem;
	font-style: italic;
	text-transform: uppercase;
	color: var(--rt-text) !important;
	text-decoration: none !important;
	letter-spacing: 0.04em;
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
}

.rt-footer__brand img {
	max-height: 50px !important;
	width: auto !important;
}

.rt-footer__line {
	height: 1px;
	background: var(--rt-border);
	margin: 2rem 0 1.5rem;
}

.rt-footer__social {
	display: flex;
	gap: 1rem;
}

.rt-footer__social a {
	color: var(--rt-text-muted) !important;
	transition: color 0.2s ease;
}

.rt-footer__social a:hover {
	color: var(--rt-text) !important;
}

/* ==========================================================================
   17. THEME ELEMENT OVERRIDES
   ========================================================================== */

.uk-card-default .uk-card-header { border-bottom-color: var(--rt-border) !important; }
.uk-card-default .uk-card-footer { border-top-color: var(--rt-border) !important; }

.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
	background: var(--rt-surface-2) !important;
	box-shadow: none !important;
}

hr, .uk-hr { border-top-color: var(--rt-border) !important; }
::selection { background: var(--rt-accent) !important; color: #fff !important; }

/* ==========================================================================
   18. CMS LAYOUT WRAPPER OVERRIDES
   ========================================================================== */

.tm-main { background: var(--rt-bg) !important; }
.tm-main > .uk-section,
.tm-main > .uk-section-default { background: var(--rt-bg) !important; }

.uk-article {
	color: var(--rt-text-muted) !important;
	text-align: left !important;
}

.uk-article-title { color: var(--rt-text) !important; }

/* Remove double padding from inner sections */
.tm-main .uk-article > .uk-section,
.tm-main .uk-article > section,
.tm-main .uk-article > div[id] {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

@media (min-width: 960px) {
	.tm-main .uk-article > .uk-section,
	.tm-main .uk-article > section,
	.tm-main .uk-article > div[id] {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}

.tm-main .uk-container .uk-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.uk-section + .uk-section { margin-top: 0; }

/* Offcanvas mobile menu */
.uk-offcanvas-bar {
	background: #000 !important;
}

.uk-nav-primary > li > a {
	color: var(--rt-text-muted) !important;
}

.uk-nav-primary > li > a:hover {
	color: var(--rt-text) !important;
}

/* ==========================================================================
   19. UTILITIES
   ========================================================================== */

.rt-accent-text { color: var(--rt-accent) !important; }
.rt-muted { color: var(--rt-text-muted) !important; }
