/* =========================
   MOBILE
   ========================= */

@media (max-width: 800px) {


  /* =========================
     HEADER
     ========================= */

  .site-header {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;

  background: transparent;

  z-index: 100;
}


  .header-inner {
    height: 82px;

    gap: 20px;
  }


  /* LOGO */

  .logo {
    margin-right: 0;
  }

  .logo img {
    width: 86px;
    transform: translateY(10px);
  }


  /* DESKTOP NAV HIDDEN */

  .main-nav {
    display: none;

    position: absolute;

    top: 82px;
    left: 0;

    width: 100%;

    padding: 30px 25px;

    background-color: rgba(43, 43, 40, 0.98);

    flex-direction: column;
    align-items: flex-start;

    gap: 22px;
  }

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

  .main-nav a {
    width: 100%;

    font-size: 16px;
    text-transform: uppercase;

    color: var(--color-text-light);
  }

  .main-nav a::after {
    display: none;
  }


  /* HEADER BUTTON */

  .header-cta {
    display: none;
  }


  /* HAMBURGER */

  .menu-toggle {
    display: block;

    margin-left: auto;
  }

/* =========================================
   SUBPAGE HEADER - MOBILE
========================================= */

@media (max-width: 800px) {

  .subpage-header {
    background-color: var(--color-dark);
  }

  .subpage-header .header-inner {
    height: 90px;
    padding-left: 24px;
    padding-right: 24px;
  }

  /* Desktop verschuiving ongedaan maken */
  .subpage-header .logo {
    margin-left: 0;
    margin-right: auto;
  }

  .subpage-header .logo img {
    width: 72px;
    height: auto;
    transform: none;
    filter: none;
  }

  /* Hamburger rechts */
  .subpage-header .menu-toggle {
    margin-left: auto;
  }

  /* Uitklapmenu begint onder de header */
  .subpage-header .main-nav {
    top: 90px;
  }

  /* SUBPAGE HEADER - MOBILE */
.subpage-header .logo img {
    transform: translateY(16px);
}


  /* PRIVACY PAGINA */

  .legal-page {
    padding: 60px 0 70px;
  }

  .legal-page h1 {
    font-size: 34px;
    line-height: 1;
  }

}



  /* =========================
     HERO
     ========================= */

  .hero {
  position: relative;

  min-height: auto;

  padding-top: 120px;

  background:
    linear-gradient(
      rgba(28, 29, 26, 0.82),
      rgba(28, 29, 26, 0.94)
    ),
    url("../images/concrete-dark.jpg");

  background-size: cover;

  /* Belangrijk: geen tegelvloer bovenaan */
  background-position: center 45%;

  background-repeat: no-repeat;
}


  /* WATERMARK WEG OP MOBIEL */

  .hero::after {
    display: none;
  }


  /* HERO LAYOUT */

  .hero-inner {
    min-height: auto;

    display: flex;
    flex-direction: column;

    align-items: stretch;

    gap: 0;
  }


  /* =========================
     TITLE
     ========================= */

  .hero-content {
    order: 1;

    width: 100%;

    padding-top: 20px;
  }

  .hero-eyebrow {
    margin-bottom: 12px;

    font-size: 12px;

    letter-spacing: 1.5px;
  }

  .hero h1 {
    max-width: 360px;

    font-size: clamp(40px, 11vw, 54px);

    line-height: 1;

    letter-spacing: -1px;
  }

  .hero h1 span {
    margin-top: 5px;
  }



  /* =========================
     JORAN
     ========================= */

  .hero-person {
    position: relative;

    order: 2;

    right: auto;
    bottom: auto;

    width: 100%;
    height: 390px;

    margin-top: 5px;

    display: flex;
    justify-content: center;
    align-items: flex-end;

    overflow: hidden;
  }

  .hero-person img {
    width: auto;
    height: 100%;

    max-width: none;

    object-fit: contain;

    object-position: bottom center;
  }



  /* =========================
     TEXT + CTA
     ========================= */

  .hero-lower {
    order: 3;

    width: 100%;

    margin-top: 25px;
  }

  .hero-text {
    max-width: 100%;

    font-size: 17px;
    line-height: 1.6;
  }

  .hero-buttons {
    width: 100%;

    margin-top: 25px;
  }

  .hero-buttons .btn-primary {
    width: 100%;
  }

  .hero-buttons .btn-outline {
    display: none;
  }



  /* =========================
     FEATURES
     ========================= */

  .hero-features {
    order: 4;

    width: 100%;

    display: grid;

    grid-template-columns:
      repeat(2, 1fr);

    margin-top: 38px;

    padding-bottom: 30px;

    border-top:
      1px solid rgba(229, 221, 213, 0.18);
  }

  .hero-feature {
    min-width: 0;

    margin: 0;

    padding: 20px 15px;

    border-right:
      1px solid rgba(229, 221, 213, 0.18);

    border-bottom:
      1px solid rgba(229, 221, 213, 0.18);
  }

  .hero-feature:nth-child(even) {
    border-right: 0;
  }

  .hero-feature span {
    font-size: 22px;
  }

  .hero-feature p {
    font-size: 11px;
  }

}

/* =========================
   OVER JORAN MOBILE
   ========================= */

@media (max-width: 800px) {

  .about-section {
    padding: 75px 0;
  }


  /* GRID */

  .about-grid {
    display: flex;
    flex-direction: column;

    gap: 50px;
  }


  /* IMAGE */

  .about-image-wrap {
    width: calc(100% - 12px);

    margin-left: 12px;
  }

  .about-image-accent {
    left: -12px;
    bottom: -12px;

    width: 75%;
    height: 75%;
  }

  .about-image {
    aspect-ratio: 4 / 5;
  }


  /* CONTENT */

  .about-content {
    width: 100%;
  }


  .section-label {
    margin-bottom: 18px;

    padding: 7px 14px;

    font-size: 11px;

    letter-spacing: 3px;
  }


  /* TITLE */

  .about-content h2 {
    margin-bottom: 24px;

    font-size: 38px;
    line-height: 1.05;
  }


  /* TEXT */

  .about-text p {
    font-size: 17px;
    line-height: 1.65;
  }


  /* BUTTON */

  .about-button {
    width: 100%;

    margin-top: 12px;
  }


  /* STATS */

  .about-stats {
    grid-template-columns: repeat(3, 1fr);

    margin-top: 35px;
  }


  .about-stat {
    padding: 20px 8px;

    text-align: center;
  }


  .about-stat-number {
    font-size: 26px;
  }


  .about-stat-label {
    font-size: 9px;
    line-height: 1.4;

    letter-spacing: 0.5px;
  }

}

/* =========================
   DIENSTEN MOBILE
   ========================= */

@media (max-width: 800px) {

  .services-section {
    padding: 75px 0;

    background:
      linear-gradient(
        rgba(229, 221, 213, 0.85),
        rgba(229, 221, 213, 0.85)
      ),
      url("../images/backgrounds/concrete-light.jpg");

    background-size: cover;
    background-position: center;
  }


  .services-layout {
    display: flex;
    flex-direction: column;

    gap: 40px;
  }


  .services-intro {
    position: static;

    max-width: 100%;
  }


  .services-intro h2 {
    font-size: 38px;
    line-height: 1.05;
  }


  .services-intro-text {
    font-size: 17px;
  }


  .services-grid {
    grid-template-columns: 1fr;

    gap: 16px;
  }


  .service-card {
    min-height: 0;

    padding: 28px 24px;
  }


  .service-number {
    margin-bottom: 24px;

    font-size: 26px;
  }


  .service-card h3 {
    font-size: 24px;
  }


  .service-card p {
    font-size: 16px;
  }

}

/* =========================
   COACHING MOBILE
   ========================= */

@media (max-width: 800px) {

  .coaching-section {
    padding: 75px 0;
  }


  .coaching-grid {
    display: flex;
    flex-direction: column;

    gap: 45px;
  }


  /* TEKST EERST */

  .coaching-content {
  order: 2;

  width: 100%;
}

  .coaching-content h2 {
    font-size: 38px;
    line-height: 1.05;
  }

  .coaching-lead,
  .coaching-text {
    font-size: 17px;
    line-height: 1.65;
  }


  /* CHECKLIST */

  .coaching-list li {
    font-size: 13px;

    padding: 14px 0;
  }

  .check {
    font-size: 18px;
  }


  /* BUTTON */

  .coaching-button {
    width: 100%;
  }


  /* FOTO DAARNA */

  .coaching-image-wrap {
  order: 1;

  width: calc(100% - 12px);

  margin-right: 12px;
}

  .coaching-image {
    aspect-ratio: 4 / 5;
  }

  .coaching-image-accent {
    right: -12px;
    bottom: -12px;
  }

}

/* =========================
   REVIEWS MOBILE
   ========================= */

@media (max-width: 800px) {

  .reviews-section {
    padding: 75px 0;
  }


  .reviews-grid {
    display: flex;
    flex-direction: column;

    gap: 45px;
  }


  /* REVIEWS EERST */

  .reviews-content {
    order: 1;

    width: 100%;
  }


  .reviews-content h2 {
    font-size: 38px;
    line-height: 1.05;
  }


  .reviews-intro {
    margin-bottom: 30px;

    font-size: 17px;
    line-height: 1.65;
  }


  /* CARDS */

  .review-card {
    padding: 25px 22px;
  }


  .review-card p {
    font-size: 16px;
  }


  /* FOTO ONDER REVIEWS */

  .reviews-image-wrap {
    order: 2;

    width: 100%;
    max-width: none;
  }


  .reviews-image {
    aspect-ratio: 4 / 5;
  }


  .reviews-image-text {
    left: 18px;
    bottom: 18px;

    font-size: 13px;
  }

}

/* =========================
   REVIEWS MOBILE
   ========================= */

@media (max-width: 800px) {

  .reviews-section {
    padding: 75px 0;
  }


  /* LAYOUT */

  .reviews-grid {
    display: flex;

    flex-direction: column;

    gap: 45px;
  }


  /* REVIEWS EERST */

  .reviews-content {
    order: 1;

    width: 100%;
    max-width: none;
  }


  .reviews-content h2 {
    margin-bottom: 20px;

    font-size: 38px;
    line-height: 1.05;
  }


  .reviews-intro {
    margin-bottom: 30px;

    font-size: 17px;
    line-height: 1.65;
  }


  /* REVIEW */

  .review-card {
    min-height: 330px;

    padding: 28px 24px;
  }


  .review-stars {
    margin-bottom: 18px;

    font-size: 16px;

    letter-spacing: 3px;
  }


  .review-text {
    font-size: 16px;
    line-height: 1.7;
  }


  /* NAVIGATIE */

  .reviews-navigation {
    margin-top: 18px;
  }


  .review-arrow {
    width: 42px;
    height: 42px;

    font-size: 18px;
  }


  /* FOTO ONDER */

  .reviews-image-wrap {
    order: 2;

    width: calc(100% - 12px);
    max-width: none;

    margin-left: 12px;
  }


  .reviews-image {
    aspect-ratio: 4 / 5;
  }


  .reviews-image-accent {
    left: -12px;
    bottom: -12px;
  }


  .reviews-image-label {
    left: 18px;
    bottom: 18px;

    padding: 10px 13px;

    font-size: 12px;
  }

}

/* =========================
   FAQ MOBILE
   ========================= */

@media (max-width: 800px) {

  .faq-section {
    padding: 75px 0;
  }

  .faq-grid {
    display: flex;
    flex-direction: column;

    gap: 45px;
  }

  /* FAQ CONTENT EERST */

  .faq-content {
    order: 1;

    width: 100%;
  }


  /* FOTO DAARNA */

  .faq-image-wrap {
    order: 2;

    position: relative;

    width: 100%;
    min-height: 520px;

    overflow: hidden;
  }

  .faq-image {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    display: block;
  }

  .faq-image-wrap::before {
    right: -10px;
    bottom: -10px;
  }


  /* CTA OP FOTO */

  .faq-image-overlay {
    position: absolute;

    left: 24px;
    right: 24px;
    bottom: 24px;

    z-index: 3;
  }

  .faq-image-overlay h3 {
    font-size: 34px;
  }

  .faq-image-overlay .btn {
    width: 100%;
  }

}

@media (max-width: 800px) {

  .final-cta {
    padding: 70px 0;
  }

  .final-cta-inner {
    display: flex;
    flex-direction: column;

    align-items: stretch;

    gap: 35px;
  }

  .final-cta h2 {
    font-size: 40px;
  }

  .final-cta-content > p:last-child {
    font-size: 17px;
  }

  .final-cta-action {
    align-items: stretch;
  }

  .final-cta-action .btn {
    width: 100%;
  }

}

@media (max-width: 800px) {

  .site-footer {
    padding: 60px 0 25px;
  }

  .footer-grid {
    grid-template-columns: 1fr;

    gap: 40px;

    padding-bottom: 45px;
  }

  .footer-brand img {
    width: 90px;
  }

  .footer-bottom {
    flex-direction: column;

    align-items: flex-start;

    gap: 12px;
  }

}

@media (max-width: 800px) {

  .footer-contact-item {
    font-size: 17px;
  }

  .footer-icon {
    width: 26px;
    height: 26px;
  }

}

/* =========================
   CONTACT PAGE MOBILE
   ========================= */

@media (max-width: 800px) {

  .contact-header {
    position: relative;

    background-color: #242621;
  }


  .contact-page {
    padding: 70px 0;
  }


  .contact-page-grid {
    display: flex;
    flex-direction: column;

    gap: 55px;
  }


  .contact-page-content {
    width: 100%;
  }


  .contact-page-content h1 {
    font-size: 42px;
  }


  .contact-page-intro {
    margin-bottom: 35px;

    font-size: 17px;
  }


  /* FORM */

  .contact-form-row {
    grid-template-columns: 1fr;

    gap: 24px;
  }


  .contact-submit {
    width: 100%;

    align-self: stretch;
  }


  /* CARD */

  .trainer-contact-card {
    position: static;

    width: 100%;
  }


  .trainer-contact-image {
    height: 390px;
  }


  .trainer-contact-content {
    padding: 28px 24px;
  }


  .trainer-contact-content h2 {
    font-size: 34px;
  }


  .trainer-contact-content > p {
    font-size: 16px;
  }

}

/* =========================================
   PRIVACY - MOBILE
========================================= */
@media (max-width: 800px) {

  .legal-page {
    padding: 70px 0;
  }

  .legal-container {
    width: 100%;
    max-width: 100%;
    padding-left: 24px;
    padding-right: 24px;
  }

  .legal-page h1 {
    font-size: 32px;
    line-height: 1.05;
    overflow-wrap: break-word;
  }

  .legal-intro {
    margin-bottom: 45px;
    font-size: 18px;
  }

  .legal-content {
    gap: 35px;
  }

  .legal-content section {
    padding-bottom: 35px;
  }

  .legal-content h2 {
    font-size: 24px;
  }

  .legal-content p,
  .legal-content li {
    font-size: 16px;
  }

}

/* =========================================
   COOKIE BANNER - MOBILE
========================================= */

@media (max-width: 800px) {

  .cookie-banner {
    padding: 20px 0;
  }

  .cookie-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .cookie-text strong {
    font-size: 17px;
  }

  .cookie-text p {
    font-size: 14px;
  }

  .cookie-buttons {
    width: 100%;
  }

  .cookie-btn {
    flex: 1;
  }

}

.thank-you-page {
  min-height: 85vh;
  padding: 80px 0;
}

.thank-you-text {
  font-size: 17px;
  line-height: 1.6;
}