/* migeba.css — მიღების ეტაპობრივი რეგისტრაცია.
   ვიზუალი: რბილი იისფერი გრადიენტის ფონი დეკორით + შუშისებრი (glass) ბარათები.
   პალიტრა = xelovneba-ს არსებული იისფერი (#7c3aed / #5b21b6). */

/* ══ ფონის დეკორატიული ფენა (fixed, კონტენტის უკან) ══ */
.mg-bg {
    position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none;
    background:
        radial-gradient(1100px 620px at 82% -8%, #ede4ff 0%, rgba(237, 228, 255, 0) 62%),
        radial-gradient(900px 560px at 8% 104%, #e9ddfd 0%, rgba(233, 221, 253, 0) 60%),
        linear-gradient(180deg, #faf7ff 0%, #f1eafd 46%, #f8f5ff 100%);
}
.mg-bg-dots {
    position: absolute; top: 84px; left: 40px; width: 190px; height: 118px; opacity: .55;
    background-image: radial-gradient(#c4b5fd 1.7px, transparent 1.7px);
    background-size: 23px 23px;
    -webkit-mask-image: linear-gradient(120deg, #000, transparent 78%);
    mask-image: linear-gradient(120deg, #000, transparent 78%);
}
.mg-blob { position: absolute; border-radius: 50%; filter: blur(58px); }
.mg-blob-1 { top: -70px; right: -60px; width: 340px; height: 340px; background: rgba(196, 181, 253, .5); }
.mg-blob-2 { top: 220px; left: -110px; width: 300px; height: 300px; background: rgba(221, 214, 254, .55); }
.mg-blob-3 { bottom: -120px; right: 12%; width: 380px; height: 380px; background: rgba(209, 196, 253, .42); }
.mg-curve { position: absolute; right: -40px; bottom: 8%; width: 460px; height: 300px; opacity: .5; }
.mg-curve path { fill: none; stroke: rgba(124, 58, 237, .16); stroke-width: 2; }

.mg-float { position: absolute; color: rgba(124, 58, 237, .14); will-change: transform; animation: mgFloat 11s ease-in-out infinite alternate; }
.mg-float-1 { top: 210px; left: 6%;  font-size: 2rem;   animation-duration: 9s; }
.mg-float-2 { top: 320px; right: 7%; font-size: 2.6rem; animation-duration: 13s; animation-delay: -3s; }
.mg-float-3 { top: 60%;   left: 4%;  font-size: 2.2rem; animation-duration: 12s; animation-delay: -6s; }
.mg-float-4 { top: 74%;   right: 12%;font-size: 1.8rem; animation-duration: 10s; animation-delay: -2s; }
.mg-float-5 { top: 44%;   right: 4%; font-size: 1.5rem; animation-duration: 14s; animation-delay: -8s; }
@keyframes mgFloat { from { transform: translateY(0) rotate(-6deg); } to { transform: translateY(-26px) rotate(6deg); } }

@media (prefers-reduced-motion: reduce) { .mg-float { animation: none; } }
@media (max-width: 1100px) { .mg-float-1, .mg-float-3 { display: none; } }
@media (max-width: 760px)  { .mg-float, .mg-bg-dots, .mg-curve { display: none; } }

/* ══ გვერდი ══ */
.mg { max-width: 1000px; margin: 0 auto; padding: 64px 22px 96px; position: relative; }

/* ── თავსართი ── */
.mg-head { text-align: center; margin-bottom: 34px; }
.mg-badge {
    display: inline-flex; align-items: center; gap: 7px;
    background: rgba(255, 255, 255, .72); border: 1px solid rgba(124, 58, 237, .18);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    color: #7c3aed; font-size: .76rem; font-weight: 700;
    padding: 7px 17px; border-radius: 20px; margin-bottom: 18px;
    text-transform: uppercase; letter-spacing: .07em;
    box-shadow: 0 4px 14px rgba(124, 58, 237, .1);
}
.mg-head h1 { font-size: clamp(1.7rem, 3.4vw, 2.3rem); font-weight: 800; color: #1a0a2e; letter-spacing: -.02em; margin-bottom: 10px; }
.mg-sub { color: #6b5b8a; font-size: 1rem; line-height: 1.7; max-width: 540px; margin: 0 auto; }

/* ── პროგრესი: შუშისებრი პილიუტები, დამაკავშირებელი ხაზით ── */
.mg-steps { display: flex; gap: 0; list-style: none; margin: 0 0 30px; padding: 0; flex-wrap: wrap; justify-content: center; align-items: center; }
.mg-steps li {
    display: flex; align-items: center; gap: 9px;
    padding: 8px 17px 8px 9px; border-radius: 999px;
    background: rgba(255, 255, 255, .55); border: 1px solid rgba(124, 58, 237, .1);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    color: #8b7aa8; font-size: .82rem; font-weight: 600; white-space: nowrap;
}
/* დამაკავშირებელი ხაზი პილიუტებს შორის */
.mg-steps li + li { margin-inline-start: 26px; position: relative; }
.mg-steps li + li::before {
    content: ''; position: absolute; inset-inline-start: -22px; top: 50%;
    width: 18px; height: 2px; border-radius: 2px; background: rgba(124, 58, 237, .2);
}
.mg-sn {
    width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
    background: rgba(196, 181, 253, .45); color: #7c3aed;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .74rem; font-weight: 800;
}
.mg-steps li.is-now {
    background: #fff; border-color: rgba(124, 58, 237, .5); color: #5b21b6;
    box-shadow: 0 6px 18px rgba(124, 58, 237, .16);
}
.mg-steps li.is-now .mg-sn { background: linear-gradient(150deg, #8b5cf6, #5b21b6); color: #fff; box-shadow: 0 3px 8px rgba(91, 33, 182, .35); }
.mg-steps li.is-done { background: rgba(240, 253, 246, .92); border-color: rgba(22, 163, 74, .24); color: #15803d; }
.mg-steps li.is-done .mg-sn { background: linear-gradient(150deg, #34d399, #15803d); color: #fff; box-shadow: 0 3px 8px rgba(21, 128, 61, .28); }
/* გავლილი ეტაპის შემდეგი დამაკავშირებელი ხაზიც მწვანეა */
.mg-steps li.is-done + li::before { background: rgba(22, 163, 74, .42); }

/* ── არჩეული გზა ── */
.mg-path {
    display: flex; align-items: flex-start; gap: 11px;
    background: rgba(255, 255, 255, .62); border: 1px solid rgba(124, 58, 237, .16);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-radius: 14px; padding: 13px 17px; margin-bottom: 26px;
    color: #5b21b6; font-weight: 700; font-size: .93rem; line-height: 1.5;
    box-shadow: 0 4px 16px rgba(124, 58, 237, .07);
}
.mg-path i { color: #7c3aed; flex-shrink: 0; }

.mg-path-end { color: rgba(124, 58, 237, .5); font-size: .85rem; margin-top: 3px; }
.mg-path > i:first-child { margin-top: 4px; }
.mg-path-in { flex: 1; min-width: 0; }
/* ზედა ხაზი — სკოლა და რამდენწლედია; ქვედა — არჩეული გზა */
.mg-path-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.mg-path-top b { font-size: 1rem; font-weight: 800; color: #1a0a2e; }
.mg-path-way {
    display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; margin-top: 6px;
    font-size: .87rem; font-weight: 600; color: #6d28d9;
}
.mg-path-way i { font-size: .7rem; color: rgba(124, 58, 237, .45); }

/* ── ნდობის ზოლი ── */
.mg-trust {
    position: relative; overflow: hidden;
    display: flex; align-items: center; gap: 16px; margin-top: 28px;
    background: rgba(237, 228, 255, .5); border: 1px solid rgba(124, 58, 237, .12);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-radius: 18px; padding: 18px 22px;
}
.mg-trust-ico {
    width: 50px; height: 50px; border-radius: 15px; flex-shrink: 0;
    background: #fff; color: #7c3aed; font-size: 1.15rem;
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 5px 16px rgba(124, 58, 237, .16);
}
.mg-trust b { display: block; font-size: .95rem; font-weight: 800; color: #1a0a2e; margin-bottom: 3px; }
.mg-trust p { margin: 0; font-size: .84rem; color: #6b5b8a; line-height: 1.6; }
.mg-trust-lock { position: absolute; inset-inline-end: 26px; font-size: 2.5rem; color: rgba(124, 58, 237, .13); }
@media (max-width: 620px) { .mg-trust-lock { display: none; } }

/* ── კითხვის სათაური ── */
.mg-q { font-size: clamp(1.2rem, 2.1vw, 1.5rem); font-weight: 800; color: #1a0a2e; letter-spacing: -.015em; margin: 0 0 20px; }

.mg-back {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255, 255, 255, .6); border: 1px solid rgba(124, 58, 237, .12);
    color: #7c3aed; text-decoration: none; font-weight: 700; font-size: .9rem;
    margin-bottom: 16px; padding: 9px 16px 9px 13px; border-radius: 999px;
    min-height: 40px; transition: background .18s, transform .18s;
}
.mg-back:hover { background: #fff; transform: translateX(-2px); }

/* ── ბარათები ── */
.mg-cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 620px) { .mg-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .mg-cards { gap: 18px; } }

.mg-card {
    display: flex; align-items: stretch; gap: 18px;
    background: rgba(255, 255, 255, .86);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .9); border-radius: 22px;
    padding: 18px; text-decoration: none;
    box-shadow: 0 10px 30px rgba(88, 44, 160, .09), inset 0 1px 0 rgba(255, 255, 255, .85);
    transition: box-shadow .25s, transform .25s, background .25s;
}
.mg-card:hover {
    background: #fff; transform: translateY(-4px);
    box-shadow: 0 20px 44px rgba(124, 58, 237, .2), inset 0 1px 0 #fff;
}
/* ილუსტრაციის ფილა — მარცხნივ */
.mg-card-art {
    position: relative; width: 132px; flex-shrink: 0; align-self: flex-start;
    aspect-ratio: 1; border-radius: 18px;
    background: linear-gradient(150deg, #f8f4ff 0%, #ebe0fd 100%);
    display: flex; align-items: center; justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
    transition: transform .25s;
}
.mg-art-svg { width: 108px; height: 108px; display: block; filter: drop-shadow(0 5px 8px rgba(76, 29, 149, .16)); }
/* დიზაინერის PNG-ს ფონის ფილა ჩაშენებული აქვს — ჩვენი ფონი და ჩრდილი იხსნება */
.mg-card-art.is-img { background: none; box-shadow: none; }
/* PNG-ებს ფონის ფილა ჩაშენებული აქვთ — კუთხეებს ვამრგვალებთ, რომ
   დახატულ SVG ფილებს დაემთხვეს და კვადრატის მკვეთრი კიდე არ ჩანდეს */
.mg-art-img { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: 18px; }
.mg-card:hover .mg-card-art { transform: scale(1.03); }

/* ტექსტის სვეტი — მარჯვნივ */
.mg-card-body { display: flex; flex-direction: column; gap: 8px; padding: 6px 6px 4px 0; min-width: 0; flex: 1; }
.mg-card-t { font-size: 1.06rem; font-weight: 800; color: #1a0a2e; letter-spacing: -.015em; line-height: 1.35; }
.mg-card-d { font-size: .86rem; color: #6b5b8a; line-height: 1.6; }
.mg-card-age {
    align-self: flex-start; display: inline-flex; align-items: center; gap: 7px;
    background: rgba(124, 58, 237, .09); border-radius: 999px; padding: 5px 13px 5px 10px;
    font-size: .8rem; font-weight: 700; color: #6d28d9;
}
.mg-card-go {
    align-self: flex-start; margin-top: auto; display: inline-flex; align-items: center; gap: 9px;
    background: #fff; border: 1.5px solid rgba(124, 58, 237, .3); border-radius: 12px;
    padding: 9px 17px; font-size: .85rem; font-weight: 700; color: #7c3aed;
    transition: background .2s, color .2s, border-color .2s;
}
.mg-card-go i { transition: transform .18s; }
.mg-card:hover .mg-card-go { background: #7c3aed; border-color: #7c3aed; color: #fff; }
.mg-card:hover .mg-card-go i { transform: translateX(4px); }

/* ── ფორმა ── */
.mg-form {
    background: rgba(255, 255, 255, .84);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .9); border-radius: 24px;
    padding: clamp(20px, 3vw, 34px);
    box-shadow: 0 12px 34px rgba(88, 44, 160, .1), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.mg-row { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
@media (min-width: 680px) { .mg-row { grid-template-columns: 1fr 1fr; } }
.mg-form label { display: block; font-size: .88rem; font-weight: 700; color: #3d2b5c; }
.mg-form label span { color: #dc2626; }
/* ველი წამყვანი ხატულით */
.mg-inp { position: relative; display: block; margin-top: 7px; }
.mg-inp > i {
    position: absolute; inset-inline-start: 15px; top: 50%; transform: translateY(-50%);
    color: #a78bfa; font-size: .9rem; pointer-events: none;
}
.mg-form input {
    width: 100%; box-sizing: border-box;
    min-height: 50px; padding: 12px 15px 12px 44px;
    font: inherit; font-size: 1rem; color: #1a0a2e;
    background: rgba(251, 250, 255, .9); border: 1px solid #e3daf3; border-radius: 13px;
    transition: border-color .18s, box-shadow .18s, background .18s;
}
.mg-form input:focus { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124, 58, 237, .16); background: #fff; }
.mg-hint { display: block; margin-top: 6px; font-size: .78rem; font-weight: 600; color: #8b7aa8; font-style: normal; }
.mg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mg-note { margin: 14px 0 0; font-size: .8rem; color: #8b7aa8; line-height: 1.6; display: flex; gap: 9px; align-items: flex-start; }

/* ── პერსონალურ მონაცემთა დადასტურებები ──
   ⚠️ ყველა სელექტორი `.mg-form`-ით იწყება: `.mg-form label` (display:block) და
   `.mg-form label span` (წითელი — სავალდებულოს ვარსკვლავისთვისაა) სხვაგვარად ჯაბნის. */
.mg-form .mg-privacy { margin: 22px 0 4px; padding: 17px 19px; border-radius: 14px;
  background: linear-gradient(160deg, #faf7ff, #fdfcff); border: 1px solid #e4d9f7; }
.mg-form .mg-privacy-hd { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 14px;
  padding-bottom: 13px; border-bottom: 1px solid #ece6f6; }
.mg-form .mg-privacy-hd > i { color: #7c3aed; font-size: .95rem; margin-top: 3px; flex-shrink: 0; }
.mg-form .mg-privacy-hd strong { display: block; font-size: .88rem; font-weight: 800; color: #1a0a2e; }
.mg-form .mg-privacy-hd a { display: inline-flex; align-items: center; gap: 5px; margin-top: 3px;
  font-size: .76rem; font-weight: 600; color: #6d28d9; text-decoration: none; }
.mg-form .mg-privacy-hd a:hover { color: #4c1d95; text-decoration: underline; }
.mg-form .mg-privacy-hd a i { font-size: .65rem; }

.mg-form label.mg-chk { display: flex; gap: 12px; align-items: flex-start;
  margin: 0 0 12px; cursor: pointer; font-weight: 400; }
.mg-form label.mg-chk:last-child { margin-bottom: 0; }
.mg-form label.mg-chk input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0;
  accent-color: #7c3aed; cursor: pointer; }
.mg-form label.mg-chk span { display: block; font-size: .845rem; font-weight: 400;
  color: #4c3a70; line-height: 1.7; }
.mg-form label.mg-chk a { color: #6d28d9; font-weight: 600; text-decoration: none;
  border-bottom: 1px solid rgba(109, 40, 217, .3); }
.mg-form label.mg-chk a:hover { color: #4c1d95; }
.mg-form label.mg-chk input:focus-visible { outline: 2px solid rgba(124, 58, 237, .5); outline-offset: 2px; }

@media (max-width: 560px) {
  .mg-form .mg-privacy { padding: 14px 15px; }
  .mg-form label.mg-chk span { font-size: .8rem; }
}
.mg-note i { color: #a78bfa; margin-top: 3px; flex-shrink: 0; }

.mg-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    background: linear-gradient(135deg, #8b5cf6, #5b21b6); color: #fff;
    text-decoration: none; border: 0; cursor: pointer;
    font-family: inherit; font-weight: 700; font-size: .95rem;
    padding: 14px 28px; min-height: 52px; border-radius: 14px;
    box-shadow: 0 10px 26px rgba(124, 58, 237, .32); transition: filter .18s, transform .18s;
}
.mg-btn:hover { filter: brightness(1.08); transform: translateY(-2px); }
.mg-submit { width: 100%; margin-top: 6px; }

/* ── შეცდომები ── */
.mg-alert {
    display: flex; gap: 11px; align-items: flex-start;
    background: rgba(254, 242, 242, .9); border: 1px solid #fecaca; color: #991b1b;
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-radius: 15px; padding: 14px 17px; margin-bottom: 20px;
    font-size: .9rem; line-height: 1.65;
}
.mg-alert i { margin-top: 3px; flex-shrink: 0; }
.mg-alert ul { margin: 0; padding-inline-start: 18px; }
.mg-alert li + li { margin-top: 5px; }

/* ── დადასტურება ── */
.mg-ok {
    text-align: center;
    background: rgba(255, 255, 255, .86);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .9); border-radius: 26px;
    padding: clamp(28px, 4vw, 46px) clamp(20px, 3vw, 40px);
    box-shadow: 0 14px 38px rgba(88, 44, 160, .1), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.mg-ok-ico { width: 78px; height: 78px; border-radius: 50%; background: linear-gradient(150deg, #22c55e, #15803d); color: #fff; font-size: 1.9rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; box-shadow: 0 14px 32px rgba(22, 163, 74, .3); }
.mg-ok h2 { font-size: clamp(1.4rem, 2.6vw, 1.85rem); font-weight: 800; color: #1a0a2e; letter-spacing: -.02em; margin-bottom: 8px; }
.mg-ok-no { color: #6b5b8a; font-size: 1rem; margin-bottom: 22px; }
.mg-ok-no b { color: #7c3aed; font-size: 1.15rem; letter-spacing: .02em; }
.mg-ok-box { display: grid; gap: 1px; background: #ece6f6; border: 1px solid #ece6f6; border-radius: 15px; overflow: hidden; text-align: start; margin-bottom: 24px; }
.mg-ok-box > div { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: space-between; background: rgba(251, 250, 255, .95); padding: 13px 17px; }
.mg-ok-box span { color: #8b7aa8; font-size: .87rem; font-weight: 600; }
.mg-ok-box b { color: #1a0a2e; font-size: .92rem; font-weight: 700; text-align: end; }
.mg-next { text-align: start; background: rgba(251, 250, 255, .9); border: 1px solid #ece6f6; border-radius: 15px; padding: 18px 20px; margin-bottom: 24px; }
.mg-next h3 { font-size: .95rem; font-weight: 800; color: #1a0a2e; margin: 0 0 10px; }
.mg-next ul { margin: 0; padding-inline-start: 20px; color: #6b5b8a; font-size: .89rem; line-height: 1.75; }
.mg-next li + li { margin-top: 6px; }

@media (max-width: 560px) {
    .mg { padding: 44px 16px 72px; }
    .mg-steps li em { display: none; }
    .mg-steps li { padding: 8px; }
    .mg-steps li + li { margin-inline-start: 18px; }
    .mg-steps li + li::before { inset-inline-start: -16px; width: 12px; }
    .mg-card { padding: 14px; gap: 14px; border-radius: 20px; }
    .mg-card-art { width: 100px; border-radius: 15px; }
    .mg-art-img { border-radius: 14px; }
    .mg-art-svg { width: 84px; height: 84px; }
    .mg-card-body { padding: 2px 0; gap: 7px; }
    .mg-card-t { font-size: .98rem; }
    .mg-card-go { padding: 8px 14px; font-size: .82rem; }
    .mg-trust { padding: 15px 17px; gap: 13px; }
}
/* კლასების დიაპაზონი გზის ზოლში — მაგ. „I–VII კლასი (შვიდწლედი)" */
.mg-path-k {
    display: inline-flex; align-items: center; font-style: normal;
    padding: 3px 11px; border-radius: 999px;
    background: rgba(124, 58, 237, .12); color: #6d28d9;
    font-size: .78rem; font-weight: 700; white-space: nowrap;
}
/* ვადის ჩიპი ბარათზე — მხოლოდ იმ მიმართულებებს, რომლებსაც ვადა აქვთ.
   ნეიტრალური ტონი: მწვანე ადგილების ჩიპს ეკავა და ერთ ბარათზე ორი მწვანე ერთმანეთში ერეოდა. */
.mg-card-term { background: rgba(107, 91, 138, .11); color: #5b4a7a; }

/* ── მისაღები გამოცდის ბარათი (დადასტურების ეკრანი) ── */
.mg-exam {
    text-align: start;
    background: linear-gradient(160deg, rgba(124, 58, 237, .07), rgba(236, 230, 246, .3));
    border: 1px solid rgba(124, 58, 237, .16);
    border-radius: 18px;
    padding: 20px 22px;
    margin-bottom: 18px;
}
.mg-exam-head { display: flex; align-items: flex-start; gap: 14px; }
.mg-exam-ico {
    flex-shrink: 0; width: 42px; height: 42px; border-radius: 13px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, #8b5cf6, #6d28d9); color: #fff; font-size: 1.05rem;
    box-shadow: 0 8px 20px rgba(109, 40, 217, .26);
}
.mg-exam h3 { font-size: 1rem; font-weight: 800; color: #1a0a2e; margin: 3px 0 6px; }
.mg-exam-head p { margin: 0; color: #5b4a7d; font-size: .89rem; line-height: 1.65; }
.mg-exam-lead { margin: 16px 0 12px; color: #5b4a7d; font-size: .89rem; line-height: 1.65; }
.mg-exam-lead b { color: #6d28d9; font-weight: 700; }
.mg-exam-list {
    list-style: none; margin: 0; padding: 0;
    display: grid; gap: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* ბოლო კრიტერიუმი ყველაზე გრძელია — მთელ სიგანეს იკავებს (2+2+1) */
.mg-exam-list li:last-child { grid-column: 1 / -1; }
@media (max-width: 720px) {
    .mg-exam-list { grid-template-columns: 1fr; }
    .mg-exam-list li:last-child { grid-column: auto; }
}
.mg-exam-list li {
    display: flex; align-items: center; gap: 11px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(124, 58, 237, .1);
    border-radius: 12px; padding: 11px 13px;
    color: #3d2b58; font-size: .88rem; font-weight: 600; line-height: 1.5;
}
.mg-exam-list i {
    flex-shrink: 0; width: 27px; height: 27px; border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(124, 58, 237, .12); color: #7c3aed; font-size: .78rem;
}

@media (max-width: 560px) {
    .mg-exam { padding: 16px 15px; border-radius: 16px; }
    .mg-exam-head { gap: 11px; }
    .mg-exam-ico { width: 36px; height: 36px; border-radius: 11px; font-size: .95rem; }
    .mg-exam h3 { font-size: .95rem; }
    .mg-exam-list li { padding: 10px 11px; font-size: .85rem; }
}

/* ── სწავლის საფასურის ზოლი ფორმის თავზე ── */
.mg-saf {
    display: flex; align-items: flex-start; gap: 14px; text-align: start;
    background: rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    border: 1px solid rgba(124, 58, 237, .16);
    border-radius: 18px; padding: 18px 20px; margin-bottom: 20px;
}
.mg-saf-ico {
    flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, #8b5cf6, #6d28d9); color: #fff; font-size: 1rem;
    box-shadow: 0 8px 18px rgba(109, 40, 217, .25);
}
.mg-saf-body { flex: 1; min-width: 0; }
.mg-saf-body > b { display: block; font-size: .93rem; font-weight: 800; color: #1a0a2e; margin: 3px 0 10px; }
.mg-saf-body ul { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 7px; }
.mg-saf-body li {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; justify-content: space-between;
    background: rgba(248, 245, 255, .9); border: 1px solid rgba(124, 58, 237, .1);
    border-radius: 11px; padding: 9px 13px;
}
.mg-saf-body li span { color: #3d2b58; font-size: .86rem; font-weight: 600; line-height: 1.5; }
.mg-saf-body li em { font-style: normal; color: #5b21b6; font-size: .92rem; font-weight: 800; white-space: nowrap; }
.mg-saf-body p { margin: 0; color: #6b5b8a; font-size: .8rem; line-height: 1.65; }

@media (max-width: 560px) {
    .mg-saf { padding: 15px 15px; gap: 11px; border-radius: 16px; }
    .mg-saf-ico { width: 34px; height: 34px; border-radius: 10px; font-size: .9rem; }
    .mg-saf-body > b { font-size: .88rem; }
}
.mg-saf-how {
    display: flex; align-items: flex-start; gap: 9px;
    background: rgba(124, 58, 237, .07); border-radius: 11px;
    padding: 9px 12px; margin-bottom: 10px;
    color: #3d2b58; font-size: .82rem; font-weight: 600; line-height: 1.6;
}
.mg-saf-how i { color: #7c3aed; font-size: .78rem; margin-top: 4px; flex-shrink: 0; }

/* ── დაბადების თარიღი — რიცხვი / თვე / წელი (native date-ის ლოკალზე არ ვართ დამოკიდებული) ── */
.mg-dob { display: grid; grid-template-columns: 1fr 1.5fr 1.15fr; gap: 8px; }
.mg-dob .mg-inp { margin-top: 7px; }
.mg-form .mg-dob select {
    width: 100%; box-sizing: border-box;
    min-height: 50px; padding: 12px 29px 12px 14px;
    font: inherit; font-size: 1rem; color: #1a0a2e;
    background: rgba(251, 250, 255, .9); border: 1px solid #e3daf3; border-radius: 13px;
    -webkit-appearance: none; appearance: none; cursor: pointer; text-overflow: ellipsis;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23a78bfa' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 11px center; background-size: 10px;
    transition: border-color .18s, box-shadow .18s, background-color .18s;
}
.mg-form .mg-dob select:focus { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124, 58, 237, .16); background-color: #fff; }
.mg-form .mg-dob select:invalid { color: #8b7aa8; }
.mg-form .mg-dob option { color: #1a0a2e; }

@media (max-width: 420px) {
    .mg-dob { grid-template-columns: 1fr 1.3fr; }
    .mg-dob .mg-inp:last-child { grid-column: 1 / -1; }
}

/* ── არასავალდებულო ველის აღნიშვნა ── */
.mg-form label .mg-opt {
    color: #8b7aa8; font-style: normal; font-size: .74rem; font-weight: 600;
    background: rgba(124, 58, 237, .08); border-radius: 8px; padding: 2px 8px;
    margin-inline-start: 6px; vertical-align: middle;
}
/* კლასის ჩამოსაშლელი — იმავე იერით, რაც თარიღის ველებს */
.mg-form select[name="klasi"] {
    width: 100%; box-sizing: border-box;
    min-height: 50px; padding: 12px 34px 12px 44px;
    font: inherit; font-size: 1rem; color: #1a0a2e;
    background: rgba(251, 250, 255, .9); border: 1px solid #e3daf3; border-radius: 13px;
    -webkit-appearance: none; appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23a78bfa' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 14px center; background-size: 11px;
    transition: border-color .18s, box-shadow .18s, background-color .18s;
}
.mg-form select[name="klasi"]:focus { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124, 58, 237, .16); background-color: #fff; }
/* ერთველიანი რიგი — მთელ სიგანეზე (მაგ. კლასის არჩევა) */
.mg-row.mg-row-full { grid-template-columns: 1fr; }

/* ══ დახურული მიმართულებები და ადგილების მთვლელი (24.08.2026) ══ */

/* დახურული ბარათი — ჩანს, მაგრამ არ იხსნება */
.mg-card.is-off {
    background: rgba(246, 244, 250, .78);
    border-color: rgba(120, 100, 150, .16);
    box-shadow: 0 6px 18px rgba(88, 44, 160, .05);
    cursor: not-allowed;
}
.mg-card.is-off:hover { transform: none; background: rgba(246, 244, 250, .78); box-shadow: 0 6px 18px rgba(88, 44, 160, .05); }
.mg-card.is-off .mg-card-art { filter: grayscale(1); opacity: .5; }
.mg-card.is-off:hover .mg-card-art { transform: none; }
.mg-card.is-off .mg-card-t { color: #6b6480; }
.mg-card.is-off .mg-card-d,
.mg-card.is-off .mg-card-age { opacity: .6; }

/* „ადგილები ამოიწურა" ჩიპი */
.mg-card-off {
    align-self: flex-start; margin-top: auto;
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(120, 100, 150, .1); border: 1.5px solid rgba(120, 100, 150, .2);
    border-radius: 12px; padding: 9px 15px;
    font-size: .84rem; font-weight: 700; color: #5f5875;
}

/* დარჩენილი ადგილები — ბარათზე */
.mg-card-seats { background: rgba(22, 163, 74, .11); color: #15803d; }
.mg-card-seats em { font-style: normal; font-weight: 600; opacity: .72; }
.mg-card-seats.is-low { background: rgba(217, 119, 6, .13); color: #b45309; }

/* დარჩენილი ადგილები — ფორმის თავზე */
.mg-seats {
    display: flex; align-items: center; gap: 11px;
    margin: 0 0 16px; padding: 13px 16px; border-radius: 14px;
    background: rgba(22, 163, 74, .09); border: 1px solid rgba(22, 163, 74, .18);
    color: #15803d; font-size: .92rem; font-weight: 600;
}
.mg-seats b { font-weight: 800; }
.mg-seats.is-low { background: rgba(217, 119, 6, .1); border-color: rgba(217, 119, 6, .22); color: #b45309; }

/* დახურული მიმართულების ეკრანი — ფორმის ნაცვლად */
.mg-closed {
    text-align: center; padding: 40px 24px;
    background: rgba(255, 255, 255, .86);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .9); border-radius: 24px;
    box-shadow: 0 10px 30px rgba(88, 44, 160, .09);
}
.mg-closed-ico {
    width: 68px; height: 68px; margin: 0 auto 18px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(120, 100, 150, .12); color: #5f5875; font-size: 1.6rem;
}
.mg-closed h2 { margin: 0 0 10px; font-size: 1.3rem; font-weight: 800; color: #1a0a2e; }
.mg-closed p { margin: 0 0 6px; color: #6b5b8a; line-height: 1.7; }
.mg-closed .mg-closed-sub { font-size: .9rem; opacity: .85; margin-bottom: 22px; }

@media (max-width: 600px) {
    .mg-closed { padding: 30px 18px; }
    .mg-closed h2 { font-size: 1.12rem; }
}
