/* Lumorra – Képzések (app.css + styles.css tokenekre építve) */

.sec-head { font-size: 1.2rem; color: var(--ink); margin: 1.4rem 0 .3rem; }
.sec-sub { margin: 0 0 1rem; color: var(--ink-soft); font-size: .9rem; }

/* Önismereti modulok */
.module-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.1rem; margin-bottom: .5rem; }
.module { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); padding: 1.2rem 1.3rem; display: flex; flex-direction: column; }
.mod-ic { font-size: 1.8rem; margin-bottom: .4rem; }
.module h3 { font-size: 1.05rem; color: var(--ink); margin: 0 0 .35rem; }
.module p { margin: 0 0 .8rem; font-size: .9rem; color: var(--ink-soft); flex: 1; }
.mod-meta { display: flex; gap: .6rem; align-items: center; margin-bottom: .9rem; font-size: .8rem; color: var(--ink-soft); }
.mod-meta .lvl { background: var(--brand-light); color: var(--brand-darker); border-radius: 999px; padding: .15rem .6rem; font-weight: 700; }
.mod-start { align-self: flex-start; }

/* Coachok */
.coach-list { display: flex; flex-direction: column; gap: 1.1rem; margin-bottom: 1rem; }
.coach { display: flex; gap: 1rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); padding: 1.2rem 1.3rem; }
.coach-av { flex: 0 0 auto; width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 1.5rem; }
.coach-main { min-width: 0; flex: 1; }
.coach-top { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.coach-top b { font-size: 1.1rem; color: var(--ink); }
.coach-role { color: var(--brand-dark); font-weight: 700; font-size: .85rem; }
.coach-spec { margin: .2rem 0 .4rem; font-size: .84rem; color: var(--ink-soft); }
.coach-bio { margin: 0 0 .9rem; font-size: .92rem; color: var(--ink); }

.slots { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.slot { border: 1px solid var(--brand-mint); background: var(--brand-light); color: var(--brand-darker); border-radius: 999px; padding: .4rem .9rem; font-size: .85rem; font-weight: 600; cursor: pointer; font-family: inherit; }
.slot:hover { background: #fff; }
.coach-booked { margin: 0; color: var(--brand-darker); font-weight: 700; font-size: .92rem; }
.linklike { border: 0; background: none; color: var(--ink-soft); text-decoration: underline; cursor: pointer; font-family: inherit; font-size: .85rem; }

@media (max-width: 720px) {
  .module-grid { grid-template-columns: 1fr; }
  .coach { flex-direction: column; }
}

/* Prémium-zárolt modul */
.module.modul-zarolt { position: relative; opacity: .96; }
.module.modul-zarolt::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(180deg, transparent 40%, rgba(255,255,255,.5)); pointer-events: none; }
.module .modul-lakat { position: absolute; top: .7rem; right: .8rem; font-size: 1.1rem; z-index: 1; }
.module .mod-start-prem { display: inline-block; text-align: center; text-decoration: none; }
