/* Training Home styles follow site design tokens in style.css */
.training-home__eyebrow{ color: var(--first-color); font-size:.88rem; font-weight:700; letter-spacing:.16rem; text-transform:uppercase; }
.training-home-section .section__title{ text-align:center; margin-bottom:.5rem; font-family: var(--second-font); font-weight:700; font-size: clamp(1.6rem, 3.2vw, 2.5rem); }
.training-home-section .section__subtitle{ text-align:center; font-weight:600; margin-bottom:1rem; color:var(--text-color); transform:none; }

.training-home__intro-card{ display:grid; grid-template-columns:1.2fr .9fr; gap:1.25rem; align-items:center; margin:0 auto 1rem; padding:1.5rem; border:1px solid rgba(255,255,255,0.06); border-radius:22px; background: radial-gradient(circle at top left, rgba(124,190,97,0.16), transparent 34%), linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.012)); box-shadow:0 20px 48px rgba(0,0,0,0.16); }
.training-home__intro-title{ margin:0 0 .55rem; color:var(--title-color); font-size:clamp(1.15rem, 2vw, 1.65rem); }
.training-home__intro-text{ margin:0; color:var(--text-color); line-height:1.7; }
.training-home__highlights{ display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
.training-home__highlight{ display:inline-flex; align-items:center; justify-content:center; min-height:2.8rem; padding:.8rem 1rem; border-radius:999px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); color:var(--title-color); font-size:.9rem; font-weight:700; text-align:center; }

.change-location{ display:inline-flex; align-items:center; gap:.6rem; margin:0 auto; padding:.65rem 1rem; border-radius:10px; font-weight:700; background: linear-gradient(90deg,var(--first-color),var(--first-color-alt)); color:var(--title-color-black); border: none; box-shadow: 0 10px 30px rgba(18,83,36,0.10); transition: transform .14s ease, box-shadow .14s ease, filter .14s ease; }
.change-location:hover{ transform: translateY(-4px); box-shadow: 0 18px 40px rgba(18,83,36,0.14); filter: brightness(1.02); }
.change-location:focus{ outline: 3px solid rgba(79,170,80,0.18); }

.training-home__question{ font-weight:800; text-align:center; color:var(--title-color); margin-bottom:1rem; }

.duration__wrap{ display:grid; grid-template-columns: repeat(3, 1fr); gap:1.25rem; margin-top:1rem; align-items:stretch; }

.session-card{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.6rem;
    padding:1.6rem 1.25rem;
    border-radius:14px;
    background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.006));
    border:1px solid rgba(255,255,255,0.03);
    color:var(--title-color);
    text-align:center;
    transition: transform .18s ease, box-shadow .18s ease;
    cursor:pointer;
    text-decoration:none;
    overflow:hidden;
}

.session-badge{ position:absolute; top:.9rem; right:.9rem; display:inline-flex; align-items:center; justify-content:center; padding:.32rem .7rem; border-radius:999px; background:rgba(124,190,97,0.12); border:1px solid rgba(124,190,97,0.18); color:var(--title-color); font-size:.72rem; font-weight:800; letter-spacing:.04rem; text-transform:uppercase; }

.session-icon{ width:66px; height:66px; border-radius:50%; display:grid; place-items:center; font-size:22px; background: linear-gradient(180deg, var(--first-color), var(--first-color-alt)); color:var(--title-color-black); box-shadow: 0 10px 26px rgba(2,6,23,0.10); }
.session-time{ font-weight:800; font-size:1.1rem; }
.session-title{ font-weight:700; }
.session-desc{ color:var(--text-color); font-size:.95rem; }

/* Hover: lift then shake (alarm-clock wobble) */
.session-card:hover{
    animation: lift-shake 0.72s ease-in-out both;
}

@keyframes lift-shake{
    0% { transform: translateY(0) rotate(0deg); box-shadow: 0 8px 20px rgba(2,6,23,0.06); }
    25% { transform: translateY(-12px) rotate(-1deg); }
    40% { transform: translateY(-10px) rotate(1deg); }
    55% { transform: translateY(-12px) rotate(-1deg); }
    70% { transform: translateY(-10px) rotate(1deg); }
    100% { transform: translateY(0) rotate(0deg); box-shadow: 0 8px 20px rgba(2,6,23,0.06); }
}

/* Make cards equal height */
.duration__wrap{ align-items: stretch; grid-auto-rows: 1fr; }
.session-card{ height:100%; display:flex; flex-direction:column; justify-content:center; }

/* Responsive */
@media screen and (max-width: 1024px){
    .training-home__intro-card{ grid-template-columns:1fr; text-align:center; }
    .duration__wrap{ grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 720px){
    .duration__wrap{ grid-template-columns: 1fr; }
    .session-icon{ width:56px; height:56px; font-size:18px; }
    .training-home__intro-card{ padding:1.25rem; }
}
