/* =====================================================================
   MOMENT MOCY — terminarz (terminarz.php)
   Karta terminu (.mm-ev) siedzi w mm.css — używa jej też strona główna.
   ===================================================================== */

/* Hero: wstęp + najbliższy termin */
.mm-sched-hero { text-align: left; place-items: stretch; min-height: auto; }
.mm-sched-hero-grid { position: relative; z-index: 2; display: grid; gap: clamp(40px, 6vw, 90px); align-items: center; }
.mm-sched-hero-grid.has-next { grid-template-columns: 1fr minmax(0, 470px); }
.mm-sched-hero-grid:not(.has-next) { text-align: center; max-width: 900px; }
.mm-sched-hero-grid:not(.has-next) .mm-hero-lead { margin-left: auto; margin-right: auto; }
.mm-sched-intro .mm-hero-lead { margin-left: 0; }

.mm-sched-stats { list-style: none; padding: 0; margin: 0 0 26px; display: flex; flex-wrap: wrap; gap: 14px; }
.mm-sched-stats li {
    display: grid; gap: 2px; min-width: 120px; padding: 14px 18px; border-radius: 18px;
    border: 1px solid var(--line); background: var(--glass);
}
.mm-sched-stats strong { font-family: var(--mm-serif); font-weight: 400; font-size: 34px; line-height: 1; color: var(--mm-gold); }
.mm-sched-stats span { font-size: 13px; color: var(--fg-dim); }

/* Najbliższy termin */
.mm-next {
    overflow: hidden; border-radius: 30px;
    background: rgba(20, 16, 41, .72); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(230, 196, 126, .32);
    box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .85), 0 0 80px -30px rgba(230, 196, 126, .45);
}
.mm-next-media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; }   /* kwadrat — grafiki szkoleń są kwadratowe (04.10) */
.mm-next-media img { width: 100%; height: 100%; object-fit: cover; }
.mm-next-ph {
    position: absolute; inset: 0; display: grid; place-items: center; color: var(--mm-gold);
    background: radial-gradient(circle at 50% 70%, rgba(230, 196, 126, .3), transparent 60%), linear-gradient(160deg, #3d2a63, #1a1336);
}
.mm-next-ph-ico { width: 84px; height: 84px; }
.mm-next-flag {
    position: absolute; left: 16px; top: 16px;   /* w rogu — nie zasłania napisów na grafice */
    display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
    padding: 6px 14px; border-radius: 999px; background: rgba(12, 10, 27, .8);
    font-family: var(--mm-caps); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--mm-gold);
}
.mm-next-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mm-gold); box-shadow: 0 0 10px var(--mm-gold); animation: mm-pulse 2.4s ease-in-out infinite; }
.mm-next-date {
    position: absolute; right: 16px; top: 16px; display: grid; place-items: center; align-content: center;
    width: 64px; height: 64px; border-radius: 50%;
    background: rgba(12, 10, 27, .82); border: 1px solid rgba(230, 196, 126, .5); text-align: center;
}
.mm-next-date b { font-family: var(--mm-serif); font-weight: 400; font-size: 26px; line-height: 1; color: var(--mm-gold); }
.mm-next-date small { font-family: var(--mm-caps); font-size: 10px; letter-spacing: .16em; }
.mm-next-body { padding: 24px 28px 28px; }
.mm-next-kind { margin: 0; font-family: var(--mm-caps); font-size: 11.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--mm-gold); }
.mm-next-title { margin: 6px 0 8px; font-family: var(--mm-serif); font-weight: 400; font-size: 30px; line-height: 1.15; }
.mm-next-title a { color: var(--mm-moon); text-decoration: none; }
.mm-next-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 18px; font-size: 14.5px; color: var(--fg-dim); }

.mm-countdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 20px; }
.mm-countdown div { display: grid; justify-items: center; padding: 10px 4px; border-radius: 16px; border: 1px solid var(--line); background: rgba(255, 255, 255, .03); }
.mm-countdown b { font-family: var(--mm-serif); font-weight: 400; font-size: 30px; line-height: 1; color: var(--mm-moon); }
.mm-countdown span { font-size: 11px; letter-spacing: .1em; color: var(--fg-soft); margin-top: 4px; }
.mm-countdown.is-live b { color: var(--mm-gold); }

.mm-next-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mm-next-price { font-family: var(--mm-serif); font-size: 28px; margin-right: auto; }
.mm-next-foot .mm-btn { padding: 12px 20px; font-size: 11.5px; }

/* Narzędzia: wyszukiwarka + filtry */
.mm-sched-tools {
    display: grid; gap: 16px; padding: 20px 22px; margin-bottom: 36px; border-radius: 26px;
    border: 1px solid var(--line); background: var(--glass);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    position: sticky; top: 76px; z-index: 5;
}
.mm-sched-search { position: relative; display: block; }
.mm-sched-search-ico { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; color: var(--mm-gold); pointer-events: none; }
.mm-sched-search input {
    width: 100%; padding: 14px 18px 14px 52px; border-radius: 999px;
    border: 1px solid rgba(230, 196, 126, .28); background: rgba(255, 255, 255, .05);
    color: var(--mm-moon); font: inherit; font-size: 16px; font-weight: 300;
}
.mm-sched-search input::placeholder { color: rgba(245, 239, 228, .4); }
.mm-sched-search input:focus { outline: none; border-color: var(--mm-gold); box-shadow: 0 0 0 4px rgba(230, 196, 126, .12); }
.mm-sched-groups { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; }
.mm-sched-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.mm-sched-group .mm-chip { margin: 0; padding: 7px 14px; font-size: 11px; }
.mm-sched-label { font-family: var(--mm-caps); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--fg-soft); margin-right: 4px; }
.mm-sched-count { margin-left: auto; font-size: 13px; color: var(--fg-soft); }

/* Lista z miesiącami */
.mm-sched-list { display: grid; gap: 16px; }
.mm-sched-month { display: flex; align-items: center; gap: 18px; margin: 30px 0 4px; }
.mm-sched-month:first-child { margin-top: 0; }
.mm-sched-month h2 { margin: 0; font-family: var(--mm-serif); font-weight: 300; font-size: clamp(32px, 3.4vw, 46px); line-height: 1; }
.mm-sched-month h2 span { font-style: italic; color: var(--mm-gold); }
.mm-sched-month-rule { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(230, 196, 126, .5), transparent); }
.mm-sched-month-count { font-size: 13px; color: var(--fg-soft); }

.mm-sched-empty, .mm-sched-none {
    width: 100%; margin: 0; text-align: center; padding: clamp(50px, 6vw, 80px) 30px; border-radius: 30px;
    border: 1px solid var(--line); background: var(--glass);
}
.mm-sched-empty .mm-moons { margin-bottom: 26px; }
.mm-sched-empty-ico { width: 56px; height: 56px; margin: 0 auto 16px; color: var(--mm-gold); }
.mm-sched-empty h2, .mm-sched-none h3 { margin: 0 0 12px; font-family: var(--mm-serif); font-weight: 400; font-size: 34px; }
.mm-sched-empty p, .mm-sched-none p { max-width: 640px; margin: 0 auto 24px; color: var(--fg-dim); }
.mm-sched-empty a:not(.mm-btn), .mm-sched-none a { color: var(--mm-gold); }

@media (max-width: 1000px) {
    .mm-sched-hero-grid.has-next { grid-template-columns: 1fr; }
    .mm-next { max-width: 520px; width: 100%; justify-self: center; }
    .mm-sched-tools { position: static; }
}
@media (max-width: 720px) {
    .mm-sched-stats li { min-width: 0; flex: 1 1 40%; }
    .mm-sched-count { margin-left: 0; width: 100%; }
    .mm-next-title { font-size: 25px; }
    .mm-next-body { padding: 20px; }
    .mm-countdown b { font-size: 24px; }
    .mm-next-foot .mm-btn { flex: 1 1 auto; }
}
