/* ===================================
   Karriere Seiten - Archive & Single Job
   =================================== */

/* ===================================
   Hero Section (Archive & Single)
   =================================== */
   .karriere-hero,
   .job-hero {
       position: relative;
       min-height: 60vh;
       display: flex;
       align-items: center;
       overflow: hidden;
   }
   
   .karriere-hero-bg,
   .job-hero-bg {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       z-index: 0;
   }
   
   .karriere-hero-bg img,
   .job-hero-bg img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }
   
   .karriere-hero-overlay,
   .job-hero-overlay {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 100%);
   }
   
   .karriere-hero-content,
   .job-hero-content {
       position: relative;
       z-index: 1;
       max-width: 700px;
       color: var(--color-white);
       padding: 6rem 0;
   }
   
   .karriere-hero-title,
   .job-hero-title {
       font-size: clamp(2rem, 5vw, 3.5rem);
       font-weight: 700;
       line-height: 1.2;
       margin-bottom: 1.5rem;
       color: var(--color-white);
   }
   
   .karriere-hero-text,
   .job-hero-text {
       font-size: 1.125rem;
       line-height: 1.7;
       margin-bottom: 2rem;
       opacity: 0.9;
   }
   
   .job-back-link {
       display: inline-flex;
       align-items: center;
       gap: 0.5rem;
       color: var(--color-white);
       text-decoration: none;
       font-size: 0.9375rem;
       margin-bottom: 1rem;
       opacity: 0.8;
       transition: opacity 0.3s ease;
   }
   
   .job-back-link:hover {
       opacity: 1;
   }
   
   .job-hero-meta {
       display: flex;
       flex-wrap: wrap;
       gap: 1.5rem;
       margin-bottom: 1.5rem;
   }
   
   .job-meta-item {
       display: inline-flex;
       align-items: center;
       gap: 0.5rem;
       font-size: 0.9375rem;
       opacity: 0.9;
   }
   
   .btn-hero {
       padding: 1rem 2rem;
       font-size: 1rem;
   }
   
   /* Jetzt bewerben Button - dunkelgrau */
   .btn-job-apply {
       display: inline-flex;
       align-items: center;
       gap: 0.5rem;
       padding: 1rem 2rem;
       background-color: #ff8300;
       color: var(--color-white);
       text-decoration: none;
       border-radius: 0.5rem;
       font-weight: 600;
       font-size: 1rem;
       transition: all 0.3s ease;
       border: none;
       cursor: pointer;
   }
   
   .btn-job-apply:hover {
       background-color: #7400ff;
       transform: translateY(-2px);
   }
   
   /* ===================================
      Benefits Section (Archive)
      =================================== */
   .karriere-benefits {
       padding: 6rem 0;
       background-color: var(--color-gray-50);
   }
   
   .karriere-benefits-header {
       text-align: center;
       max-width: 700px;
       margin: 0 auto 4rem;
   }
   
   .karriere-benefits-title {
       font-size: clamp(1.75rem, 4vw, 2.5rem);
       font-weight: 700;
       margin-bottom: 1rem;
       color: var(--color-gray-900);
   }
   
   .karriere-benefits-subtitle {
       font-size: 1.125rem;
       color: var(--color-gray-600);
       line-height: 1.6;
   }
   
   .karriere-benefits-grid {
       display: grid;
       grid-template-columns: repeat(3, 1fr);
       gap: 2rem;
   }
   
   .benefit-card {
       background-color: var(--color-white);
       padding: 2rem;
       border-radius: 1rem;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
       transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .benefit-card:hover {
       transform: translateY(-5px);
       box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
   }
   
   .benefit-icon {
       width: 64px;
       height: 64px;
       background-color: var(--color-white);
       border: 2px solid var(--color-primary);
       border-radius: 1rem;
       display: flex;
       align-items: center;
       justify-content: center;
       margin-bottom: 1.5rem;
       color: var(--color-primary);
       transition: background-color 0.3s ease, color 0.3s ease;
   }
   
   .benefit-card:hover .benefit-icon {
       background-color: var(--color-primary);
       color: var(--color-white);
   }
   
   .benefit-title {
       font-size: 1.25rem;
       font-weight: 600;
       margin-bottom: 0.75rem;
       color: var(--color-gray-900);
   }
   
   .benefit-text {
       font-size: 0.9375rem;
       color: var(--color-gray-600);
       line-height: 1.6;
   }
   
   /* ===================================
      Jobs Section (Archive)
      =================================== */
   .karriere-jobs {
       padding: 6rem 0;
   }

   /* Frontpage Variante - weniger Padding */
   .karriere-jobs-frontpage {
       padding: 0;
   }
   
   .karriere-jobs-header {
       text-align: center;
       max-width: 700px;
       margin: 0 auto 4rem;
   }

   /* CTA Button Container */
   .karriere-jobs-cta {
       text-align: center;
       margin-top: 2rem;
   }
   
   .karriere-jobs-title {
       font-size: clamp(1.75rem, 4vw, 2.5rem);
       font-weight: 700;
       margin-bottom: 1rem;
       color: var(--color-gray-900);
   }
   
   .karriere-jobs-subtitle {
       font-size: 1.125rem;
       color: var(--color-gray-600);
       line-height: 1.6;
   }
   
   .karriere-jobs-grid {
       display: flex;
       flex-direction: column;
       gap: 1.5rem;
   }
   
   .job-card {
       display: flex;
       background-color: var(--color-white);
       border-radius: 1rem;
       overflow: hidden;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
       border: 1px solid var(--color-gray-200);
       transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .job-card:hover {
       transform: translateY(-3px);
       box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
   }
   
   .job-card-content {
       flex: 1;
       padding: 2rem;
       display: flex;
       flex-direction: column;
   }
   
   .job-card-meta {
       display: flex;
       flex-wrap: wrap;
       gap: 1rem;
       margin-bottom: 1rem;
   }
   
   .job-card-meta .job-meta-item {
       font-size: 0.875rem;
       color: var(--color-gray-500);
   }
   
   .job-card-meta .job-meta-item svg {
       width: 16px;
       height: 16px;
   }
   
   .job-card-title {
       font-size: 1.5rem;
       font-weight: 600;
       margin-bottom: 0.75rem;
       color: var(--color-gray-900);
   }
   
   .job-card-title a {
       color: inherit;
       text-decoration: none;
       transition: color 0.3s ease;
   }
   
   .job-card-title a:hover {
       color: var(--color-primary);
   }
   
   .job-card-excerpt {
       font-size: 0.9375rem;
       color: var(--color-gray-600);
       line-height: 1.6;
       margin-bottom: 1.5rem;
       flex-grow: 1;
   }
   
   .btn-job-outline {
       display: inline-flex;
       align-items: center;
       gap: 0.5rem;
       padding: 0.75rem 1.5rem;
       border: 2px solid var(--color-primary);
       color: var(--color-primary);
       text-decoration: none;
       border-radius: 0.5rem;
       font-weight: 500;
       transition: all 0.3s ease;
       width: fit-content;
   }
   
   .btn-job-outline:hover {
       background-color: var(--color-primary);
       color: var(--color-white);
   }
   
   .job-card-image {
       width: 300px;
       flex-shrink: 0;
   }
   
   .job-card-image img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }
   
   /* No Jobs Message */
   .no-jobs-message {
       text-align: center;
       padding: 4rem 2rem;
       background-color: var(--color-gray-50);
       border-radius: 1rem;
   }
   
   .no-jobs-message svg {
       color: var(--color-gray-400);
       margin-bottom: 1.5rem;
   }
   
   .no-jobs-message h3 {
       font-size: 1.5rem;
       margin-bottom: 1rem;
       color: var(--color-gray-900);
   }
   
   .no-jobs-message p {
       color: var(--color-gray-600);
       margin-bottom: 2rem;
       max-width: 500px;
       margin-left: auto;
       margin-right: auto;
   }
   
   /* ===================================
      Mission Section (Archive)
      =================================== */
   .karriere-mission {
       padding: 6rem 0;
       background-color: var(--color-gray-900);
       color: var(--color-white);
   }
   
   .karriere-mission-grid {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 4rem;
       align-items: center;
   }
   
   .karriere-mission-title {
       font-size: clamp(1.75rem, 4vw, 2.5rem);
       font-weight: 700;
       margin-bottom: 1.5rem;
       color: var(--color-white);
   }
   
   .karriere-mission-text {
       font-size: 1.125rem;
       line-height: 1.7;
       margin-bottom: 2rem;
       opacity: 0.9;
   }
   
   .karriere-mission-list {
       list-style: none;
       padding: 0;
       margin: 0;
   }
   
   .karriere-mission-list li {
       display: flex;
       align-items: center;
       gap: 1rem;
       padding: 0.75rem 0;
       border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   }
   
   .karriere-mission-list li:last-child {
       border-bottom: none;
   }
   
   .karriere-mission-list svg {
       flex-shrink: 0;
       color: var(--color-primary);
   }
   
   .karriere-mission-image {
       border-radius: 1rem;
       overflow: hidden;
   }
   
   .karriere-mission-image img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }
   
   /* ===================================
      Job Details Section (Single)
      =================================== */
   .job-details {
       padding: 6rem 0;
       background-color: var(--color-gray-50);
   }
   
   .job-details-grid {
       display: grid;
       grid-template-columns: repeat(3, 1fr);
       gap: 2rem;
   }
   
   .job-detail-card {
       background-color: var(--color-white);
       padding: 2rem;
       border-radius: 1rem;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
   }
   
   .job-detail-card-highlight {
       background-color: var(--color-primary);
       color: var(--color-white);
   }
   
   .job-detail-card-highlight .job-detail-icon {
       background-color: rgba(255, 255, 255, 0.2);
       color: var(--color-white);
   }
   
   .job-detail-card-highlight .job-detail-title {
       color: var(--color-white);
   }
   
   .job-detail-card-highlight .job-detail-list li span {
       color: var(--color-white);
   }
   
   .job-detail-card-highlight .job-detail-list svg {
       color: var(--color-white);
   }
   
   .job-detail-header {
       display: flex;
       align-items: center;
       gap: 1rem;
       margin-bottom: 1.5rem;
   }
   
   .job-detail-icon {
       width: 56px;
       height: 56px;
       background-color: var(--color-white);
       border: 2px solid var(--color-primary);
       border-radius: 0.75rem;
       display: flex;
       align-items: center;
       justify-content: center;
       flex-shrink: 0;
       color: var(--color-primary);
       transition: background-color 0.3s ease, color 0.3s ease;
   }
   
   .job-detail-card:hover .job-detail-icon {
       background-color: var(--color-primary);
       color: var(--color-white);
   }
   
   .job-detail-title {
       font-size: 1.25rem;
       font-weight: 600;
       color: var(--color-gray-900);
       margin: 0;
   }
   
   .job-detail-list {
       list-style: none;
       padding: 0;
       margin: 0;
   }
   
   .job-detail-list li {
       display: flex;
       align-items: flex-start;
       gap: 0.75rem;
       padding: 0.75rem 0;
       border-bottom: 1px solid var(--color-gray-100);
   }
   
   .job-detail-card-highlight .job-detail-list li {
       border-bottom-color: rgba(255, 255, 255, 0.2);
   }
   
   .job-detail-list li:last-child {
       border-bottom: none;
   }
   
   .job-detail-list svg {
       flex-shrink: 0;
       margin-top: 2px;
       color: var(--color-primary);
   }
   
   .job-detail-list li span {
       font-size: 0.9375rem;
       color: var(--color-gray-700);
       line-height: 1.5;
   }
   
   /* ===================================
      Job Description Section (Single)
      =================================== */
   .job-description {
       padding: 4rem 0;
   }
   
   .job-description-content {
       max-width: 800px;
       margin: 0 auto;
   }
   
   .job-description-content h2 {
       font-size: 1.75rem;
       font-weight: 700;
       margin-bottom: 1rem;
       margin-top: 2.5rem;
       color: var(--color-gray-900);
       padding-bottom: 0.75rem;
       border-bottom: 3px solid var(--color-primary);
       display: inline-block;
   }
   
   .job-description-content h2:first-child {
       margin-top: 0;
   }
   
   .job-description-content h3 {
       font-size: 1.375rem;
       font-weight: 600;
       margin-bottom: 1rem;
       margin-top: 2rem;
       color: var(--color-gray-800);
       position: relative;
       padding-left: 1rem;
   }
   
   .job-description-content h3::before {
       content: '';
       position: absolute;
       left: 0;
       top: 0.2em;
       bottom: 0.2em;
       width: 4px;
       background-color: var(--color-primary);
       border-radius: 2px;
   }
   
   .job-description-content p {
       font-size: 1rem;
       line-height: 1.8;
       color: var(--color-gray-700);
       margin-bottom: 1.5rem;
   }
   
   /* Grüne Haken für Listen im Job Content */
   .job-description-content ul {
       list-style: none;
       padding: 0;
       margin: 0 0 2rem 0;
   }
   
   .job-description-content ul li {
       position: relative;
       padding-left: 2rem;
       padding-top: 0.5rem;
       padding-bottom: 0.5rem;
       font-size: 1rem;
       line-height: 1.6;
       color: var(--color-gray-700);
       border-bottom: 1px solid var(--color-gray-100);
   }
   
   .job-description-content ul li:last-child {
       border-bottom: none;
   }
   
   .job-description-content ul li::before {
       content: '';
       position: absolute;
       left: 0;
       top: 0.75rem;
       width: 20px;
       height: 20px;
       background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237cb342' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
       background-size: contain;
       background-repeat: no-repeat;
   }
   
   /* ===================================
      Job CTA Section (Single)
      =================================== */
   .job-cta {
       padding: 4rem 0;
       background-color: var(--color-primary);
       color: var(--color-white);
   }
   
   .job-cta-content {
       text-align: center;
       max-width: 600px;
       margin: 0 auto;
   }
   
   .job-cta-title {
       font-size: clamp(1.5rem, 4vw, 2rem);
       font-weight: 700;
       margin-bottom: 1rem;
       color: var(--color-white);
   }
   
   .job-cta-text {
       font-size: 1.125rem;
       margin-bottom: 2rem;
       opacity: 0.9;
   }
   
   .job-cta-buttons {
       display: flex;
       justify-content: center;
       gap: 1rem;
       flex-wrap: wrap;
   }
   
   .btn-outline-white {
       display: inline-flex;
       align-items: center;
       gap: 0.5rem;
       padding: 0.875rem 1.5rem;
       border: 2px solid var(--color-white);
       color: var(--color-white);
       text-decoration: none;
       border-radius: 0.5rem;
       font-weight: 500;
       transition: all 0.3s ease;
       background: transparent;
   }
   
   .btn-outline-white:hover {
       background-color: var(--color-white);
       color: var(--color-primary);
   }
   
   /* ===================================
      Bewerbungsformular Section
      =================================== */
   .bewerbung-section {
       padding: 6rem 0;
       background-color: var(--color-gray-50);
   }
   
   .bewerbung-wrapper {
       max-width: 800px;
       margin: 0 auto;
   }
   
   .bewerbung-header {
       text-align: center;
       margin-bottom: 3rem;
   }
   
   .bewerbung-title {
       font-size: clamp(1.75rem, 4vw, 2.5rem);
       font-weight: 700;
       margin-bottom: 1rem;
       color: var(--color-gray-900);
   }
   
   .bewerbung-subtitle {
       font-size: 1.125rem;
       color: var(--color-gray-600);
       line-height: 1.6;
   }
   
   .bewerbung-form {
       background-color: var(--color-white);
       padding: 3rem;
       border-radius: 1rem;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
   }
   
   .form-row {
       margin-bottom: 1.5rem;
   }
   
   .form-row:last-child {
       margin-bottom: 0;
   }
   
   .form-row-2 {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 1.5rem;
   }
   
   .form-group label {
       display: block;
       font-size: 0.9375rem;
       font-weight: 500;
       color: var(--color-gray-700);
       margin-bottom: 0.5rem;
   }
   
   .form-group input[type="text"],
   .form-group input[type="email"],
   .form-group input[type="tel"],
   .form-group select,
   .form-group textarea {
       width: 100%;
       padding: 0.875rem 1rem;
       border: 1px solid var(--color-gray-300);
       border-radius: 0.5rem;
       font-size: 1rem;
       transition: border-color 0.3s ease, box-shadow 0.3s ease;
   }
   
   .form-group input:focus,
   .form-group select:focus,
   .form-group textarea:focus {
       outline: none;
       border-color: var(--color-primary);
       box-shadow: 0 0 0 3px rgba(124, 179, 66, 0.1);
   }
   
   .form-group textarea {
       resize: vertical;
       min-height: 120px;
   }
   
   .form-group-plz-ort {
       display: grid;
       grid-template-columns: 120px 1fr;
       gap: 1rem;
   }
   
   .form-group-checkbox {
       display: flex;
       align-items: flex-start;
       gap: 0.75rem;
   }
   
   .form-group-checkbox input[type="checkbox"] {
       width: 20px;
       height: 20px;
       margin-top: 2px;
       flex-shrink: 0;
       accent-color: var(--color-primary);
   }
   
   .form-group-checkbox label {
       font-size: 0.875rem;
       color: var(--color-gray-600);
       line-height: 1.5;
       margin-bottom: 0;
   }
   
   .form-group-checkbox label a {
       color: var(--color-primary);
       text-decoration: underline;
   }
   
   .btn-bewerbung {
       width: 100%;
       padding: 1rem;
       font-size: 1rem;
       font-weight: 600;
   }
   
   /* ===================================
      Section Badge
      =================================== */
   .section-badge {
       display: inline-block;
       padding: 0.5rem 1rem;
       background-color: var(--color-primary);
       color: var(--color-white);
       font-size: 0.875rem;
       font-weight: 500;
       border-radius: 2rem;
       margin-bottom: 1rem;
   }
   
   .karriere-hero .section-badge,
   .job-hero .section-badge {
       background-color: rgba(255, 255, 255, 0.2);
   }
   
   /* ===================================
      Responsive Design
      =================================== */
   @media (max-width: 1024px) {
       .karriere-benefits-grid {
           grid-template-columns: repeat(2, 1fr);
       }
       
       .job-details-grid {
           grid-template-columns: 1fr;
       }
       
       .karriere-mission-grid {
           grid-template-columns: 1fr;
           gap: 3rem;
       }
       
       .karriere-mission-image {
           order: -1;
       }
   }
   
   @media (max-width: 768px) {
       .karriere-hero,
       .job-hero {
           min-height: 50vh;
       }
       
       .karriere-hero-content,
       .job-hero-content {
           padding: 4rem 0;
       }
       
       .karriere-benefits,
       .karriere-jobs,
       .karriere-mission,
       .job-details,
       .bewerbung-section {
           padding: 4rem 0;
       }
       
       .karriere-benefits-grid {
           grid-template-columns: 1fr;
       }
       
       .job-card {
           flex-direction: column-reverse;
       }
       
       .job-card-image {
           width: 100%;
           height: 200px;
       }
       
       .form-row-2 {
           grid-template-columns: 1fr;
       }
       
       .form-group-plz-ort {
           grid-template-columns: 1fr;
       }
       
       .bewerbung-form {
           padding: 2rem 1.5rem;
       }
       
       .job-cta-buttons {
           flex-direction: column;
       }
       
       .job-hero-meta {
           flex-direction: column;
           gap: 0.75rem;
       }
   }
