/*
 * Mittelmeiers Theme - Responsive Styles
 * Mobile adaptations, breakpoints: 1024px, 768px, 600px
 */

@media screen and (max-width: 782px) {
  #wpadminbar + nav {
    margin-top: 0;
  }
}

/* ── TABLET (max-width: 1024px) ───────────── */
@media (max-width: 1024px) {
  /* Navigation */
  .nav-links {
    gap: 1.2rem;
  }

  /* Hero */
  .hero {
    min-height: auto;
  }

  .hero-links {
    padding: 6vh 5% 6vh 5%;
  }

  .hero-rechts {
    height: auto;
    min-height: 400px;
  }

  /* Program blocks */
  .programm-block {
    min-height: auto;
  }

  .programm-text {
    padding: 3rem 5%;
  }

  /* Program hero */
  .prog-hero {
    min-height: auto;
  }

  .prog-hero-text {
    padding: 6vh 5% 6vh 5%;
  }

  .program-hero,
  .coaching-hero,
  .ueber-hero {
    min-height: auto;
  }

  .program-hero-links,
  .coaching-hero-links,
  .ueber-hero-text {
    padding: 6vh 5% 6vh 5%;
  }

  /* Über mich hero */
  .ueber-hero {
    grid-template-columns: 40% 60%;
  }

  /* Struktur grid */
  .struktur-grid {
    grid-template-columns: 1fr 1fr;
  }

  .struktur-card:nth-child(2) {
    border-right: none;
  }

  .struktur-card:nth-child(3),
  .struktur-card:nth-child(4) {
    border-top: var(--linie);
  }

  /* Preise grid */
  .preise-grid {
    grid-template-columns: 1fr 1fr;
  }

  .preise-grid .preis-card:nth-child(2) {
    border-right: var(--linie);
  }

  .preise-grid .preis-card:nth-child(3) {
    border-top: var(--linie);
    border-right: none;
    grid-column: 1 / -1;
    max-width: 400px;
    margin: 0 auto;
  }

  /* Footer */
  footer {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }

  /* Methodik grid */
  .methodik-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  /* 404 Page - Error sitemap */
  .error-sitemap {
    padding: 4rem 5%;
  }

  .error-links-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }

  /* Expertise grid */
  .expertise-grid {
    grid-template-columns: 1fr 1fr;
  }

  /* Prozess grid */
  .prozess-grid {
    grid-template-columns: 1fr 1fr;
  }

  .prozess-step:nth-child(2)::after {
    display: none;
  }

  .prozess-step:nth-child(3)::after {
    right: -1.5rem;
    width: 1.5rem;
    display: block;
  }

  .prozess-step:nth-child(3),
  .prozess-step:nth-child(4) {
    margin-top: 1.5rem;
  }

  /* Formate grid */
  .formate-grid {
    grid-template-columns: 1fr 1fr;
  }

  .formate-card:nth-child(2) {
    border-right: none;
  }

  .formate-card:nth-child(3) {
    border-top: 1px solid rgba(255,255,255,0.15);
    grid-column: 1 / -1;
    max-width: 400px;
    margin: 0 auto;
  }
}

/* ── MOBILE (max-width: 768px) ────────────── */
@media (max-width: 768px) {
  /* Navigation */
  .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--weiss);
    flex-direction: column;
    padding: 1.5rem 5%;
    border-bottom: var(--linie);
    gap: 1rem;
  }

  .nav-links.active {
    display: flex;
  }

  .burger {
    display: flex;
  }

  .nav-cta {
    display: none;
  }

  /* Hero */
  .hero {
    grid-template-columns: 1fr;
  }

  .hero-links {
    padding: 4rem 5% 3rem;
    order: 2;
  }

  .hero-rechts {
    min-height: 50vh;
    order: 1;
  }

  /* Program blocks */
  .programm-block {
    grid-template-columns: 1fr;
  }

  .programm-block.flip {
    direction: ltr;
  }

  .programm-bild {
    min-height: 280px;
  }

  .programm-text {
    padding: 2.5rem 5%;
  }

  /* Intro */
  .intro {
    padding: 3.5rem 5%;
  }

  /* Programme header */
  .programme-header {
    padding: 4rem 5% 2rem;
  }

  /* Über mich section */
  .ueber {
    grid-template-columns: 1fr;
  }

  .ueber-bild {
    min-height: 300px;
    order: 1;
  }

  .ueber-text {
    padding: 3rem 5%;
    order: 2;
  }

  /* Kernthese */
  .kernthese {
    padding: 3.5rem 5%;
  }

  /* Prog hero (program pages) */
  .prog-hero {
    grid-template-columns: 1fr;
  }

  .prog-hero-text {
    padding: 3rem 5%;
    order: 2;
  }

  .prog-hero-bild {
    min-height: 350px;
    order: 1;
  }

  /* Program hero */
  .program-hero,
  .coaching-hero,
  .ueber-hero {
    grid-template-columns: 1fr;
  }

  .program-hero-links,
  .coaching-hero-links,
  .ueber-hero-text {
    padding: 3rem 5%;
    order: 2;
  }

  .program-hero-rechts,
  .coaching-hero-rechts,
  .ueber-foto {
    min-height: 350px;
    order: 1;
  }

  /* Dark hero */
  .program-hero-dark-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .program-hero-dark-img {
    order: 1;
  }

  .program-hero-dark-links {
    order: 2;
  }

  /* Biografie */
  .biografie {
    grid-template-columns: 1fr;
    gap: 3rem;
    padding: 4rem 5%;
  }

  .steckbrief {
    position: static;
    order: -1;
  }

  /* Stationen */
  .stationen {
    padding: 4rem 5%;
  }

  .station {
    grid-template-columns: 90px 1fr;
    gap: 1rem;
  }

  .station::before {
    left: 89px;
  }

  /* Expertise */
  .expertise {
    padding: 4rem 5%;
  }

  /* Problem grid */
  .problem-grid {
    grid-template-columns: 1fr;
  }

  /* Diagnose */
  .diagnose-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  /* Struktur grid */
  .struktur-grid {
    grid-template-columns: 1fr;
  }

  .struktur-card {
    border-right: none;
    border-bottom: var(--linie);
  }

  .struktur-card:last-child {
    border-bottom: none;
  }

  /* Testimonials */
  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .testimonials {
    padding: 4rem 5%;
  }

  /* Preise grid - override inline styles for Lead Together */
  .preise-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  .preis-card {
    border-right: var(--linie);
    border-bottom: none;
  }

  .preis-card:last-child {
    border-bottom: var(--linie);
  }

  .preise-grid-2 {
    grid-template-columns: 1fr;
  }

  /* Kontakt sections */
  .program-kontakt,
  .coaching-kontakt {
    padding: 3.5rem 5%;
  }

  /* Formate grid */
  .formate-grid {
    grid-template-columns: 1fr;
  }

  .formate-card {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.15);
  }

  .formate-card:last-child {
    border-bottom: none;
  }

  /* Inhouse grid */
  .inhouse-grid {
    grid-template-columns: 1fr;
  }

  /* Privat grid */
  .privat-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  /* Prozess grid */
  .prozess-grid {
    grid-template-columns: 1fr;
  }

  .prozess-step::after {
    display: none;
  }

  /* Zwei-welten banner */
  .zwei-welten-inner {
    grid-template-columns: 1fr;
  }

  .zwei-welten-left {
    border-right: none;
    border-bottom: var(--linie);
  }

  /* Branchen strip */
  .branchen-strip-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .branchen-text-rechts {
    margin-left: 0;
  }

  /* Coaching Hero */
  .coaching-hero {
    grid-template-columns: 1fr;
  }

  .coaching-hero .hero-text {
    padding: 3rem 5%;
    order: 2;
  }

  .coaching-hero .hero-bild {
    min-height: 300px;
    order: 1;
  }

  /* Premium */
  .premium {
    padding: 4rem 5%;
  }

  .premium-grid {
    grid-template-columns: 1fr;
  }

  .premium-karte {
    padding: 1.5rem;
  }

  /* Inhouse */
  .inhouse-section {
    padding: 4rem 5%;
  }

  .inhouse-themen-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .inhouse-info-bar {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  /* Formate */
  .formate {
    padding: 4rem 5%;
  }

  .formate-grid {
    grid-template-columns: 1fr;
  }

  .format-karte {
    padding: 1.5rem;
  }

  /* Privat */
  .privat-section {
    padding: 4rem 5%;
  }

  .privat-container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  /* Methodik */
  .methodik {
    padding: 4rem 5%;
  }

  .methodik-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .zertifizierungen {
    padding-top: 0;
  }

  /* Prozess */
  .prozess {
    padding: 4rem 5%;
  }

  .prozess-schritte {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .prozess-schritt {
    flex-direction: row;
    text-align: left;
    align-items: flex-start;
    gap: 1rem;
  }

  /* Ansatz */
  .ansatz {
    padding: 4rem 5%;
  }

  /* Premium section */
  .coaching-premium-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  /* Footer */
  footer {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }

  .footer-col:first-child {
    grid-column: 1 / -1;
  }
}

/* ── SMALL MOBILE (max-width: 600px) ──────── */
@media (max-width: 600px) {
  /* Section rubriks */
  .section-rubrik {
    font-size: 0.65rem;
  }

  .section-titel {
    font-size: clamp(1.4rem, 5vw, 1.8rem);
  }

  /* Hero */
  .hero-titel {
    font-size: clamp(1.6rem, 6vw, 2rem);
  }

  .hero-rechts {
    min-height: 280px;
  }

  /* Facts */
  .ueber-facts {
    flex-direction: column;
    gap: 1.2rem;
  }

  .facts-leiste {
    flex-wrap: wrap;
  }

  .facts-leiste .fact {
    flex: 1 1 50%;
    border-right: none;
    border-bottom: var(--linie);
    padding: 1rem 0;
  }

  .facts-leiste .fact:first-child,
  .facts-leiste .fact:not(:first-child):not(:last-child),
  .facts-leiste .fact:last-child {
    padding: 1rem 0;
  }

  .facts-leiste .fact:nth-child(odd) {
    border-right: var(--linie);
    padding-right: 1rem;
  }

  .facts-leiste .fact:nth-child(even) {
    padding-left: 1rem;
  }

  .facts-leiste .fact:nth-last-child(-n+2) {
    border-bottom: none;
  }

  /* Stationen */
  .station {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .station::before {
    display: none;
  }

  .station-zeit {
    padding-top: 0;
    margin-bottom: 0.3rem;
  }

  /* Expertise */
  .expertise-grid {
    grid-template-columns: 1fr;
  }

  /* Footer */
  footer {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 3rem 6%;
    text-align: center;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 0.6rem;
    text-align: center;
    padding: 1rem 6%;
  }

  /* Coaching Hero - Small Mobile */
  .coaching-hero .hero-bild {
    min-height: 250px;
  }

  .hero-titel {
    font-size: clamp(1.4rem, 6vw, 1.8rem);
  }

  .hero-untertitel {
    font-size: 1rem;
  }

  /* Premium - Small Mobile */
  .premium-karte {
    padding: 1.25rem;
  }

  .pk-titel {
    font-size: 1.2rem;
  }

  .pk-liste {
    gap: 0.4rem;
  }

  /* Inhouse - Small Mobile */
  .inhouse-thema {
    padding: 1.25rem;
  }

  .inhouse-thema-titel {
    font-size: 1.1rem;
  }

  .inhouse-info-bar {
    padding: 1rem;
  }

  /* Formate - Small Mobile */
  .format-karte {
    padding: 1.25rem;
  }

  .format-titel {
    font-size: 1.2rem;
  }

  .format-detail {
    padding: 0.4rem 0;
  }

  /* Privat - Small Mobile */
  .privat-themen-box {
    padding: 1.5rem;
  }

  .privat-thema {
    padding: 0.5rem 0;
  }

  /* Methodik - Small Mobile */
  .methodik-titel {
    font-size: clamp(1.3rem, 5vw, 1.6rem);
  }

  .zertifizierung {
    flex-direction: column;
    text-align: center;
  }

  .zert-nummer {
    margin-right: 0;
    margin-bottom: 0.5rem;
  }

  /* Prozess - Small Mobile */
  .prozess-schritt {
    flex-direction: column;
    text-align: center;
  }

  .schritt-zahl {
    font-size: 2rem;
  }

  /* Buttons */
  .btn-rot,
  .btn-weiss {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  /* 404 Page */
  .error-hero {
    padding: 6rem 5% 3rem;
    min-height: 50vh;
  }

  .error-actions {
    flex-direction: column;
  }

  .error-links-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }

  /* Page Template */
  .page-hero {
    padding: 3rem 5% 2rem;
  }

  .page-content {
    padding: 2.5rem 5%;
  }

  .children-grid {
    grid-template-columns: 1fr;
  }

  /* Single Post */
  .single-hero {
    padding: 3rem 5% 0;
  }

  .single-hero-inner {
    padding-bottom: 2rem;
  }

  .single-content {
    padding: 2.5rem 5%;
  }

  .single-content-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .post-navigation {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .nav-next {
    text-align: left;
  }

  .author-bio {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .single-sidebar {
    order: 2;
  }

  .single-main {
    order: 1;
  }
}

/* ── SMALL MOBILE (max-width: 600px) - 404 ADDITIONS ──────── */
@media (max-width: 600px) {
  .error-links-grid {
    grid-template-columns: 1fr;
  }

  .error-code {
    font-size: 5rem;
  }
}
