/*
 * TRAMX Jobportal Standalone – Frontend
 * Farbwelt für TramX-Jobs.de:
 * Grün / Magenta / Gelb + dunkle, ruhige Flächen.
 */

/* -------------------------------------------------------------------------
   Theme-Integration: Plugin-Seiten ohne Theme-Titel, Sidebar oder Schmalspalte
   ------------------------------------------------------------------------- */

body.tjp-plugin-page {
	--tjp-green:#00964a;
	--tjp-green-dark:#006f38;
	--tjp-green-soft:#eaf7f0;
	--tjp-pink:#d21470;
	--tjp-pink-dark:#a70d59;
	--tjp-yellow:#ffd51f;
	--tjp-ink:#12303b;
	--tjp-ink-soft:#405760;
	--tjp-bg:#f5f8f6;
	--tjp-surface:#ffffff;
	--tjp-border:#d8e1dc;
	--tjp-shadow:0 14px 38px rgba(18,48,59,.08);
	--tjp-radius:18px;
	--tjp-page-pad:clamp(16px,3vw,48px);
	background:var(--tjp-bg);
	color:var(--tjp-ink);
}

/* Website-/Seitentitel des Themes auf Jobportal-Seiten ausblenden. */
body.tjp-plugin-page .site-title,
body.tjp-plugin-page .site-branding .site-title,
body.tjp-plugin-page .wp-block-site-title,
body.tjp-plugin-page .entry-header > .entry-title,
body.tjp-plugin-page .page-header,
body.tjp-plugin-page .page-title,
body.tjp-plugin-page .wp-block-query-title,
body.tjp-plugin-page .wp-block-post-title {
	display:none!important;
}

/* Typische Theme-Sidebars entfernen. */
body.tjp-plugin-page #secondary,
body.tjp-plugin-page .widget-area,
body.tjp-plugin-page aside.sidebar,
body.tjp-plugin-page .sidebar-primary {
	display:none!important;
}

/* Typische Theme-Inhaltsbegrenzungen auf volle Breite öffnen. */
body.tjp-plugin-page #primary,
body.tjp-plugin-page #main,
body.tjp-plugin-page main.site-main,
body.tjp-plugin-page .site-main,
body.tjp-plugin-page .content-area,
body.tjp-plugin-page .site-content,
body.tjp-plugin-page .site-content .content,
body.tjp-plugin-page .site-content .container,
body.tjp-plugin-page main .container,
body.tjp-plugin-page .entry-content,
body.tjp-plugin-page .wp-block-post-content,
body.tjp-plugin-page .wp-site-blocks > main,
body.tjp-plugin-page article.page,
body.tjp-plugin-page article.tjp_job,
body.tjp-plugin-page article.tjp_company {
	width:100%!important;
	max-width:none!important;
	margin-left:0!important;
	margin-right:0!important;
	float:none!important;
}

body.tjp-plugin-page .entry-content,
body.tjp-plugin-page .wp-block-post-content {
	padding-left:0!important;
	padding-right:0!important;
}

body.tjp-plugin-page .entry-content > *,
body.tjp-plugin-page .wp-block-post-content > * {
	max-width:none!important;
}

body.tjp-plugin-page .entry-content,
body.tjp-plugin-page .wp-block-post-content {
	margin-top:0!important;
}

.tjp-page-width,
.tjp-dashboard,
.tjp-auth-choice {
	width:100%;
	max-width:1680px;
	margin-left:auto;
	margin-right:auto;
	padding-left:var(--tjp-page-pad,clamp(16px,3vw,48px));
	padding-right:var(--tjp-page-pad,clamp(16px,3vw,48px));
}

.tjp-jobs,
.tjp-companies,
.tjp-job-detail,
.tjp-company-detail,
.tjp-dashboard,
.tjp-auth-page,
.tjp-auth-choice {
	box-sizing:border-box;
	font-family:inherit;
	color:var(--tjp-ink,#12303b);
}

.tjp-jobs *,
.tjp-companies *,
.tjp-job-detail *,
.tjp-company-detail *,
.tjp-dashboard *,
.tjp-auth-page *,
.tjp-auth-choice *,
.tjp-panel *,
.tjp-login-modal * {
	box-sizing:border-box;
}

/* -------------------------------------------------------------------------
   Typografie, Links, Buttons
   ------------------------------------------------------------------------- */

.tjp-jobs a,
.tjp-companies a,
.tjp-job-detail a,
.tjp-company-detail a,
.tjp-dashboard a,
.tjp-auth-page a,
.tjp-auth-choice a {
	text-underline-offset:3px;
}

.tjp-eyebrow {
	display:inline-block;
	margin-bottom:8px;
	color:var(--tjp-green,#00964a);
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.09em;
	text-transform:uppercase;
}

.tjp-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:11px 18px;
	border:1px solid transparent;
	border-radius:12px;
	background:var(--tjp-green,#00964a);
	color:#fff!important;
	font:inherit;
	font-size:.95rem;
	font-weight:800;
	line-height:1.2;
	text-decoration:none!important;
	cursor:pointer;
	transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}

.tjp-btn:hover,
.tjp-btn:focus-visible {
	background:var(--tjp-green-dark,#006f38);
	color:#fff!important;
	transform:translateY(-1px);
	box-shadow:0 8px 20px rgba(0,111,56,.18);
}

.tjp-btn:focus-visible,
.tjp-toolbar a:focus-visible,
.tjp-toolbar button:focus-visible,
.tjp-form input:focus-visible,
.tjp-form select:focus-visible,
.tjp-form textarea:focus-visible,
.tjp-filter input:focus-visible,
.tjp-filter select:focus-visible {
	outline:3px solid rgba(255,213,31,.72);
	outline-offset:2px;
}

.tjp-btn-block {
	width:100%;
}

.tjp-btn-small {
	min-height:38px;
	padding:8px 12px;
	font-size:.88rem;
}

.tjp-secondary-link {
	display:block;
	margin-top:12px;
	color:var(--tjp-pink,#d21470)!important;
	font-size:.9rem;
	font-weight:750;
	text-align:center;
}

.tjp-muted {
	color:var(--tjp-ink-soft,#405760);
	font-size:.9rem;
}

/* -------------------------------------------------------------------------
   Hero / Seiteneinstieg
   ------------------------------------------------------------------------- */

.tjp-page-hero,
.tjp-detail-hero {
	position:relative;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:36px;
	margin:clamp(18px,3vw,42px) 0 24px;
	padding:clamp(26px,4vw,58px);
	border-radius:24px;
	background:
		linear-gradient(135deg,rgba(0,150,74,.08),rgba(210,20,112,.035) 56%,rgba(255,213,31,.13)),
		#fff;
	border:1px solid rgba(0,150,74,.17);
	box-shadow:var(--tjp-shadow,0 14px 38px rgba(18,48,59,.08));
}

.tjp-page-hero-copy,
.tjp-detail-hero-copy {
	position:relative;
	z-index:2;
	max-width:950px;
}

.tjp-page-hero h1,
.tjp-detail-hero h1 {
	margin:0;
	color:var(--tjp-ink,#12303b);
	font-size:clamp(2rem,4.2vw,4.2rem);
	font-weight:850;
	line-height:1.02;
	letter-spacing:-.035em;
}

.tjp-page-hero p {
	max-width:760px;
	margin:14px 0 0;
	color:var(--tjp-ink-soft,#405760);
	font-size:clamp(1rem,1.4vw,1.2rem);
	line-height:1.6;
}

.tjp-page-hero-compact h1 {
	font-size:clamp(2rem,3.4vw,3.5rem);
}

.tjp-hero-mark {
	flex:0 0 190px;
	align-self:stretch;
	display:flex;
	align-items:flex-end;
	justify-content:flex-end;
	gap:12px;
	min-height:130px;
	padding:8px;
	transform:skewX(-9deg);
	opacity:.95;
}

.tjp-hero-line {
	display:block;
	width:34px;
	border-radius:999px;
}

.tjp-hero-line-green {
	height:74%;
	background:var(--tjp-green,#00964a);
}

.tjp-hero-line-pink {
	height:100%;
	background:var(--tjp-pink,#d21470);
}

.tjp-hero-line-yellow {
	height:52%;
	background:var(--tjp-yellow,#ffd51f);
}

/* -------------------------------------------------------------------------
   Panels / Formulare / Hinweise
   ------------------------------------------------------------------------- */

.tjp-panel {
	--tjp-text:#12303b;
	--tjp-muted:#405760;
	--tjp-border:#d8e1dc;
	--tjp-soft:#f5f8f6;
	--tjp-accent:#00964a;
	padding:clamp(20px,3vw,34px);
	border:1px solid var(--tjp-border);
	border-radius:18px;
	background:#fff;
	box-shadow:0 8px 24px rgba(18,48,59,.05);
	margin-bottom:22px;
	color:var(--tjp-text);
}

.tjp-panel h1,
.tjp-panel h2,
.tjp-panel h3 {
	color:var(--tjp-ink,#12303b);
}

.tjp-panel h2 {
	margin-top:0;
}

.tjp-form {
	display:grid;
	gap:16px;
}

.tjp-form label,
.tjp-filter label {
	display:flex;
	flex-direction:column;
	gap:7px;
	color:var(--tjp-ink,#12303b);
	font-size:.9rem;
	font-weight:750;
}

.tjp-form small,
.tjp-filter small {
	color:var(--tjp-ink-soft,#405760);
	font-weight:500;
}

.tjp-form input,
.tjp-form select,
.tjp-form textarea,
.tjp-filter input,
.tjp-filter select,
.tjp-inline-form select {
	width:100%;
	min-height:46px;
	padding:10px 13px;
	border:1px solid #cbd7d1;
	border-radius:11px;
	background:#fff;
	color:var(--tjp-ink,#12303b);
	font:inherit;
	line-height:1.35;
	transition:border-color .18s ease,box-shadow .18s ease;
}

.tjp-form textarea {
	min-height:130px;
	resize:vertical;
}

.tjp-form input:focus,
.tjp-form select:focus,
.tjp-form textarea:focus,
.tjp-filter input:focus,
.tjp-filter select:focus {
	border-color:var(--tjp-green,#00964a);
	box-shadow:0 0 0 3px rgba(0,150,74,.1);
}

.tjp-two {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px;
}

.tjp-check {
	flex-direction:row!important;
	align-items:center;
	align-self:end;
	min-height:46px;
}

.tjp-check input,
.tjp-popup-remember input {
	width:auto;
	min-height:auto;
}

.tjp-alert {
	padding:14px 17px;
	margin:0 0 18px;
	border-radius:12px;
	font-weight:700;
	line-height:1.45;
}

.tjp-alert-success {
	background:#e6f7ed;
	border:1px solid rgba(0,150,74,.18);
	color:#075f31;
}

.tjp-alert-error {
	background:#fff0f5;
	border:1px solid rgba(210,20,112,.17);
	color:#8f114d;
}

/* -------------------------------------------------------------------------
   Jobfilter und Karten
   ------------------------------------------------------------------------- */

.tjp-filter {
	display:grid;
	grid-template-columns:minmax(220px,2fr) repeat(3,minmax(145px,1fr)) auto;
	gap:12px;
	align-items:end;
	padding:18px;
	margin-bottom:24px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:16px;
	background:#fff;
	box-shadow:0 8px 24px rgba(18,48,59,.05);
}

.tjp-job-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}

.tjp-job-card {
	position:relative;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	min-width:0;
	min-height:240px;
	padding:22px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:17px;
	background:#fff;
	box-shadow:0 8px 24px rgba(18,48,59,.045);
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.tjp-job-card::before {
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:5px;
	background:var(--tjp-green,#00964a);
}

.tjp-job-card:hover {
	transform:translateY(-3px);
	border-color:rgba(0,150,74,.4);
	box-shadow:0 16px 36px rgba(18,48,59,.10);
}

.tjp-job-card h3 {
	margin:7px 0 15px;
	padding-right:48px;
	color:var(--tjp-ink,#12303b);
	font-size:1.2rem;
	line-height:1.28;
}

.tjp-job-card h3 a {
	color:inherit;
	text-decoration:none;
}

.tjp-tags,
.tjp-detail-tags {
	display:flex;
	flex-wrap:wrap;
	gap:7px;
}

.tjp-tags {
	margin-bottom:18px;
}

.tjp-tags span,
.tjp-detail-tags span {
	display:inline-flex;
	align-items:center;
	padding:6px 9px;
	border-radius:999px;
	background:#f0f5f2;
	color:#3d5650;
	font-size:.79rem;
	font-weight:700;
	line-height:1.2;
}

.tjp-card-link {
	margin-top:auto;
	color:var(--tjp-green-dark,#006f38)!important;
	font-weight:800;
	text-decoration:none!important;
}

.tjp-card-link:hover {
	color:var(--tjp-pink,#d21470)!important;
}

.tjp-featured {
	position:absolute;
	top:14px;
	right:14px;
	padding:5px 9px;
	border-radius:999px;
	background:var(--tjp-yellow,#ffd51f);
	color:#4e4300;
	font-size:.72rem;
	font-weight:850;
}

.tjp-empty {
	padding:30px;
	border:1px dashed #b8c9c0;
	border-radius:16px;
	background:#fff;
	color:var(--tjp-ink-soft,#405760);
	grid-column:1/-1;
}

.tjp-pagination {
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin-top:24px;
}

.tjp-pagination a {
	width:42px;
	height:42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:10px;
	background:#fff;
	color:var(--tjp-ink,#12303b);
	font-weight:750;
	text-decoration:none;
}

.tjp-pagination a:hover,
.tjp-pagination a.is-current {
	background:var(--tjp-green,#00964a);
	border-color:var(--tjp-green,#00964a);
	color:#fff;
}

/* -------------------------------------------------------------------------
   Jobdetail
   ------------------------------------------------------------------------- */

.tjp-detail-company {
	margin:3px 0 10px;
	color:var(--tjp-green-dark,#006f38);
	font-size:1rem;
	font-weight:800;
}

.tjp-detail-company a {
	color:inherit;
	text-decoration:none;
}

.tjp-detail-tags {
	margin-top:18px;
}

.tjp-job-detail-layout {
	display:grid;
	grid-template-columns:minmax(0,2fr) minmax(310px,.85fr);
	gap:24px;
	align-items:start;
	padding-bottom:48px;
}

.tjp-job-main {
	min-width:0;
	padding:clamp(20px,3vw,34px);
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:18px;
	background:#fff;
	box-shadow:0 8px 24px rgba(18,48,59,.045);
}

.tjp-job-meta {
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:10px;
	padding:16px;
	margin-bottom:28px;
	border-radius:14px;
	background:var(--tjp-bg,#f5f8f6);
}

.tjp-job-meta > div {
	display:flex;
	flex-direction:column;
	gap:4px;
	min-width:0;
}

.tjp-job-meta strong {
	color:var(--tjp-green-dark,#006f38);
	font-size:.69rem;
	font-weight:850;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.tjp-job-meta span {
	word-break:break-word;
}

.tjp-rich-content {
	color:var(--tjp-ink,#12303b);
	font-size:1rem;
	line-height:1.75;
}

.tjp-rich-content > :first-child {
	margin-top:0;
}

.tjp-rich-content h2,
.tjp-rich-content h3,
.tjp-rich-content h4 {
	color:var(--tjp-ink,#12303b);
	line-height:1.25;
}

.tjp-rich-content a {
	color:var(--tjp-green-dark,#006f38);
}

.tjp-apply-box {
	position:sticky;
	top:calc(var(--tjp-toolbar-height,58px) + 20px);
	padding:0;
	border:1px solid rgba(210,20,112,.20);
	border-radius:18px;
	background:#fff;
	box-shadow:var(--tjp-shadow,0 14px 38px rgba(18,48,59,.08));
	overflow:hidden;
}

.tjp-apply-box::before {
	content:"";
	display:block;
	height:6px;
	background:linear-gradient(90deg,var(--tjp-green,#00964a) 0 44%,var(--tjp-pink,#d21470) 44% 76%,var(--tjp-yellow,#ffd51f) 76%);
}

.tjp-apply-box-inner {
	padding:24px;
}

.tjp-apply-box h2 {
	margin:0 0 10px;
	color:var(--tjp-ink,#12303b);
	font-size:1.35rem;
}

.tjp-apply-box p {
	color:var(--tjp-ink-soft,#405760);
	line-height:1.55;
}

.tjp-application-form {
	max-width:none;
}

.tjp-application-form h3 {
	font-size:1.08rem;
}

/* -------------------------------------------------------------------------
   Unternehmen
   ------------------------------------------------------------------------- */

.tjp-company-grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
	padding-bottom:48px;
}

.tjp-company-card {
	min-width:0;
	padding:20px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:17px;
	background:#fff;
	box-shadow:0 8px 24px rgba(18,48,59,.045);
	transition:transform .18s ease,border-color .18s ease;
}

.tjp-company-card:hover {
	transform:translateY(-2px);
	border-color:rgba(0,150,74,.35);
}

.tjp-company-card img {
	display:block;
	width:100%;
	height:96px;
	object-fit:contain;
	object-position:left center;
	margin-bottom:14px;
}

.tjp-company-card h3 {
	margin:8px 0 8px;
	font-size:1.1rem;
	line-height:1.3;
}

.tjp-company-card h3 a {
	color:var(--tjp-ink,#12303b);
	text-decoration:none;
}

.tjp-verified {
	display:inline-flex!important;
	align-items:center;
	width:auto!important;
	padding:5px 9px!important;
	border-radius:999px!important;
	background:var(--tjp-green-soft,#eaf7f0)!important;
	color:var(--tjp-green-dark,#006f38)!important;
	font-size:.75rem!important;
	font-weight:800!important;
}

.tjp-company-detail-hero {
	align-items:center;
}

.tjp-company-hero-logo {
	flex:0 0 150px;
	width:150px;
	height:130px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px;
	border-radius:18px;
	background:#fff;
	border:1px solid var(--tjp-border,#d8e1dc);
	box-shadow:0 8px 20px rgba(18,48,59,.06);
}

.tjp-company-hero-logo img {
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
}

.tjp-company-hero-logo > span {
	color:var(--tjp-green,#00964a);
	font-size:2rem;
	font-weight:900;
}

.tjp-company-detail-layout {
	display:grid;
	grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);
	gap:24px;
	align-items:start;
}

.tjp-company-about,
.tjp-company-facts {
	padding:clamp(20px,3vw,32px);
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:18px;
	background:#fff;
}

.tjp-company-about h2,
.tjp-company-facts h2 {
	margin-top:0;
	color:var(--tjp-ink,#12303b);
}

.tjp-company-facts {
	box-shadow:0 8px 24px rgba(18,48,59,.045);
}

.tjp-fact {
	display:flex;
	flex-direction:column;
	gap:4px;
	padding:12px 0;
	border-bottom:1px solid #e7eeea;
}

.tjp-fact:last-child {
	border-bottom:0;
}

.tjp-fact strong {
	color:var(--tjp-green-dark,#006f38);
	font-size:.75rem;
	letter-spacing:.05em;
	text-transform:uppercase;
}

.tjp-fact a {
	color:var(--tjp-pink,#d21470);
	font-weight:750;
}

.tjp-company-jobs {
	padding:36px 0 52px;
}

.tjp-section-heading {
	margin-bottom:18px;
}

.tjp-section-heading h2 {
	margin:0;
	color:var(--tjp-ink,#12303b);
	font-size:clamp(1.6rem,2.4vw,2.3rem);
}

/* -------------------------------------------------------------------------
   Dashboard / Tabellen
   ------------------------------------------------------------------------- */

.tjp-dashboard {
	display:grid;
	grid-template-columns:250px minmax(0,1fr);
	gap:24px;
	padding-top:clamp(24px,3vw,44px);
	padding-bottom:48px;
}

.tjp-dashboard-nav {
	display:flex;
	flex-direction:column;
	gap:5px;
	padding:15px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:17px;
	background:#fff;
	box-shadow:0 8px 24px rgba(18,48,59,.045);
	align-self:start;
	position:sticky;
	top:calc(var(--tjp-toolbar-height,58px) + 20px);
}

.tjp-dashboard-nav strong {
	padding:9px 10px;
	color:var(--tjp-ink,#12303b);
}

.tjp-dashboard-nav a {
	padding:10px 11px;
	border-radius:9px;
	color:var(--tjp-ink,#12303b);
	text-decoration:none;
	font-size:.9rem;
	font-weight:650;
}

.tjp-dashboard-nav a:hover,
.tjp-dashboard-nav a.is-active {
	background:var(--tjp-green-soft,#eaf7f0);
	color:var(--tjp-green-dark,#006f38);
	font-weight:800;
}

.tjp-heading-row {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:18px;
}

.tjp-table-wrap {
	width:100%;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
	border-radius:12px;
}

.tjp-table {
	width:100%;
	min-width:640px;
	border-collapse:collapse;
}

.tjp-table th,
.tjp-table td {
	padding:12px 11px;
	border-bottom:1px solid var(--tjp-border,#d8e1dc);
	text-align:left;
	vertical-align:middle;
}

.tjp-table th {
	color:var(--tjp-green-dark,#006f38);
	font-size:.76rem;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.tjp-badge {
	display:inline-block;
	padding:5px 9px;
	border-radius:999px;
	font-size:.74rem;
	font-weight:800;
	white-space:nowrap;
}

.tjp-badge-success {background:#e6f7ed;color:#075f31}
.tjp-badge-warning {background:#fff6ca;color:#695900}
.tjp-badge-danger {background:#fff0f5;color:#941253}
.tjp-badge-muted {background:#edf2ef;color:#53655d}

.tjp-applications {
	display:grid;
	gap:14px;
}

.tjp-application-card {
	padding:20px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:14px;
	background:#fff;
}

.tjp-letter {
	padding:14px;
	margin:12px 0;
	border-radius:11px;
	background:var(--tjp-bg,#f5f8f6);
	line-height:1.6;
}

.tjp-inline-form {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
}

.tjp-inline-form select {
	width:auto;
	min-width:160px;
}

/* -------------------------------------------------------------------------
   Auth-Seiten
   ------------------------------------------------------------------------- */

.tjp-auth-page {
	width:calc(100% - (2 * var(--tjp-page-pad,clamp(16px,3vw,48px))));
	max-width:760px!important;
	margin:clamp(28px,5vw,70px) auto!important;
}

.tjp-auth-page > h1 {
	margin-top:0;
	color:var(--tjp-ink,#12303b);
	font-size:clamp(1.8rem,3vw,2.7rem);
}

.tjp-auth-links {
	display:flex;
	flex-wrap:wrap;
	gap:10px 16px;
	align-items:center;
	margin-top:19px;
	padding-top:17px;
	border-top:1px solid var(--tjp-border,#d8e1dc);
	font-size:.9rem;
}

.tjp-auth-links a {
	color:var(--tjp-green-dark,#006f38);
	font-weight:750;
}

.tjp-auth-links span {
	color:var(--tjp-ink-soft,#405760);
}

.tjp-auth-choice {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
	align-items:stretch;
	padding-top:clamp(28px,4vw,60px);
	padding-bottom:50px;
}

.tjp-auth-choice .tjp-panel {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	margin-bottom:0;
}

.tjp-auth-choice .tjp-panel p {
	flex:1;
	line-height:1.6;
}

.tjp-auth-choice .tjp-auth-secondary {
	flex:0;
	margin:13px 0 0;
	font-size:.88rem;
}

/* -------------------------------------------------------------------------
   Frontend-Toolbar
   ------------------------------------------------------------------------- */

.tjp-toolbar {
	--tjp-toolbar-bg:#102c34;
	--tjp-toolbar-text:#ffffff;
	--tjp-toolbar-muted:#dce7e2;
	--tjp-toolbar-accent:#00964a;
	--tjp-toolbar-pink:#d21470;
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:99990;
	width:100%;
	background:
		linear-gradient(90deg,rgba(0,150,74,.11),transparent 35%),
		var(--tjp-toolbar-bg);
	color:var(--tjp-toolbar-text);
	box-shadow:0 3px 14px rgba(0,0,0,.16);
}

body.admin-bar .tjp-toolbar {
	top:32px;
}

.tjp-toolbar * {
	box-sizing:border-box;
}

.tjp-toolbar::after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:3px;
	background:linear-gradient(90deg,#00964a 0 58%,#d21470 58% 84%,#ffd51f 84%);
}

.tjp-toolbar-inner {
	width:100%;
	max-width:1680px;
	min-height:64px;
	margin:0 auto;
	padding:0 clamp(14px,2.4vw,38px);
	display:flex;
	align-items:center;
	gap:24px;
}

.tjp-toolbar-brand {
	flex:0 0 auto;
	display:flex;
	align-items:center;
	color:#fff!important;
	text-decoration:none!important;
	font-weight:900;
	font-size:1.08rem;
	letter-spacing:.01em;
}

.tjp-toolbar-logo {
	display:block;
	width:auto;
	max-width:210px;
	height:40px;
	object-fit:contain;
	object-position:left center;
}

.tjp-toolbar-menu {
	flex:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	min-width:0;
}

.tjp-toolbar-main,
.tjp-toolbar-account,
.tjp-toolbar-wp-menu {
	display:flex;
	align-items:center;
	gap:3px;
}

.tjp-toolbar-wp-menu {
	list-style:none;
	padding:0;
	margin:0;
}

.tjp-toolbar-wp-menu > li {
	margin:0;
	padding:0;
}

.tjp-toolbar-main > a,
.tjp-toolbar-account > a,
.tjp-toolbar-wp-menu > li > a,
.tjp-toolbar-linkbutton {
	display:inline-flex;
	align-items:center;
	min-height:42px;
	padding:8px 10px;
	border:0;
	border-radius:9px;
	background:transparent;
	color:var(--tjp-toolbar-muted)!important;
	font:inherit;
	font-size:.86rem;
	font-weight:700;
	line-height:1.2;
	text-decoration:none!important;
	white-space:nowrap;
	cursor:pointer;
}

.tjp-toolbar-main > a:hover,
.tjp-toolbar-account > a:hover,
.tjp-toolbar-wp-menu > li > a:hover,
.tjp-toolbar-linkbutton:hover {
	background:rgba(255,255,255,.08);
	color:#fff!important;
}

.tjp-toolbar-account .tjp-toolbar-cta {
	background:var(--tjp-toolbar-accent);
	color:#fff!important;
	padding-left:14px;
	padding-right:14px;
}

.tjp-toolbar-account .tjp-toolbar-cta:hover {
	background:#007d3f;
}

.tjp-toolbar-toggle {
	display:none;
	margin-left:auto;
	width:42px;
	height:42px;
	align-items:center;
	justify-content:center;
	border:1px solid rgba(255,255,255,.23);
	border-radius:9px;
	background:transparent;
	color:#fff;
	font-size:1.35rem;
	line-height:1;
	cursor:pointer;
}

.tjp-toolbar .screen-reader-text {
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	padding:0!important;
	margin:-1px!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	border:0!important;
}

/* -------------------------------------------------------------------------
   Login-Modal
   ------------------------------------------------------------------------- */

html.tjp-modal-open {
	overflow:hidden;
}

.tjp-login-modal {
	--tjp-green:#00964a;
	--tjp-green-dark:#006f38;
	--tjp-pink:#d21470;
	--tjp-yellow:#ffd51f;
	--tjp-ink:#12303b;
	--tjp-ink-soft:#405760;
	position:fixed;
	inset:0;
	z-index:100000;
	display:none;
	align-items:center;
	justify-content:center;
	padding:20px;
}

.tjp-login-modal.is-open {
	display:flex;
}

.tjp-login-backdrop {
	position:absolute;
	inset:0;
	background:rgba(8,28,34,.72);
	backdrop-filter:blur(4px);
}

.tjp-login-dialog {
	position:relative;
	z-index:1;
	width:min(100%,470px);
	max-height:calc(100vh - 40px);
	overflow:auto;
	padding:30px;
	border-radius:20px;
	background:#fff;
	color:var(--tjp-ink);
	box-shadow:0 28px 80px rgba(0,0,0,.32);
	border-top:6px solid var(--tjp-green);
}

.tjp-login-dialog::after {
	content:"";
	position:absolute;
	top:-6px;
	right:0;
	width:32%;
	height:6px;
	background:linear-gradient(90deg,var(--tjp-pink) 0 70%,var(--tjp-yellow) 70%);
	border-radius:0 20px 0 0;
}

.tjp-login-close {
	position:absolute;
	top:12px;
	right:14px;
	width:38px;
	height:38px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:0;
	border-radius:50%;
	background:#eef3f0;
	color:var(--tjp-ink);
	font-size:1.55rem;
	line-height:1;
	cursor:pointer;
}

.tjp-login-close:hover {
	background:#e1eae5;
}

.tjp-login-heading {
	padding-right:38px;
	margin-bottom:20px;
}

.tjp-login-heading h2 {
	margin:0 0 5px;
	color:var(--tjp-ink);
}

.tjp-login-heading p {
	margin:0;
	color:var(--tjp-ink-soft);
}

.tjp-login-logo {
	display:block;
	width:auto;
	max-width:215px;
	max-height:72px;
	object-fit:contain;
	object-position:left center;
	margin:0 0 18px;
}

.tjp-popup-login-form {
	gap:14px;
}

.tjp-popup-remember {
	flex-direction:row!important;
	align-items:center;
	font-weight:550!important;
}

.tjp-login-links {
	display:grid;
	gap:7px;
	margin-top:18px;
	padding-top:17px;
	border-top:1px solid #e1e9e5;
	font-size:.88rem;
}

.tjp-login-links a {
	color:var(--tjp-green-dark);
	font-weight:750;
}

.tjp-login-links span {
	margin-top:7px;
	color:var(--tjp-ink-soft);
	font-size:.73rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.06em;
}

/* -------------------------------------------------------------------------
   Theme-unabhängiger Toolbar-Abstand
   ------------------------------------------------------------------------- */

body.tjp-has-toolbar {
	padding-top:var(--tjp-toolbar-height,64px)!important;
}

body.admin-bar.tjp-has-toolbar {
	padding-top:var(--tjp-toolbar-height,64px)!important;
}

/* -------------------------------------------------------------------------
   Responsive – Tablet
   ------------------------------------------------------------------------- */

@media (max-width:1250px) {
	.tjp-job-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.tjp-company-grid {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.tjp-filter {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.tjp-filter .tjp-btn {
		width:100%;
	}

	.tjp-job-meta {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media (max-width:1080px) {
	.tjp-toolbar-inner {
		min-height:60px;
		flex-wrap:wrap;
		padding-top:7px;
		padding-bottom:7px;
	}

	.tjp-toolbar-toggle {
		display:inline-flex;
	}

	.tjp-toolbar-menu {
		display:none;
		flex-basis:100%;
		flex-direction:column;
		align-items:stretch;
		gap:10px;
		max-height:calc(100vh - 84px);
		overflow:auto;
		padding:8px 0 12px;
	}

	.tjp-toolbar.is-open .tjp-toolbar-menu {
		display:flex;
	}

	.tjp-toolbar-main,
	.tjp-toolbar-account,
	.tjp-toolbar-wp-menu {
		flex-direction:column;
		align-items:stretch;
		width:100%;
	}

	.tjp-toolbar-main > a,
	.tjp-toolbar-account > a,
	.tjp-toolbar-wp-menu > li > a,
	.tjp-toolbar-linkbutton {
		width:100%;
		justify-content:flex-start;
		padding:10px 12px;
	}

	.tjp-toolbar-account .tjp-toolbar-cta {
		justify-content:center;
		margin-top:4px;
	}

	.tjp-job-detail-layout,
	.tjp-company-detail-layout {
		grid-template-columns:1fr;
	}

	.tjp-apply-box,
	.tjp-dashboard-nav {
		position:static;
	}

	.tjp-dashboard {
		grid-template-columns:1fr;
	}

	.tjp-dashboard-nav {
		display:grid;
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.tjp-dashboard-nav strong {
		grid-column:1/-1;
	}
}

@media (max-width:900px) {
	.tjp-page-hero,
	.tjp-detail-hero {
		align-items:flex-start;
		padding:28px;
	}

	.tjp-hero-mark {
		flex-basis:120px;
		min-height:110px;
	}

	.tjp-company-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.tjp-job-meta {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.tjp-auth-choice {
		grid-template-columns:1fr;
	}

	.tjp-company-detail-hero {
		flex-wrap:wrap;
	}

	.tjp-company-hero-logo {
		flex-basis:130px;
		width:130px;
		height:110px;
	}

	.tjp-company-detail-hero .tjp-hero-mark {
		display:none;
	}
}

@media (max-width:782px) {
	body.admin-bar .tjp-toolbar {
		top:46px;
	}
}

/* -------------------------------------------------------------------------
   Responsive – Smartphone
   ------------------------------------------------------------------------- */

@media (max-width:680px) {
	:root {
		--tjp-mobile-pad:14px;
	}

	.tjp-page-width,
	.tjp-dashboard,
	.tjp-auth-choice {
		padding-left:14px;
		padding-right:14px;
	}

	.tjp-page-hero,
	.tjp-detail-hero {
		display:block;
		margin-top:16px;
		margin-bottom:16px;
		padding:22px 18px;
		border-radius:17px;
	}

	.tjp-page-hero h1,
	.tjp-detail-hero h1 {
		font-size:clamp(1.8rem,9vw,2.7rem);
		line-height:1.06;
	}

	.tjp-page-hero p {
		font-size:.97rem;
	}

	.tjp-hero-mark {
		width:100%;
		height:20px;
		min-height:0;
		margin-top:20px;
		padding:0;
		display:flex;
		flex-direction:row;
		transform:none;
	}

	.tjp-hero-line {
		height:6px!important;
		flex:1;
		width:auto;
		border-radius:999px;
	}

	.tjp-filter,
	.tjp-two,
	.tjp-job-grid,
	.tjp-company-grid,
	.tjp-job-meta {
		grid-template-columns:1fr;
	}

	.tjp-filter {
		padding:14px;
	}

	.tjp-job-card {
		min-height:0;
		padding:19px;
	}

	.tjp-job-card h3 {
		padding-right:0;
		font-size:1.08rem;
	}

	.tjp-featured {
		position:static;
		align-self:flex-start;
		margin:0 0 8px;
	}

	.tjp-job-main,
	.tjp-company-about,
	.tjp-company-facts {
		padding:18px;
		border-radius:14px;
	}

	.tjp-job-detail-layout,
	.tjp-company-detail-layout {
		gap:14px;
	}

	.tjp-apply-box {
		border-radius:14px;
	}

	.tjp-apply-box-inner {
		padding:19px;
	}

	.tjp-company-hero-logo {
		width:110px;
		height:90px;
		margin-bottom:14px;
	}

	.tjp-dashboard {
		padding-top:18px;
		gap:14px;
	}

	.tjp-dashboard-nav {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:5px;
	}

	.tjp-dashboard-nav a {
		text-align:center;
	}

	.tjp-heading-row,
	.tjp-inline-form {
		flex-direction:column;
		align-items:stretch;
	}

	.tjp-heading-row .tjp-btn,
	.tjp-inline-form .tjp-btn,
	.tjp-inline-form select {
		width:100%;
	}

	.tjp-panel {
		padding:18px;
		border-radius:14px;
	}

	.tjp-auth-page {
		width:calc(100% - 28px);
		margin:22px auto!important;
	}

	.tjp-toolbar-logo {
		max-width:165px;
		height:36px;
	}

	.tjp-login-modal {
		padding:12px;
		align-items:flex-end;
	}

	.tjp-login-dialog {
		width:100%;
		max-height:calc(100vh - 24px);
		padding:24px 18px;
		border-radius:18px 18px 12px 12px;
	}

	.tjp-login-dialog::after {
		border-radius:0 18px 0 0;
	}

	.tjp-login-logo {
		max-width:175px;
		max-height:58px;
	}

	.tjp-pagination a {
		width:40px;
		height:40px;
	}
}

@media (max-width:420px) {
	.tjp-toolbar-inner {
		padding-left:12px;
		padding-right:12px;
	}

	.tjp-toolbar-logo {
		max-width:145px;
	}

	.tjp-dashboard-nav {
		grid-template-columns:1fr;
	}

	.tjp-dashboard-nav strong {
		grid-column:auto;
	}

	.tjp-detail-tags,
	.tjp-tags {
		gap:5px;
	}

	.tjp-tags span,
	.tjp-detail-tags span {
		font-size:.74rem;
	}
}

/* Bewegung reduzieren, wenn im Betriebssystem gewünscht. */
@media (prefers-reduced-motion:reduce) {
	.tjp-btn,
	.tjp-job-card,
	.tjp-company-card {
		transition:none!important;
	}
}


/* -------------------------------------------------------------------------
   Administrator-Vorschau als Bewerber / Unternehmen
   ------------------------------------------------------------------------- */

.tjp-admin-preview-switch{
	display:flex;
	align-items:center;
	gap:4px;
	padding:4px;
	border:1px solid rgba(255,255,255,.13);
	border-radius:10px;
	background:rgba(255,255,255,.04);
}

.tjp-admin-preview-label{
	padding:0 6px;
	color:#b9c9c3;
	font-size:.72rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.05em;
}

.tjp-admin-preview-switch a{
	display:inline-flex;
	align-items:center;
	min-height:32px;
	padding:6px 8px;
	border-radius:7px;
	color:#dce7e2!important;
	font-size:.76rem;
	font-weight:750;
	text-decoration:none!important;
}

.tjp-admin-preview-switch a:hover,
.tjp-admin-preview-switch a.is-active{
	background:#ffd51f;
	color:#342e00!important;
}

.tjp-preview-notice{
	width:calc(100% - (2 * var(--tjp-page-pad,clamp(16px,3vw,48px))));
	max-width:1680px;
	margin:24px auto 0;
	padding:14px 17px;
	border:1px solid rgba(210,20,112,.18);
	border-left:5px solid var(--tjp-pink,#d21470);
	border-radius:12px;
	background:#fff4f8;
	color:#69113d;
	line-height:1.5;
}

.tjp-preview-help{
	margin:16px 0 0;
	padding-top:14px;
	border-top:1px dashed var(--tjp-border,#d8e1dc);
	color:var(--tjp-ink-soft,#405760);
	font-size:.85rem;
}

.tjp-preview-form input:disabled,
.tjp-preview-form select:disabled,
.tjp-preview-form textarea:disabled,
.tjp-preview-apply input:disabled,
.tjp-preview-apply select:disabled,
.tjp-preview-apply textarea:disabled{
	opacity:1;
	background:#f4f7f5;
	color:#53655d;
	cursor:not-allowed;
}

.tjp-preview-form .tjp-btn:disabled,
.tjp-preview-apply .tjp-btn:disabled,
.tjp-admin-preview-dashboard .tjp-btn:disabled{
	opacity:.72;
	background:#7c9187;
	box-shadow:none;
	transform:none;
	cursor:not-allowed;
}

.tjp-preview-badge{
	display:inline-flex;
	margin-bottom:10px;
	padding:5px 8px;
	border-radius:999px;
	background:#fff0f5;
	color:#941253;
	font-size:.74rem;
	font-weight:850;
}

.tjp-preview-exit{
	margin-top:5px;
	border:1px solid rgba(210,20,112,.18);
	color:var(--tjp-pink,#d21470)!important;
}

@media(max-width:1080px){
	.tjp-admin-preview-switch{
		width:100%;
		justify-content:flex-start;
		flex-wrap:wrap;
	}
}

@media(max-width:680px){
	.tjp-admin-preview-switch{
		display:grid;
		grid-template-columns:1fr 1fr 1fr;
		gap:5px;
	}

	.tjp-admin-preview-label{
		grid-column:1/-1;
		padding:2px 4px;
	}

	.tjp-admin-preview-switch a{
		justify-content:center;
		text-align:center;
	}

	.tjp-preview-notice{
		width:calc(100% - 28px);
		margin-top:16px;
	}
}


/* -------------------------------------------------------------------------
   Bewerber-Unterlagen / Profilfoto / Bewerbungsdateien
   ------------------------------------------------------------------------- */

.tjp-candidate-photo,
.tjp-application-photo{
	width:88px;
	height:88px;
	flex:0 0 88px;
	border-radius:50%;
	object-fit:cover;
	border:4px solid #fff;
	box-shadow:0 6px 18px rgba(18,48,59,.14);
	background:#eef4f0;
}

.tjp-upload-section{
	padding:18px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:14px;
	background:#f8faf9;
}

.tjp-upload-section h3,
.tjp-upload-section h4{
	margin:0 0 5px;
	color:var(--tjp-ink,#12303b);
}

.tjp-upload-section input[type="file"]{
	min-height:0;
	padding:10px;
	background:#fff;
}

.tjp-file-list{
	display:grid;
	gap:9px;
	margin:12px 0;
}

.tjp-file-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:12px 13px;
	border:1px solid #dce5e0;
	border-radius:11px;
	background:#fff;
}

.tjp-file-row>div{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px 12px;
	min-width:0;
}

.tjp-file-row strong{
	word-break:break-word;
}

.tjp-file-row span,
.tjp-file-row small{
	color:var(--tjp-ink-soft,#405760);
	font-size:.82rem;
}

.tjp-file-remove{
	display:inline-flex!important;
	flex-direction:row!important;
	align-items:center!important;
	gap:6px!important;
	font-size:.82rem!important;
	font-weight:650!important;
}

.tjp-file-remove input{
	width:auto!important;
	min-height:0!important;
}

.tjp-share-files{
	display:grid;
	gap:9px;
	padding:16px;
	border:1px solid rgba(0,150,74,.18);
	border-radius:14px;
	background:#f2f9f5;
}

.tjp-share-files h4{
	margin:0;
	color:var(--tjp-ink,#12303b);
}

.tjp-share-file{
	display:flex!important;
	flex-direction:row!important;
	align-items:center!important;
	gap:11px!important;
	padding:10px;
	border:1px solid #dce7e1;
	border-radius:10px;
	background:#fff;
	cursor:pointer;
}

.tjp-share-file input{
	width:auto!important;
	min-height:0!important;
	flex:0 0 auto;
}

.tjp-share-file img{
	width:44px;
	height:44px;
	border-radius:50%;
	object-fit:cover;
}

.tjp-share-file span{
	display:grid;
	gap:2px;
	min-width:0;
}

.tjp-share-file small{
	color:var(--tjp-ink-soft,#405760);
	font-weight:500;
	word-break:break-word;
}

.tjp-file-hint,
.tjp-privacy-note{
	padding:13px 14px;
	border-radius:11px;
	background:#fff9da;
	color:#5e5000;
	font-size:.88rem;
	line-height:1.5;
}

.tjp-file-hint{
	display:grid;
	gap:4px;
}

.tjp-privacy-note{
	margin:0;
}

.tjp-application-head{
	display:flex;
	align-items:flex-start;
	gap:15px;
	margin-bottom:14px;
}

.tjp-application-person{
	flex:1;
	min-width:0;
}

.tjp-application-person>strong{
	font-size:1.05rem;
}

.tjp-application-contact{
	display:flex;
	flex-wrap:wrap;
	gap:5px 12px;
	margin-top:7px;
	font-size:.86rem;
}

.tjp-application-contact span,
.tjp-application-contact a{
	color:var(--tjp-ink-soft,#405760);
}

.tjp-application-status{
	flex:0 0 auto;
}

.tjp-application-files{
	margin:15px 0;
}

.tjp-application-files h4{
	margin:0 0 9px;
}

.tjp-download-file{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:11px 12px;
	border:1px solid #dce5e0;
	border-radius:10px;
	background:#f8faf9;
	color:var(--tjp-ink,#12303b)!important;
	text-decoration:none!important;
}

.tjp-download-file:hover{
	border-color:rgba(0,150,74,.45);
	background:#f1f8f4;
}

.tjp-download-file>span{
	display:grid;
	gap:2px;
	min-width:0;
}

.tjp-download-file small{
	color:var(--tjp-ink-soft,#405760);
	font-size:.79rem;
	word-break:break-word;
}

@media(max-width:680px){
	.tjp-candidate-photo{
		width:72px;
		height:72px;
		flex-basis:72px;
	}

	.tjp-file-row,
	.tjp-download-file,
	.tjp-application-head{
		align-items:flex-start;
		flex-direction:column;
	}

	.tjp-application-photo{
		width:74px;
		height:74px;
		flex-basis:74px;
	}

	.tjp-application-status{
		align-self:flex-start;
	}

	.tjp-download-file{
		width:100%;
	}

	.tjp-upload-section{
		padding:14px;
	}
}


/* =========================================================================
   TramX Jobs 2.0 – modernes Portal-Design
   ========================================================================= */

.tjp-portal-home{
	padding-top:clamp(18px,3vw,40px);
	padding-bottom:70px;
}

.tjp-home-hero{
	position:relative;
	overflow:hidden;
	display:grid;
	grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
	gap:clamp(28px,5vw,76px);
	align-items:center;
	min-height:560px;
	padding:clamp(34px,6vw,86px);
	border-radius:30px;
	background:
		linear-gradient(135deg,rgba(0,150,74,.10),rgba(255,255,255,.92) 42%,rgba(210,20,112,.07) 78%,rgba(255,213,31,.16)),
		#fff;
	border:1px solid rgba(0,150,74,.14);
	box-shadow:0 28px 80px rgba(18,48,59,.10);
}

.tjp-home-hero::before{
	content:"";
	position:absolute;
	inset:auto auto -120px -80px;
	width:340px;
	height:340px;
	border-radius:50%;
	background:rgba(0,150,74,.07);
	filter:blur(2px);
}

.tjp-home-hero-copy{
	position:relative;
	z-index:2;
	max-width:900px;
}

.tjp-home-hero h1{
	max-width:920px;
	margin:0;
	font-size:clamp(3rem,6.4vw,6.6rem);
	line-height:.95;
	letter-spacing:-.065em;
	color:var(--tjp-ink,#12303b);
}

.tjp-home-hero-copy>p{
	max-width:760px;
	margin:22px 0 0;
	color:var(--tjp-ink-soft,#405760);
	font-size:clamp(1.08rem,1.6vw,1.3rem);
	line-height:1.65;
}

.tjp-home-search{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:10px;
	max-width:790px;
	margin-top:30px;
	padding:9px;
	border:1px solid rgba(18,48,59,.10);
	border-radius:17px;
	background:#fff;
	box-shadow:0 16px 40px rgba(18,48,59,.11);
}

.tjp-home-search label{
	display:grid;
	gap:3px;
	padding:2px 8px;
}

.tjp-home-search label span{
	color:var(--tjp-green-dark,#006f38);
	font-size:.72rem;
	font-weight:850;
	letter-spacing:.05em;
	text-transform:uppercase;
}

.tjp-home-search input{
	min-height:48px;
	padding:6px 0;
	border:0!important;
	outline:0!important;
	box-shadow:none!important;
	background:transparent;
	font:inherit;
	font-size:1.02rem;
	color:var(--tjp-ink,#12303b);
}

.tjp-home-search .tjp-btn{
	min-width:160px;
}

.tjp-home-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:17px;
	color:#7a8c84;
	font-size:.9rem;
	font-weight:750;
}

.tjp-home-actions a{
	color:var(--tjp-green-dark,#006f38);
	text-decoration:none;
}

.tjp-home-visual{
	position:relative;
	min-height:370px;
}

.tjp-home-orbit{
	position:absolute;
	border-radius:50%;
	border:1px solid rgba(0,150,74,.17);
}

.tjp-home-orbit.orbit-one{
	inset:15px 30px 30px 15px;
}

.tjp-home-orbit.orbit-two{
	inset:70px 85px 78px 68px;
	border-color:rgba(210,20,112,.18);
}

.tjp-home-card{
	position:absolute;
	width:min(245px,68%);
	padding:20px;
	border:1px solid rgba(18,48,59,.10);
	border-radius:19px;
	background:rgba(255,255,255,.95);
	box-shadow:0 24px 55px rgba(18,48,59,.13);
	backdrop-filter:blur(8px);
}

.tjp-home-card span{
	display:block;
	margin-bottom:6px;
	color:var(--tjp-ink-soft,#405760);
	font-size:.76rem;
	font-weight:750;
}

.tjp-home-card strong{
	font-size:1.3rem;
	color:var(--tjp-ink,#12303b);
}

.tjp-home-card.mock-one{
	top:70px;
	left:8px;
	transform:rotate(-4deg);
}

.tjp-home-card.mock-two{
	right:0;
	bottom:54px;
	transform:rotate(4deg);
}

.tjp-home-dot{
	position:absolute;
	border-radius:50%;
	box-shadow:0 10px 25px rgba(18,48,59,.12);
}

.tjp-home-dot.dot-green{width:82px;height:82px;right:54px;top:8px;background:var(--tjp-green,#00964a)}
.tjp-home-dot.dot-pink{width:54px;height:54px;left:30%;bottom:14px;background:var(--tjp-pink,#d21470)}
.tjp-home-dot.dot-yellow{width:34px;height:34px;right:18px;top:49%;background:var(--tjp-yellow,#ffd51f)}

.tjp-home-stats{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1px;
	margin:20px 0 54px;
	overflow:hidden;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:18px;
	background:var(--tjp-border,#d8e1dc);
}

.tjp-home-stats>div{
	display:grid;
	gap:4px;
	padding:24px;
	background:#fff;
	text-align:center;
}

.tjp-home-stats strong{
	font-size:clamp(1.5rem,3vw,2.5rem);
	color:var(--tjp-ink,#12303b);
}

.tjp-home-stats span{
	color:var(--tjp-ink-soft,#405760);
	font-size:.84rem;
	font-weight:750;
}

.tjp-home-section{
	margin:0 0 60px;
}

.tjp-home-section-head{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:20px;
}

.tjp-home-section-head h2{
	margin:0;
	font-size:clamp(1.8rem,3vw,3rem);
	line-height:1.05;
	letter-spacing:-.035em;
	color:var(--tjp-ink,#12303b);
}

.tjp-home-section-head>a{
	color:var(--tjp-green-dark,#006f38);
	font-weight:800;
	text-decoration:none;
}

.tjp-category-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
}

.tjp-category-grid>a{
	display:grid;
	gap:7px;
	min-height:128px;
	padding:20px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:16px;
	background:#fff;
	color:var(--tjp-ink,#12303b)!important;
	text-decoration:none!important;
	box-shadow:0 8px 22px rgba(18,48,59,.04);
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.tjp-category-grid>a:hover{
	transform:translateY(-3px);
	border-color:rgba(0,150,74,.45);
	box-shadow:0 16px 34px rgba(18,48,59,.09);
}

.tjp-category-grid strong{
	font-size:1.04rem;
}

.tjp-category-grid span{
	margin-top:auto;
	color:var(--tjp-ink-soft,#405760);
	font-size:.82rem;
	font-weight:700;
}

.tjp-employer-logo-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
}

.tjp-employer-logo-grid>a{
	min-height:120px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:22px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:16px;
	background:#fff;
	color:var(--tjp-ink,#12303b)!important;
	font-weight:800;
	text-align:center;
	text-decoration:none!important;
}

.tjp-employer-logo-grid img{
	max-width:100%;
	max-height:68px;
	width:auto;
	height:auto;
	object-fit:contain;
	filter:saturate(.95);
	transition:transform .18s ease;
}

.tjp-employer-logo-grid>a:hover img{
	transform:scale(1.04);
}

.tjp-home-cta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:34px;
	padding:clamp(28px,5vw,58px);
	border-radius:24px;
	background:
		linear-gradient(110deg,rgba(0,150,74,.13),rgba(210,20,112,.05) 65%,rgba(255,213,31,.13)),
		#fff;
	border:1px solid rgba(0,150,74,.18);
}

.tjp-home-cta h2{
	max-width:820px;
	margin:0;
	font-size:clamp(1.9rem,3.5vw,3.5rem);
	line-height:1.05;
	letter-spacing:-.04em;
}

.tjp-home-cta p{
	max-width:760px;
	margin:12px 0 0;
	color:var(--tjp-ink-soft,#405760);
	line-height:1.6;
}

/* Suche 2.0 */
.tjp-filter-modern{
	display:block;
	padding:14px;
}

.tjp-filter-primary{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
	gap:10px;
	align-items:end;
}

.tjp-filter-primary label{
	padding:8px 11px;
	border:1px solid #dce5e0;
	border-radius:12px;
	background:#fbfcfb;
}

.tjp-filter-primary input{
	border:0!important;
	padding-left:0!important;
	padding-right:0!important;
	background:transparent!important;
	box-shadow:none!important;
}

.tjp-filter-secondary{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr)) minmax(140px,.8fr);
	gap:10px;
	align-items:end;
	margin-top:10px;
	padding-top:10px;
	border-top:1px solid #e7eeea;
}

.tjp-filter-check{
	justify-content:center;
	padding:0 10px;
	border:1px solid #dce5e0;
	border-radius:11px;
	background:#fbfcfb;
}

.tjp-results-bar{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	margin:0 0 18px;
}

.tjp-results-bar>div>strong{
	font-size:1.08rem;
}

.tjp-filter-chips{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:8px;
}

.tjp-filter-chips span{
	padding:5px 8px;
	border-radius:999px;
	background:#edf5f0;
	color:#355249;
	font-size:.74rem;
	font-weight:750;
}

.tjp-filter-chips a{
	padding:5px 2px;
	color:var(--tjp-pink,#d21470)!important;
	font-size:.74rem;
	font-weight:800;
	text-decoration:none!important;
}

.tjp-sort-form label{
	display:flex;
	align-items:center;
	gap:8px;
	color:var(--tjp-ink-soft,#405760);
	font-size:.82rem;
	font-weight:700;
}

.tjp-sort-form select{
	min-height:38px;
	padding:6px 30px 6px 9px;
	border:1px solid #d8e1dc;
	border-radius:9px;
	background:#fff;
	color:var(--tjp-ink,#12303b);
}

/* Job Cards 2.0 */
.tjp-job-card{
	min-height:290px;
	padding:20px;
	border-radius:20px;
}

.tjp-job-card.is-featured{
	border-color:rgba(255,213,31,.65);
	background:linear-gradient(180deg,#fffef8,#fff);
}

.tjp-job-card::before{
	width:4px;
}

.tjp-job-card-top{
	display:flex;
	align-items:flex-start;
	gap:10px;
	min-height:50px;
	margin-bottom:14px;
}

.tjp-company-mark{
	width:48px;
	height:48px;
	flex:0 0 48px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	border:1px solid #e0e8e3;
	border-radius:12px;
	background:#fff;
	color:var(--tjp-green-dark,#006f38);
	font-size:.82rem;
	font-weight:900;
}

.tjp-company-mark img{
	width:100%;
	height:100%;
	object-fit:contain;
	padding:5px;
}

.tjp-job-card-flags{
	display:flex;
	flex-wrap:wrap;
	gap:5px;
	flex:1;
}

.tjp-new-badge,
.tjp-direct-badge{
	display:inline-flex;
	align-items:center;
	padding:5px 8px;
	border-radius:999px;
	font-size:.69rem;
	font-weight:850;
	line-height:1;
}

.tjp-new-badge{
	background:var(--tjp-green-soft,#eaf7f0);
	color:var(--tjp-green-dark,#006f38);
}

.tjp-direct-badge{
	background:#fff0f5;
	color:#941253;
}

.tjp-job-card .tjp-featured{
	position:static;
	margin:0;
}

.tjp-save-form{
	margin:0;
}

.tjp-save-form.is-compact{
	margin-left:auto;
}

.tjp-save-job{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:40px;
	padding:8px 11px;
	border:1px solid #d8e1dc;
	border-radius:10px;
	background:#fff;
	color:var(--tjp-ink,#12303b);
	font:inherit;
	font-size:.82rem;
	font-weight:800;
	cursor:pointer;
}

.tjp-save-form.is-compact .tjp-save-job{
	width:40px;
	padding:0;
	font-size:1.25rem;
}

.tjp-save-job:hover,
.tjp-save-job.is-saved{
	border-color:rgba(210,20,112,.35);
	background:#fff0f5;
	color:var(--tjp-pink,#d21470);
}

.tjp-job-card-company{
	color:var(--tjp-green-dark,#006f38);
	font-size:.8rem;
	font-weight:800;
}

.tjp-job-card h3{
	margin:7px 0 13px;
	padding-right:0;
	font-size:1.25rem;
}

.tjp-job-card-bottom{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	margin-top:auto;
	padding-top:14px;
	border-top:1px solid #edf2ef;
}

.tjp-job-age{
	margin-right:auto;
	color:var(--tjp-ink-soft,#405760);
	font-size:.74rem;
	font-weight:650;
}

.tjp-job-card-bottom .tjp-card-link{
	margin-top:0;
}

.tjp-salary-tag{
	background:#fff8cf!important;
	color:#5a4b00!important;
}

/* Dashboards 2.0 */
.tjp-modern-dashboard-head{
	width:100%;
	max-width:1680px;
	margin:0 auto;
	padding:clamp(24px,4vw,54px) var(--tjp-page-pad,clamp(16px,3vw,48px)) 0;
}

.tjp-dashboard-welcome{
	margin-bottom:18px;
}

.tjp-dashboard-welcome h1{
	margin:0;
	font-size:clamp(2rem,3.5vw,3.5rem);
	line-height:1.02;
	letter-spacing:-.045em;
}

.tjp-dashboard-welcome p{
	margin:10px 0 0;
	color:var(--tjp-ink-soft,#405760);
}

.tjp-kpi-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
}

.tjp-kpi{
	display:grid;
	gap:4px;
	padding:20px;
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:16px;
	background:#fff;
	box-shadow:0 8px 20px rgba(18,48,59,.04);
}

.tjp-kpi strong{
	font-size:clamp(1.6rem,2.6vw,2.5rem);
	line-height:1;
	color:var(--tjp-ink,#12303b);
}

.tjp-kpi span{
	color:var(--tjp-ink-soft,#405760);
	font-size:.8rem;
	font-weight:750;
}

.tjp-kpi.is-accent{
	background:linear-gradient(135deg,#eff9f3,#fff9da);
	border-color:rgba(0,150,74,.18);
}

.tjp-profile-progress{
	margin-top:12px;
	padding:18px 20px;
	border:1px solid rgba(0,150,74,.17);
	border-radius:15px;
	background:#fff;
}

.tjp-profile-progress>div:first-child{
	display:flex;
	justify-content:space-between;
	gap:12px;
	font-size:.86rem;
}

.tjp-progress-track{
	height:8px;
	margin:9px 0;
	overflow:hidden;
	border-radius:999px;
	background:#e8efeb;
}

.tjp-progress-track span{
	display:block;
	height:100%;
	border-radius:999px;
	background:linear-gradient(90deg,var(--tjp-green,#00964a),#34b96e);
}

.tjp-profile-progress>a{
	color:var(--tjp-green-dark,#006f38)!important;
	font-size:.82rem;
	font-weight:800;
	text-decoration:none!important;
}

.tjp-profile-complete{
	color:var(--tjp-green-dark,#006f38);
	font-size:.82rem;
	font-weight:750;
}

.tjp-alert-builder{
	margin:18px 0;
	padding:18px;
	border:1px solid #dce5e0;
	border-radius:14px;
	background:#f8faf9;
}

.tjp-alert-filter-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:10px;
}

.tjp-alert-list{
	display:grid;
	gap:9px;
	margin-top:18px;
}

.tjp-alert-card{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:14px 15px;
	border:1px solid #dce5e0;
	border-radius:12px;
	background:#fff;
}

.tjp-alert-card>div{
	display:grid;
	gap:3px;
}

.tjp-alert-card span{
	color:var(--tjp-ink-soft,#405760);
	font-size:.78rem;
}

.tjp-link-danger{
	border:0;
	background:transparent;
	color:var(--tjp-pink,#d21470);
	font:inherit;
	font-size:.8rem;
	font-weight:800;
	cursor:pointer;
}

.tjp-salary-box{
	padding:18px;
	border:1px solid rgba(0,150,74,.17);
	border-radius:14px;
	background:#f5faf7;
}

.tjp-salary-box>div:first-child{
	display:grid;
	gap:3px;
	margin-bottom:12px;
}

.tjp-salary-box>div:first-child span{
	color:var(--tjp-ink-soft,#405760);
	font-size:.83rem;
}

.tjp-salary-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:10px;
}

.tjp-detail-actions{
	margin-top:18px;
}

.tjp-jobs-management-table .tjp-table-sub{
	margin-top:4px;
	font-size:.75rem;
	font-weight:650;
}

.tjp-sent-files summary{
	cursor:pointer;
	color:var(--tjp-green-dark,#006f38);
	font-size:.8rem;
	font-weight:800;
}

.tjp-sent-files>div{
	display:grid;
	gap:4px;
	margin-top:6px;
}

.tjp-sent-files a{
	font-size:.76rem;
}

.tjp-empty-search{
	padding:36px;
	text-align:center;
}

.tjp-empty-search .tjp-btn{
	margin-top:10px;
}

@media(max-width:1200px){
	.tjp-category-grid,
	.tjp-employer-logo-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.tjp-filter-secondary{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.tjp-alert-filter-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:960px){
	.tjp-home-hero{
		grid-template-columns:1fr;
		min-height:0;
	}

	.tjp-home-visual{
		min-height:300px;
	}

	.tjp-kpi-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.tjp-filter-primary{
		grid-template-columns:1fr 1fr;
	}

	.tjp-filter-primary .tjp-btn{
		grid-column:1/-1;
		width:100%;
	}

	.tjp-salary-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:720px){
	.tjp-home-hero{
		padding:28px 20px;
		border-radius:20px;
	}

	.tjp-home-hero h1{
		font-size:clamp(2.7rem,14vw,4.4rem);
	}

	.tjp-home-search{
		grid-template-columns:1fr;
	}

	.tjp-home-search .tjp-btn{
		width:100%;
	}

	.tjp-home-visual{
		min-height:240px;
	}

	.tjp-home-card{
		width:70%;
		padding:16px;
	}

	.tjp-home-card.mock-one{top:35px}
	.tjp-home-card.mock-two{bottom:30px}

	.tjp-home-stats{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.tjp-category-grid,
	.tjp-employer-logo-grid,
	.tjp-filter-primary,
	.tjp-filter-secondary,
	.tjp-alert-filter-grid,
	.tjp-salary-grid{
		grid-template-columns:1fr;
	}

	.tjp-home-section-head,
	.tjp-results-bar,
	.tjp-home-cta,
	.tjp-alert-card{
		align-items:stretch;
		flex-direction:column;
	}

	.tjp-home-section-head{
		display:flex;
	}

	.tjp-home-cta{
		display:flex;
	}

	.tjp-home-cta .tjp-btn{
		width:100%;
	}

	.tjp-sort-form,
	.tjp-sort-form label,
	.tjp-sort-form select{
		width:100%;
	}

	.tjp-sort-form label{
		align-items:stretch;
		flex-direction:column;
	}

	.tjp-kpi-grid{
		grid-template-columns:1fr 1fr;
	}

	.tjp-modern-dashboard-head{
		padding-left:14px;
		padding-right:14px;
	}

	.tjp-job-card{
		min-height:0;
	}

	.tjp-job-card-bottom{
		align-items:flex-start;
	}

	.tjp-job-card-bottom .tjp-card-link{
		width:100%;
	}
}

@media(max-width:460px){
	.tjp-home-stats,
	.tjp-kpi-grid{
		grid-template-columns:1fr;
	}

	.tjp-home-visual{
		min-height:210px;
	}

	.tjp-home-dot.dot-green{width:58px;height:58px}
	.tjp-home-dot.dot-pink{width:40px;height:40px}

	.tjp-home-card{
		width:78%;
	}

	.tjp-home-section{
		margin-bottom:42px;
	}
}

.tjp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}


/* =========================================================================
   Startseiten-Builder 2.1
   ========================================================================= */

.tjp-home-hero.has-custom-image{
	grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
}

.tjp-home-hero-media{
	position:relative;
	min-height:420px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.tjp-home-hero-media img{
	position:relative;
	z-index:2;
	display:block;
	width:100%;
	height:100%;
	max-height:480px;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:24px;
	box-shadow:0 26px 60px rgba(18,48,59,.16);
}

.tjp-home-hero-media-accent{
	position:absolute;
	z-index:1;
	border-radius:28px;
}

.tjp-home-hero-media-accent.accent-one{
	width:46%;
	height:42%;
	right:-16px;
	top:-14px;
	background:rgba(255,213,31,.46);
	transform:rotate(7deg);
}

.tjp-home-hero-media-accent.accent-two{
	width:40%;
	height:34%;
	left:-18px;
	bottom:-10px;
	background:rgba(210,20,112,.12);
	transform:rotate(-8deg);
}

.tjp-custom-home-block{
	position:relative;
	overflow:hidden;
	margin:0 0 60px;
	padding:clamp(28px,5vw,64px);
	border:1px solid var(--tjp-border,#d8e1dc);
	border-radius:24px;
	background:#fff;
	box-shadow:0 18px 52px rgba(18,48,59,.055);
}

.tjp-custom-home-block h2{
	max-width:950px;
	margin:0;
	font-size:clamp(1.9rem,3.5vw,3.7rem);
	line-height:1.04;
	letter-spacing:-.045em;
	color:var(--tjp-ink,#12303b);
}

.tjp-custom-home-text{
	max-width:840px;
	margin-top:16px;
	color:var(--tjp-ink-soft,#405760);
	font-size:clamp(1rem,1.3vw,1.15rem);
	line-height:1.75;
}

.tjp-custom-home-text p{
	margin:0 0 12px;
}

.tjp-custom-home-button{
	margin-top:22px;
}

.tjp-custom-home-button.is-centered{
	display:flex;
	justify-content:center;
}

.tjp-custom-home-story{
	position:relative;
	z-index:2;
	max-width:1050px;
}

.tjp-custom-home-type-text{
	background:
		radial-gradient(circle at 92% 20%,rgba(0,150,74,.08),transparent 28%),
		linear-gradient(135deg,#fff,#f7fbf8);
}

.tjp-custom-home-type-text::after{
	content:"";
	position:absolute;
	right:-42px;
	bottom:-42px;
	width:150px;
	height:150px;
	border-radius:50%;
	background:rgba(255,213,31,.18);
}

.tjp-custom-home-image-text{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
	gap:clamp(28px,5vw,70px);
	align-items:center;
}

.tjp-custom-home-media img{
	display:block;
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:20px;
	box-shadow:0 22px 50px rgba(18,48,59,.12);
}

.tjp-custom-home-placeholder{
	min-height:320px;
	display:flex;
	align-items:flex-end;
	justify-content:center;
	gap:12px;
	padding:30px;
	border-radius:20px;
	background:
		linear-gradient(140deg,rgba(0,150,74,.10),rgba(210,20,112,.06) 60%,rgba(255,213,31,.20)),
		#f6faf8;
}

.tjp-custom-home-placeholder span{
	width:42px;
	border-radius:999px;
}

.tjp-custom-home-placeholder span:nth-child(1){height:48%;background:var(--tjp-green,#00964a)}
.tjp-custom-home-placeholder span:nth-child(2){height:78%;background:var(--tjp-pink,#d21470)}
.tjp-custom-home-placeholder span:nth-child(3){height:36%;background:var(--tjp-yellow,#ffd51f)}

.tjp-custom-home-centered{
	max-width:900px;
	margin:0 auto 24px;
	text-align:center;
}

.tjp-custom-home-centered .tjp-custom-home-text{
	margin-left:auto;
	margin-right:auto;
}

.tjp-custom-home-cards{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
	margin-top:28px;
}

.tjp-custom-home-cards article{
	min-height:220px;
	display:flex;
	flex-direction:column;
	padding:24px;
	border:1px solid #dce5e0;
	border-radius:18px;
	background:
		linear-gradient(180deg,#fff,#f8faf9);
	box-shadow:0 10px 28px rgba(18,48,59,.045);
}

.tjp-custom-home-card-number{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	margin-bottom:26px;
	border-radius:12px;
	background:#eaf7f0;
	color:var(--tjp-green-dark,#006f38);
	font-size:.82rem;
	font-weight:900;
}

.tjp-custom-home-cards article:nth-child(2) .tjp-custom-home-card-number{
	background:#fff0f5;
	color:var(--tjp-pink,#d21470);
}

.tjp-custom-home-cards article:nth-child(3) .tjp-custom-home-card-number{
	background:#fff8cf;
	color:#6a5900;
}

.tjp-custom-home-cards h3{
	margin:0 0 9px;
	font-size:1.2rem;
	color:var(--tjp-ink,#12303b);
}

.tjp-custom-home-cards p{
	margin:0;
	color:var(--tjp-ink-soft,#405760);
	line-height:1.65;
}

.tjp-custom-home-type-cta{
	background:
		radial-gradient(circle at 88% 25%,rgba(255,213,31,.26),transparent 28%),
		linear-gradient(120deg,rgba(0,150,74,.12),rgba(210,20,112,.045)),
		#fff;
	border-color:rgba(0,150,74,.18);
}

.tjp-custom-home-cta-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:34px;
}

.tjp-custom-home-cta-inner>div{
	max-width:920px;
}

.tjp-custom-home-type-quote{
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	gap:30px;
	align-items:start;
	background:#12303b;
	border-color:#12303b;
	color:#fff;
}

.tjp-custom-home-type-quote .tjp-eyebrow{
	color:#9be0b9;
}

.tjp-custom-home-quote-mark{
	margin-top:-14px;
	color:var(--tjp-yellow,#ffd51f);
	font-family:Georgia,serif;
	font-size:clamp(5rem,11vw,10rem);
	line-height:.8;
}

.tjp-custom-home-type-quote blockquote{
	max-width:1000px;
	margin:0 0 18px;
	color:#fff;
	font-size:clamp(1.5rem,3vw,3rem);
	font-weight:750;
	line-height:1.15;
	letter-spacing:-.025em;
}

.tjp-custom-home-quote-copy>strong{
	display:block;
	margin-bottom:20px;
	color:#dfeae5;
}

@media(max-width:960px){
	.tjp-home-hero.has-custom-image,
	.tjp-custom-home-image-text{
		grid-template-columns:1fr;
	}

	.tjp-home-hero-media{
		min-height:0;
	}

	.tjp-home-hero-media img{
		max-height:420px;
	}

	.tjp-custom-home-cards{
		grid-template-columns:1fr;
	}

	.tjp-custom-home-cards article{
		min-height:0;
	}

	.tjp-custom-home-cta-inner{
		align-items:flex-start;
		flex-direction:column;
	}
}

@media(max-width:680px){
	.tjp-custom-home-block{
		margin-bottom:42px;
		padding:24px 18px;
		border-radius:18px;
	}

	.tjp-home-hero-media img{
		border-radius:18px;
	}

	.tjp-custom-home-type-quote{
		grid-template-columns:1fr;
		gap:5px;
	}

	.tjp-custom-home-quote-mark{
		font-size:5rem;
	}
}


.tjp-custom-home-stats{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
	margin-top:28px;
}

.tjp-custom-home-stats>div{
	display:grid;
	gap:6px;
	padding:28px 22px;
	border:1px solid rgba(0,150,74,.15);
	border-radius:18px;
	background:linear-gradient(145deg,#f3faf6,#fff);
	text-align:center;
}

.tjp-custom-home-stats strong{
	font-size:clamp(2rem,4vw,4rem);
	line-height:1;
	letter-spacing:-.05em;
	color:var(--tjp-green-dark,#006f38);
}

.tjp-custom-home-stats span{
	color:var(--tjp-ink-soft,#405760);
	font-size:.86rem;
	font-weight:750;
}

.tjp-custom-home-faq{
	max-width:980px;
	display:grid;
	gap:10px;
	margin:28px auto 0;
}

.tjp-custom-home-faq details{
	overflow:hidden;
	border:1px solid #dce5e0;
	border-radius:14px;
	background:#fff;
}

.tjp-custom-home-faq summary{
	position:relative;
	padding:18px 52px 18px 18px;
	color:var(--tjp-ink,#12303b);
	font-weight:850;
	cursor:pointer;
	list-style:none;
}

.tjp-custom-home-faq summary::-webkit-details-marker{
	display:none;
}

.tjp-custom-home-faq summary::after{
	content:"+";
	position:absolute;
	right:18px;
	top:50%;
	transform:translateY(-50%);
	color:var(--tjp-green,#00964a);
	font-size:1.5rem;
	font-weight:500;
}

.tjp-custom-home-faq details[open] summary::after{
	content:"–";
}

.tjp-custom-home-faq details>div{
	padding:0 18px 18px;
	color:var(--tjp-ink-soft,#405760);
	line-height:1.7;
}

.tjp-custom-home-faq details>div p{
	margin:0;
}

@media(max-width:760px){
	.tjp-custom-home-stats{
		grid-template-columns:1fr;
	}
}


/* =========================================================================
   Externe Bewerbungswege 2.1.1
   ========================================================================= */

.tjp-application-route{
	display:grid;
	gap:14px;
	padding:18px;
	border:1px solid rgba(0,150,74,.17);
	border-radius:16px;
	background:linear-gradient(180deg,#fbfdfc,#f5faf7);
}

.tjp-application-route-head{
	display:grid;
	gap:4px;
}

.tjp-application-route-head>strong{
	color:var(--tjp-ink,#12303b);
	font-size:1rem;
}

.tjp-application-route-head>span{
	color:var(--tjp-ink-soft,#405760);
	font-size:.84rem;
	line-height:1.5;
}

.tjp-application-route-options{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
}

.tjp-route-option{
	display:flex!important;
	flex-direction:row!important;
	align-items:flex-start!important;
	gap:10px!important;
	min-height:118px;
	margin:0!important;
	padding:14px;
	border:1px solid #d8e1dc;
	border-radius:13px;
	background:#fff;
	cursor:pointer;
	transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.tjp-route-option:hover,
.tjp-route-option.is-selected{
	border-color:rgba(0,150,74,.5);
	box-shadow:0 8px 20px rgba(18,48,59,.07);
	transform:translateY(-1px);
}

.tjp-route-option input{
	width:auto!important;
	min-height:0!important;
	margin-top:3px;
	flex:0 0 auto;
}

.tjp-route-option>span{
	display:grid;
	gap:5px;
}

.tjp-route-option strong{
	color:var(--tjp-ink,#12303b);
	font-size:.9rem;
}

.tjp-route-option small{
	color:var(--tjp-ink-soft,#405760);
	font-size:.76rem;
	font-weight:500;
	line-height:1.45;
}

.tjp-route-fields{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	padding:14px;
	border:1px dashed #c9d9d0;
	border-radius:12px;
	background:#fff;
}

.tjp-route-fields[hidden]{
	display:none!important;
}

.tjp-external-badge,
.tjp-external-card-badge,
.tjp-email-card-badge{
	display:inline-flex;
	align-items:center;
	width:max-content;
	padding:5px 8px;
	border-radius:999px;
	font-size:.69rem;
	font-weight:850;
	line-height:1;
}

.tjp-external-badge,
.tjp-external-card-badge{
	background:#eef3ff;
	color:#304c96;
}

.tjp-email-card-badge{
	background:#f1f3f4;
	color:#44535b;
}

.tjp-external-apply-note{
	display:grid;
	gap:9px;
	margin-bottom:14px;
}

.tjp-external-apply-note p{
	margin:0;
	color:var(--tjp-ink-soft,#405760);
	font-size:.9rem;
	line-height:1.55;
}

.tjp-external-apply-button{
	background:var(--tjp-green,#00964a);
}

@media(max-width:900px){
	.tjp-application-route-options{
		grid-template-columns:1fr;
	}

	.tjp-route-option{
		min-height:0;
	}

	.tjp-route-fields{
		grid-template-columns:1fr;
	}
}
