.training-section { padding: 80px 10%; }
.training-intro { text-align: center; max-width: 800px; margin: 0 auto 60px auto; }
.training-intro h2 { font-family: "Bebas Neue", sans-serif; font-size: 45px; letter-spacing: 2px; margin-bottom: 15px; }
.training-intro p { font-size: 18px; line-height: 1.6; color: #ccc; }

.training-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; max-width: 1200px; margin: 0 auto; }
.training-card { background: #181818; padding: 40px 30px; border-radius: 15px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; border-top: 4px solid #d81f26; transition: 0.3s ease-in-out; flex: 1 1 320px; max-width: 360px; }
.training-card:hover { transform: translateY(-8px); box-shadow: 0 10px 25px rgba(216, 31, 38, 0.25); }
.training-card h3 { font-family: "Bebas Neue", sans-serif; font-size: 32px; letter-spacing: 1px; margin-bottom: 10px; }
.training-card .tag { background: #252525; color: #d81f26; font-size: 12px; font-weight: 700; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; margin-bottom: 20px; letter-spacing: 1px; }
.training-card p { font-size: 15px; line-height: 1.7; color: #b3b3b3; margin-bottom: 0; }
.training-card .btn { width: 100%; text-align: center; margin: 0; border-radius: 6px; font-weight: 600; }

.future-card { border-top-color: #555; }
.future-card .tag { color: #aaa; }

.training-cta { background: #121212; text-align: center; padding: 90px 10%; border-top: 1px solid #222; }
.training-cta h2 { font-family: "Bebas Neue", sans-serif; font-size: 50px; letter-spacing: 2px; margin-bottom: 15px; }
.training-cta p { font-size: 18px; color: #ccc; max-width: 600px; margin: 0 auto 30px auto; line-height: 1.6; }

/* =========================================
   TABLET / IPAD RESPONSIVENESS (1024px)
   ========================================= */
@media (max-width: 1024px) {
    .training-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* Forces exactly 2 columns side-by-side */
        gap: 20px;
        max-width: 800px; /* Keeps the cards from getting too stretched */
        margin: 0 auto;
    }
    .training-card {
        max-width: 100%; /* Allows cards to fill their grid column */
    }
}

/* =========================================
   TRAINING MOBILE RESPONSIVENESS (768px)
   ========================================= */
@media (max-width: 768px) {
    .training-section {
        padding: 50px 5%;
    }
    .training-intro {
        margin-bottom: 40px;
    }
    .training-intro h2 {
        font-size: 36px;
    }
    .training-intro p {
        font-size: 16px;
        padding: 0 10px;
    }

    /* Compress the grid and cards for mobile */
    .training-grid {
        display: flex; /* Switches back to flex for mobile vertical stacking */
        gap: 15px; /* Cuts the space between cards in half */
    }
    .training-card {
        padding: 25px 20px; /* Massively reduces bulky empty space inside the card */
        flex: 1 1 100%;
        max-width: 100%;
    }
    .training-card h3 {
        font-size: 26px;
        margin-bottom: 8px;
    }
    .training-card .tag {
        font-size: 11px;
        padding: 3px 10px;
        margin-bottom: 12px;
    }
    .training-card p {
        font-size: 14px;
        line-height: 1.5;
    }

    .training-cta {
        padding: 60px 5%;
    }
    .training-cta h2 {
        font-size: 38px;
    }
    .training-cta p {
        font-size: 16px;
    }
}