/* ============================================
   RESPONSIVE.CSS – Zentrale Media Queries
   Alle Breakpoints für die gesamte Website.
   ============================================ */


/* ============================================
   1. BREAKPOINT: 1200px (Große Desktops)
   ============================================ */
@media (max-width: 1200px) {

  /* 1.1 Zitate */
  .zitate-section::before {
    width: 100%;
    left: 0;
    transform: none;
  }
  .zitate-section .container {
    max-width: 90%;
  }
}


/* ============================================
   2. BREAKPOINT: 1000px (Navigation)
   ============================================ */
@media (max-width: 1000px) {

  /* 2.1 Header & Navigation */
  .header-inner {
    max-width: 90%;
    padding: 0 var(--spacing-sm);
  }
  .nav-list {
    gap: var(--spacing-md);
  }
  .nav-list a {
    font-size: 15px;
    letter-spacing: 1px;
    padding: 0.3rem 0 0.4rem 0;
  }
  .nav-submenu a {
    padding: var(--spacing-sm) var(--spacing-lg);
    font-size: 0.9375rem;
  }
  .nav-submenu {
    padding: var(--spacing-sm) 0;
  }
}


/* ============================================
   3. BREAKPOINT: 992px (Tablet groß / kleiner Desktop)
   ============================================ */
@media (max-width: 992px) {

  /* 3.1 Hero */
  .hero-grid,
  .hero-case .hero-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hero-content,
  .hero-case .hero-content {
    order: 2;
  }
  .hero-media,
  .hero-case .hero-media {
    order: 1;
    justify-content: center;
    margin-bottom: var(--spacing-lg);
    margin-right: 0;
    width: 100%;
  }
  .hero-text,
  .hero-case .hero-text {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .hero-img,
  .hero-case .hero-img {
    max-width: 100%;
    border-radius: var(--border-radius-lg);
    margin: 0 auto;
    width: 100%;
  }

  /* 3.2 Cases Grid (Startseite) */
  .case-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
  }
  .cases-grid-full {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
  }

  /* 3.3 About */
  .about-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .about-image {
    order: 1;
    justify-content: center;
    margin-bottom: var(--spacing-lg);
  }
  .about-image img {
    max-width: 80%;
  }
  .about-text {
    order: 2;
  }

  /* 3.4 Kontakt (Visitenkarte) */
  .kontakt-wrapper {
    flex-direction: column;
    gap: 2em;
    padding: 0 var(--spacing-md);
  }
  .kontakt-left {
    flex: 0 0 100%;
    width: 100%;
    border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
    align-items: center;
    text-align: center;
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
  }
  .kontakt-left .kontakt-title {
    max-width: 100%;
  }
  .kontakt-right {
    flex: 0 0 100%;
    width: 100%;
    border-radius: var(--border-radius-lg);
    align-items: center;
    text-align: center;
    margin-right: 0;
  }
  .kontakt-img {
    margin: 0 auto;
  }

  /* 3.5 Footer */
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-links {
    grid-template-columns: 1fr 1fr;
  }

  /* 3.6 Case Items (referenzen.html) */
  .case-item {
    width: 85%;
  }
  .case-item-center {
    width: 85%;
  }

  /* 3.7 Text Section */
  .text-section-card-width .text-section-content {
    max-width: 85%;
  }

  /* 3.8 Skills */
  .skills-content {
    max-width: 90%;
    padding: var(--spacing-lg);
  }

  /* 3.9 Expertise */
  .expertise-content {
    max-width: 90%;
    padding: var(--spacing-lg);
  }
  .expertise-grid-3 {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
  }

  /* 3.10 Contact Formular */
  .contact-content {
    max-width: 90%;
    padding: var(--spacing-lg);
  }

  /* 3.11 CV Section */
  .cv-content {
    max-width: 90%;
    padding: var(--spacing-lg);
  }

  /* 3.12 Carousel (Bilder) */
  .carousel-section .container {
    max-width: 90%;
  }
  .image-carousel-slide {
    flex: 0 0 50%;
    min-width: 50%;
  }
  #foto-radio-2:checked ~ .image-carousel-wrapper .image-carousel-track {
    transform: translateX(-50%);
  }
  #foto-radio-3:checked ~ .image-carousel-wrapper .image-carousel-track {
    transform: translateX(-100%);
  }
}


/* ============================================
   4. BREAKPOINT: 768px (Tablet)
   ============================================ */
@media (max-width: 768px) {

  /* 4.1 Allgemein Container */
  .header-inner,
  .hero-grid,
  .cases-section .container,
  .cases-grid-section .container,
  .footer-grid,
  .footer-bottom {
    max-width: 100%;
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
  }

  /* 4.2 Navigation (Mobile) */
  .burger {
    display: flex;
  }
  .nav-list {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    right: auto !important;
    width: 80% !important;
    max-width: 400px !important;
    height: 100vh !important;
    background: var(--color-white) !important;
    flex-direction: column !important;
    padding: 80px var(--spacing-xl) var(--spacing-xl) !important;
    gap: var(--spacing-md) !important;
    z-index: 100 !important;
    box-shadow: 8px 0 30px rgba(0, 0, 0, 0.15) !important;
    transition: left 0.4s ease, opacity 0.4s ease !important;
    overflow-y: auto !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    list-style: none !important;
    margin: 0 !important;
    border-bottom: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    display: flex !important;
  }
  .menu-toggle:checked ~ .main-nav .nav-list {
    left: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .nav-list a {
    white-space: normal !important;
    text-align: left !important;
    padding: var(--spacing-sm) 0 !important;
    font-size: 20px !important;
    border-bottom: 2px solid transparent !important;
    width: 100% !important;
    display: block !important;
    font-weight: 400 !important;
  }
  .nav-list a:hover,
  .nav-list a.active {
    border-bottom-color: var(--color-primary) !important;
    color: var(--color-accent) !important;
  }
  .main-nav {
    order: 0;
    margin-left: 0;
  }
  .logo {
    order: 2;
    margin-left: auto;
  }
  .nav-item-has-children {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .nav-item-has-children > a {
    width: 100%;
  }
  .nav-submenu {
    display: block !important;
    position: static;
    width: 100%;
    min-width: 100%;
    background: transparent !important;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: var(--spacing-xs) 0 var(--spacing-xs) var(--spacing-lg);
    margin-top: 0;
  }
  .nav-submenu li {
    margin: 0;
    padding: 0;
    border-bottom: none;
  }
  .nav-submenu a {
    font-size: 17px !important;
    padding: var(--spacing-xs) 0 !important;
    color: var(--color-primary) !important;
    border-bottom: 2px solid transparent !important;
    white-space: normal !important;
    display: block;
  }
  .nav-submenu a:hover,
  .nav-submenu a.active {
    background: transparent !important;
    color: var(--color-accent) !important;
    border-bottom-color: var(--color-primary) !important;
  }
  .menu-toggle:checked ~ .nav-overlay {
    display: block;
    opacity: 1;
  }

  /* 4.3 Hero */
  .hero {
    padding: var(--spacing-lg) 0;
  }
  .hero .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .hero-title {
    font-size: 36px;
    line-height: 54px;
  }
  .hero-subtitle {
    font-size: 24px;
    line-height: 36px;
  }

  /* 4.4 Hero-Bild – 100% Breite & mittig */
  .hero-media {
    margin: 0 !important;
    justify-content: center;
  }
  .hero-img {
    width: 100% !important;
    border-radius: var(--border-radius-md);
    flex-shrink: 0;
  }

  /* 4.5 Cases (Startseite) */
  .cases-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .case-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
  }

  /* 4.6 Case Card Bilder – mobil optimiert */
  .case-card .case-img {
    aspect-ratio: 4 / 3 !important;
    object-fit: contain !important;
    border-radius: var(--border-radius-md) !important;
    overflow: hidden !important;
    background-color: var(--color-white);
  }

  /* 4.7 Cases Grid (referenzen.html) */
  .cases-grid-section {
    padding: var(--spacing-xl) 0;
  }
  .cases-grid-full {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
  }
  .case-item-content {
    padding: var(--spacing-md);
  }
  .case-item-title {
    font-size: 24px;
    line-height: 36px;
  }

  /* 4.8 About */
  .about {
    padding: var(--spacing-xl) 0;
  }
  .about .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .about-image img {
    max-width: 100%;
    border-radius: var(--border-radius-md);
  }

  /* 4.9 Kontakt (Visitenkarte) */
  .kontakt-section {
    padding: var(--spacing-xl) 0;
  }
  .kontakt-left {
    padding: var(--spacing-lg);
    border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
  }
  .kontakt-right {
    padding: var(--spacing-lg);
  }
  .kontakt-left .kontakt-title {
    font-size: 36px;
    line-height: 54px;
  }
  .kontakt-img {
    width: 100px;
    height: 100px;
  }

  /* 4.10 Zitate */
  .zitate-section {
    padding: var(--spacing-lg) 0;
  }

  /* 4.11 Footer */
  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .footer-photo {
    order: -1;
  }
  .footer-links {
    grid-template-columns: 1fr 1fr;
    text-align: left;
  }
  .footer-legal {
    justify-content: center;
  }

  /* 4.12 Headings */
  h2 {
    font-size: 36px;
    line-height: 54px;
  }
  h3 {
    font-size: 26px;
    line-height: 42px;
  }

  /* 4.13 Text Section */
  .text-section {
    padding: var(--spacing-lg) 0;
  }
  .text-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .text-section-content h1,
  .text-section-content h2 {
    font-size: 36px;
    line-height: 54px;
  }
  .text-section-content h3 {
    font-size: 26px;
    line-height: 42px;
  }
  .text-section-content p {
    font-size: 18px;
    line-height: 27px;
  }
  .text-section-border .text-section-content {
    padding: var(--spacing-lg);
  }
  .text-section-card-width .text-section-content {
    max-width: 100%;
  }

  /* 4.14 Case Items (referenzen.html) */
  .case-item {
    grid-template-columns: 1fr;
    width: 100%;
    min-height: auto;
  }
  .case-item-left,
  .case-item-right,
  .case-item-center {
    align-self: center;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
  .case-item-center {
    padding: var(--spacing-lg);
    grid-template-columns: 1fr;
  }
  .case-item-center .case-item-content-full {
    text-align: center;
  }
  .case-item-image {
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .case-item-image img {
    height: auto;
  }
  .case-item-content {
    padding: var(--spacing-lg);
    gap: 0.75rem;
  }
  .case-item-content-full {
    gap: 0.75rem;
  }
  .case-item-tag {
    font-size: 0.875rem;
  }
  .case-item-title {
    font-size: 1.375rem;
  }
  .case-item-description {
    font-size: 1rem;
    letter-spacing: 0.015em;
    margin-bottom: var(--spacing-md);
  }
  .case-item .btn {
    align-self: center;
    font-size: 0.9375rem;
  }
  .case-item-center .btn {
    align-self: center;
  }

  /* 4.15 Case Detail */
  .case-detail-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .case-detail-card {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-height: auto;
    margin: 0 !important;
    align-self: center !important;
  }
  .case-detail-card-left,
  .case-detail-card-right {
    align-self: center !important;
  }
  .case-fazit {
    padding: 2em;
    margin: 2em 0;
    border: 1.5px solid var(--color-secondary);
  }
  .case-detail-image {
    height: auto;
    aspect-ratio: 16 / 9;
    order: -1 !important;
  }
  .case-detail-image img {
    height: auto;
  }
  .case-detail-content {
    padding: var(--spacing-md);
    order: 0 !important;
  }
  .case-detail-title {
    font-size: 20px;
  }

  /* 4.16 Case Navigation */
  .case-navigation {
    flex-direction: column;
    gap: var(--spacing-md);
    padding: var(--spacing-md) 0;
  }
  .case-nav-prev,
  .case-nav-next,
  .case-nav-overview {
    justify-content: center;
    width: 100%;
    padding: 12px 20px;
  }
  .case-navigation-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }

  /* 4.17 Skills */
  .skills-section {
    padding: var(--spacing-xl) 0;
  }
  .skills-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .skills-content {
    max-width: 100%;
    padding: var(--spacing-xl);
  }
  .skills-tag {
    font-size: 0.875rem;
    margin-bottom: var(--spacing-sm);
  }
  .skills-title {
    font-size: 1.75rem;
    margin-bottom: var(--spacing-lg);
  }
  .skills-grid {
    gap: var(--spacing-lg);
  }
  .skill-item {
    gap: var(--spacing-sm);
  }
  .skill-name {
    font-size: 0.9375rem;
  }
  .skill-percentage {
    font-size: 0.8125rem;
  }
  .skill-bar {
    height: 8px;
  }

  /* 4.18 Expertise */
  .expertise-section {
    padding: var(--spacing-xl) 0;
  }
  .expertise-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .expertise-content {
    max-width: 100%;
    padding: var(--spacing-lg);
    gap: var(--spacing-lg);
  }
  .expertise-block:not(:last-child) {
    padding-bottom: var(--spacing-lg);
  }
  .expertise-grid-3 {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
  }
  .expertise-title {
    font-size: 1rem;
  }
  .expertise-tag {
    font-size: 0.75rem;
    padding: 0.15rem 1rem;
  }

  /* 4.19 Contact Formular */
  .contact-section {
    padding: var(--spacing-xl) 0;
  }
  .contact-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .contact-content {
    max-width: 100%;
    padding: var(--spacing-lg);
  }
  .form-row {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  .contact-title {
    font-size: 1.75rem;
  }
  .contact-subtitle {
    font-size: 1rem;
  }
  .form-checkbox {
    gap: var(--spacing-xs);
  }
  .form-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
  }
  .form-checkbox label {
    font-size: 0.875rem;
  }
  .alert {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: 0.9375rem;
  }

  /* 4.20 CV Section */
  .cv-section {
    padding: var(--spacing-xl) 0;
  }
  .cv-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .cv-content {
    max-width: 100%;
    padding: var(--spacing-lg);
  }
  .cv-title {
    font-size: 1.75rem;
  }
  .cv-text {
    font-size: 1rem;
    letter-spacing: 0.015em;
  }
  .cv-text:last-of-type {
    margin-bottom: var(--spacing-md);
  }

  /* 4.21 Legal Pages */
  .legal-page .text-section-content h1 {
    font-size: 2rem;
  }
  .legal-page .text-section-content h2 {
    font-size: 1.25rem;
  }
  .legal-page .text-section-content h3 {
    font-size: 1rem;
  }

  /* 4.22 Cookie Table */
  .cookie-table {
    font-size: 0.8125rem;
  }
  .cookie-table thead th,
  .cookie-table tbody td {
    padding: 0.5rem 0.6rem;
  }

  /* 4.23 Carousel */
  .carousel-section .container,
  .galerie-carousel-section .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
  .carousel-radio-wrapper {
    padding: var(--spacing-md) 0;
  }
  .carousel-slide {
    padding: var(--spacing-sm);
  }
  .carousel-slide .zitat-text {
    font-size: 18px;
    line-height: 27px;
    padding: 0 var(--spacing-md);
  }
  .carousel-dot-label,
  .image-carousel-dot-label,
  .galerie-dot-label {
    width: 12px;
    height: 12px;
  }
  .carousel-dots,
  .image-carousel-dots,
  .galerie-carousel-dots {
    gap: 10px;
  }
  .image-carousel-arrow,
  .galerie-arrow {
    width: 50px;
    height: 50px;
    font-size: 24px;
  }
  .image-carousel-slide {
    flex: 0 0 100%;
    min-width: 100%;
  }
  .image-carousel-slide img {
    height: 250px;
  }
  #foto-radio-2:checked ~ .image-carousel-wrapper .image-carousel-track {
    transform: translateX(-100%);
  }
  #foto-radio-3:checked ~ .image-carousel-wrapper .image-carousel-track {
    transform: translateX(-200%);
  }
  .galerie-carousel-wrapper {
    max-width: 100%;
  }
}


/* ============================================
   5. BREAKPOINT: 576px (Kleinstes Smartphone)
   ============================================ */
@media (max-width: 576px) {

  /* 5.1 Allgemein */
  .container,
  .header-inner,
  .hero .container,
  .cases-section .container,
  .cases-grid-section .container,
  .footer-grid,
  .footer-bottom {
    max-width: 100% !important;
    padding-left: var(--spacing-md) !important;
    padding-right: var(--spacing-md) !important;
  }

  /* 5.2 Navigation */
  .burger {
    display: flex !important;
    width: 48px !important;
    height: 48px !important;
    padding: 12px !important;
    margin-right: var(--spacing-sm) !important;
  }
  .burger span {
    width: 20px !important;
    height: 2.5px !important;
  }
  .logo a {
    font-size: 1.2rem !important;
    letter-spacing: 1px !important;
  }
  .nav-list {
    padding: 70px var(--spacing-lg) var(--spacing-xl) !important;
    gap: var(--spacing-sm) !important;
  }
  .nav-list a {
    font-size: 18px !important;
    padding: var(--spacing-xs) 0 !important;
  }
  .nav-submenu a {
    font-size: 15px !important;
    padding: var(--spacing-xs) 0 !important;
    padding-left: var(--spacing-md) !important;
  }

  /* 5.3 Hero */
  .hero {
    padding: var(--spacing-md) 0 !important;
  }
  .hero-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.05em !important;
  }
  .hero-eyebrow {
    font-size: 14px !important;
    letter-spacing: 2px !important;
    margin-bottom: var(--spacing-xs) !important;
  }
  .hero-text {
    font-size: 16px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.5px !important;
  }

  /* 5.4 Hero-Bild – 100% Breite & mittig */
  .hero-media {
    margin: 0 !important;
    justify-content: center;
  }
  .hero-img {
    border-radius: var(--border-radius-sm) !important;
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    flex-shrink: 0;
  }

  /* 5.5 Cases Grid (Startseite) */
  .cases-section {
    padding: var(--spacing-xl) 0 !important;
  }
  .case-grid {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-xl) !important;
  }

  /* 5.6 Case Card Bilder – mobil optimiert */
  .case-card .case-img {
    aspect-ratio: 4 / 3 !important;
    object-fit: contain !important;
    border-radius: var(--border-radius-sm) !important;
    overflow: hidden !important;
    background-color: var(--color-white);
  }

  /* 5.7 Case Cards */
  .case-card h3 {
    font-size: 16px !important;
    margin-bottom: var(--spacing-xs) !important;
  }
  .case-card p {
    font-size: 15px !important;
    line-height: 1.4 !important;
    min-height: auto !important;
  }
  .cases-section .section-sub {
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 0 var(--spacing-sm) !important;
  }
  .cases-grid-full {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-lg) !important;
  }

  /* 5.8 Case Items (referenzen.html) */
  .case-item {
    width: 100% !important;
    min-height: auto !important;
  }
  .case-item-image {
    aspect-ratio: 16/10 !important;
  }
  .case-item-content {
    padding: var(--spacing-md) !important;
    gap: 0.5rem !important;
  }
  .case-item-tag {
    font-size: 12px !important;
    letter-spacing: 1px !important;
  }
  .case-item-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }
  .case-item-description {
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-bottom: var(--spacing-sm) !important;
  }
  .case-item .btn {
    font-size: 14px !important;
    padding: 10px 24px !important;
  }

  /* 5.9 About */
  .about {
    padding: var(--spacing-xl) 0 !important;
  }
  .about-image img {
    border-radius: var(--border-radius-sm) !important;
    max-width: 100% !important;
  }
  .about-text h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
  .about-lead {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  .about-text p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* 5.10 Kontakt (Visitenkarte) */
  .kontakt-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .kontakt-wrapper {
    gap: var(--spacing-md) !important;
    padding: 0 var(--spacing-sm) !important;
  }
  .kontakt-left {
    border-radius: var(--border-radius-sm) !important;
    padding: var(--spacing-lg) !important;
    padding-left: var(--spacing-lg) !important;
    align-items: center !important;
    text-align: center !important;
  }
  .kontakt-left .kontakt-eyebrow {
    font-size: 14px !important;
    letter-spacing: 2px !important;
  }
  .kontakt-left .kontakt-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
  }
  .kontakt-left .btn-white {
    font-size: 14px !important;
    padding: 12px 30px !important;
  }
  .kontakt-right {
    border-radius: var(--border-radius-sm) !important;
    padding: var(--spacing-lg) !important;
    margin-right: 0 !important;
    align-items: center !important;
    text-align: center !important;
  }
  .kontakt-img {
    width: 100px !important;
    height: 100px !important;
  }
  .kontakt-name {
    font-size: 20px !important;
  }
  .kontakt-rolle {
    font-size: 15px !important;
  }
  .kontakt-detail {
    font-size: 14px !important;
  }

  /* 5.11 Zitate */
  .zitate-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .zitate-section::before {
    width: 100% !important;
  }
  .carousel-slide {
    padding: var(--spacing-sm) !important;
  }
  .carousel-slide .zitat-text {
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 0 var(--spacing-sm) !important;
  }
  .carousel-slide .zitat-author {
    font-size: 14px !important;
  }
  .carousel-dot-label {
    width: 10px !important;
    height: 10px !important;
  }
  .carousel-dots {
    gap: 8px !important;
  }

  /* 5.12 Footer */
  .site-footer {
    padding: var(--spacing-lg) 0 var(--spacing-md) !important;
    margin-top: var(--spacing-lg) !important;
  }
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-lg) !important;
    text-align: center !important;
  }
  .footer-left p:first-of-type {
    font-size: 1.4rem !important;
  }
  .footer-left p {
    font-size: 15px !important;
  }
  .footer-photo {
    order: -1 !important;
  }
  .footer-photo img {
    max-width: 100px !important;
  }
  .footer-links {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: var(--spacing-md) !important;
  }
  .footer-col h3 {
    font-size: 16px !important;
    margin-bottom: var(--spacing-sm) !important;
  }
  .footer-col ul li a {
    font-size: 14px !important;
  }
  .footer-legal {
    justify-content: center !important;
    margin-top: var(--spacing-md) !important;
  }
  .footer-legal ul {
    flex-direction: column !important;
    align-items: center !important;
    gap: var(--spacing-sm) !important;
  }
  .footer-legal ul li a {
    font-size: 14px !important;
  }
  .footer-divider {
    margin-top: var(--spacing-md) !important;
  }
  .footer-bottom {
    font-size: 13px !important;
    padding-top: var(--spacing-sm) !important;
  }

  /* 5.13 Headings */
  h1 {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }
  h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
  h3 {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }
  h4, h5, h6 {
    font-size: 16px !important;
  }

  /* 5.14 Buttons */
  .btn,
  button,
  input[type="button"],
  input[type="submit"],
  a[class*="btn"] {
    font-size: 14px !important;
    padding: 12px 30px !important;
  }
  .btn-outline-white,
  .btn-white {
    padding: 10px 24px !important;
  }

  /* 5.15 Spacer */
  .spacer {
    height: var(--spacing-xl) !important;
  }
  .spacer-sm {
    height: var(--spacing-lg) !important;
  }
  .spacer-md {
    height: var(--spacing-xl) !important;
  }
  .spacer-lg {
    height: var(--spacing-xl) !important;
  }

  /* 5.16 Text Section */
  .text-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .text-section .container {
    max-width: 100% !important;
    padding: 0 var(--spacing-md) !important;
  }
  .text-section-content h1,
  .text-section-content h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }
  .text-section-content h3 {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }
  .text-section-content p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  .text-section-border .text-section-content {
    padding: var(--spacing-md) !important;
  }
  .text-section-card-width .text-section-content {
    max-width: 100% !important;
  }

  /* 5.17 Cookie Overlay */
  .cookie-overlay {
    bottom: 10px !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
  }
  .cookie-box {
    padding: 0.75rem 1rem !important;
    max-width: 100% !important;
  }
  .cookie-text {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 0 var(--spacing-sm) 0 !important;
  }
  .cookie-btn {
    font-size: 14px !important;
    padding: 0.4rem 0.8rem !important;
  }

  /* 5.18 Skills */
  .skills-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .skills-section .container {
    max-width: 100% !important;
    padding: 0 var(--spacing-md) !important;
  }
  .skills-content {
    max-width: 100% !important;
    padding: var(--spacing-md) !important;
  }
  .skills-tag {
    font-size: 12px !important;
  }
  .skills-title {
    font-size: 22px !important;
  }
  .skill-name {
    font-size: 14px !important;
  }
  .skill-percentage {
    font-size: 13px !important;
  }
  .skill-bar {
    height: 6px !important;
  }

  /* 5.19 Expertise */
  .expertise-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .expertise-section .container {
    max-width: 100% !important;
    padding: 0 var(--spacing-md) !important;
  }
  .expertise-content {
    max-width: 100% !important;
    padding: var(--spacing-md) !important;
  }
  .expertise-grid-3 {
    grid-template-columns: 1fr !important;
  }
  .expertise-title {
    font-size: 16px !important;
  }
  .expertise-tag {
    font-size: 12px !important;
    padding: 0.1rem 0.8rem !important;
  }

  /* 5.20 Contact Formular */
  .contact-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .contact-section .container {
    max-width: 100% !important;
    padding: 0 var(--spacing-md) !important;
  }
  .contact-content {
    max-width: 100% !important;
    padding: var(--spacing-md) !important;
  }
  .contact-title {
    font-size: 22px !important;
  }
  .contact-subtitle {
    font-size: 15px !important;
  }
  .form-row {
    grid-template-columns: 1fr !important;
  }
  .form-input,
  .form-textarea {
    font-size: 15px !important;
    padding: 0.6rem 0.8rem !important;
  }
  .form-label {
    font-size: 14px !important;
  }
  .form-submit {
    width: 100% !important;
    padding: 12px !important;
  }

  /* 5.21 CV Section */
  .cv-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .cv-section .container {
    max-width: 100% !important;
    padding: 0 var(--spacing-md) !important;
  }
  .cv-content {
    max-width: 100% !important;
    padding: var(--spacing-md) !important;
  }
  .cv-title {
    font-size: 22px !important;
  }
  .cv-text {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* 5.22 Case Detail */
  .case-detail-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .case-detail-section .container {
    max-width: 100% !important;
    padding: 0 var(--spacing-md) !important;
  }
  .case-detail-card {
    grid-template-columns: 1fr !important;
    border-radius: var(--border-radius-sm) !important;
  }
  .case-fazit {
    padding: var(--spacing-md) !important;
    margin: var(--spacing-md) 0 !important;
    border-radius: var(--border-radius-sm) !important;
  }
  .case-detail-content {
    padding: var(--spacing-md) !important;
  }
  .case-detail-title {
    font-size: 18px !important;
  }
  .case-detail-description {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  .case-detail-list li {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* 5.23 Case Navigation */
  .case-navigation {
    flex-direction: column !important;
    gap: var(--spacing-sm) !important;
    padding: var(--spacing-sm) 0 !important;
  }
  .case-nav-prev,
  .case-nav-next,
  .case-nav-overview {
    width: 100% !important;
    justify-content: center !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
  }

  /* 5.24 Legal Pages */
  .legal-page .text-section-content h1 {
    font-size: 24px !important;
  }
  .legal-page .text-section-content h2 {
    font-size: 18px !important;
  }
  .legal-page .text-section-content h3 {
    font-size: 16px !important;
  }

  /* 5.25 Cookie Table */
  .cookie-table {
    font-size: 13px !important;
  }
  .cookie-table thead th,
  .cookie-table tbody td {
    padding: 0.4rem 0.5rem !important;
  }

  /* 5.26 Carousel */
  .carousel-section .container,
  .galerie-carousel-section .container {
    max-width: 100% !important;
    padding: 0 var(--spacing-md) !important;
  }
  .image-carousel-slide {
    flex: 0 0 100% !important;
    min-width: 100% !important;
  }
  .image-carousel-slide img {
    height: 180px !important;
  }
  .galerie-carousel-slide {
    height: 250px !important;
  }
  .galerie-carousel-slide img {
    max-height: 250px !important;
  }
  .image-carousel-arrow,
  .galerie-arrow {
    width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
  }
  .image-carousel-dot-label,
  .galerie-dot-label {
    width: 10px !important;
    height: 10px !important;
  }

  /* 5.27 Video Overlay */
  .video-overlay-inner {
    max-width: 95vw !important;
  }
  .close-video {
    top: -2.5rem !important;
    font-size: 1.6rem !important;
  }

  /* 5.28 Skip Link */
  .skip-link {
    font-size: 14px !important;
    padding: 6px 12px !important;
  }
}