/* MRVT fKRÉTA — outer shell only. The fKRÉTA form has its own Shadow DOM. */
.mrvt-fkreta {
  --mrvt-fkreta-primary: #123f79;
  --mrvt-fkreta-accent: #c1a367;
  --mrvt-fkreta-button-color: #ffffff;
  box-sizing: border-box;
  width: 100%; max-width: 1140px; margin: 1.5rem auto 2rem;
  font-family: inherit; color: #172b47;
  border: 1px solid #e2e8f0; border-radius: 15px;
  background: #fff; box-shadow: 0 12px 40px rgba(12,38,78,.075);
  overflow: hidden;
}
.mrvt-fkreta *, .mrvt-fkreta *::before, .mrvt-fkreta *::after { box-sizing: border-box; }
.mrvt-fkreta--standard { max-width: 910px; }
.mrvt-fkreta--wide { max-width: 1140px; }
.mrvt-fkreta--full { max-width: none; }
.mrvt-fkreta--plain { border: 0; border-radius: 0; box-shadow: none; }
.mrvt-fkreta__intro { padding: 24px clamp(20px,4vw,46px) 28px; background: linear-gradient(116deg,#081c40 0%,var(--mrvt-fkreta-primary) 100%); color: #fff; border-top: 4px solid var(--mrvt-fkreta-accent); }
.mrvt-fkreta__identity { display: flex; align-items: center; gap: 9px; font-size: .7rem; font-weight: 750; letter-spacing: .095em; text-transform: uppercase; color: #dae4f4; margin-bottom: 22px; }
.mrvt-fkreta__identity-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--mrvt-fkreta-accent); border-radius: 6px; color: var(--mrvt-fkreta-accent); font-size: 1rem; font-weight: 800; line-height: 1; }
.mrvt-fkreta__topline { display: flex; justify-content: space-between; align-items: center; gap: 34px; }
.mrvt-fkreta__heading-group { min-width: 0; }
.mrvt-fkreta__eyebrow { display: block; color: #e0cb9c; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 750; margin-bottom: 8px; }
.mrvt-fkreta__title { margin: 0 0 10px; font-size: clamp(1.55rem,2.8vw,2.35rem); line-height: 1.18; color: #fff; font-weight: 750; letter-spacing: -.025em; }
.mrvt-fkreta__lead { max-width: 730px; margin: 0; color: #e0eaf8; font-size: .99rem; line-height: 1.65; }
.mrvt-fkreta__tip { width: 245px; flex: 0 0 245px; display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.075); border-radius: 9px; font-size: .8rem; line-height: 1.52; color: #eef4ff; }
.mrvt-fkreta__tip-mark { flex: 0 0 19px; display: inline-grid; place-items: center; border-radius: 99px; border: 1px solid var(--mrvt-fkreta-accent); color: #f5dfb3; font-weight: bold; font-style: normal; height: 19px; font-size: 12px; }
.mrvt-fkreta__body { padding: clamp(18px,3.7vw,43px); background: #fff; }
.mrvt-fkreta__form-shell { width: 100%; min-width: 0; }
.mrvt-fkreta fkreta-app-form { display: block; width: 100%; max-width: 100%; min-width: 0; }
.mrvt-fkreta__status { margin-top: 14px; padding: 13px 16px; color: #123a60; border-radius: 7px; border: 1px solid #bfd8ec; background: #eff7fc; font-size: .94rem; }
.mrvt-fkreta__status[hidden] { display: none; }
.mrvt-fkreta__status--error { border-color: #e9bbbb; background: #fff5f5; color: #8a232b; }
.mrvt-fkreta__unavailable { margin: 0; border-radius: 8px; background: #f8fafc; padding: 15px 18px; color: #475569; }
.mrvt-fkreta__footer { display: flex; align-items: center; gap: 9px; padding: 15px clamp(20px,4vw,46px); border-top: 1px solid #e9edf3; background: #f9fbfe; color: #50617b; font-size: .82rem; line-height: 1.45; }
.mrvt-fkreta__footer-icon { display: grid; place-items: center; border: 1px solid #becce0; color: var(--mrvt-fkreta-primary); width: 20px; height: 20px; flex: 0 0 20px; border-radius: 50%; font-size: .7rem; font-weight: 700; }
@media (max-width: 760px) {
  .mrvt-fkreta { margin: .5rem auto 1.4rem; border-radius: 11px; }
  .mrvt-fkreta__intro { padding: 20px 18px 23px; }
  .mrvt-fkreta__identity { margin-bottom: 18px; }
  .mrvt-fkreta__topline { display: block; }
  .mrvt-fkreta__tip { width: 100%; margin-top: 20px; }
  .mrvt-fkreta__body { padding: 16px; }
  .mrvt-fkreta__footer { padding: 15px 18px; }
}
@media (prefers-reduced-motion: reduce) { .mrvt-fkreta, .mrvt-fkreta * { scroll-behavior: auto; } }

/* Catalogue controls */
.mrvt-fkreta__course-title { font-size: 1.13rem; font-weight: 750; margin-bottom: 14px; color: #182d47; }
.mrvt-fkreta__courses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 12px; margin-bottom: 24px; }
.mrvt-fkreta__course { appearance: none; text-align: left; display: flex; flex-direction: column; gap: 7px; min-height: 85px; border-radius: 9px; padding: 16px 18px; border: 1px solid #d5dce6; background: #fff; color: #172b47; font: inherit; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.mrvt-fkreta__course strong { font-size: 1rem; line-height: 1.45; }
.mrvt-fkreta__course small { font-size: .85rem; line-height: 1.45; color: #596a80; }
.mrvt-fkreta__course:hover, .mrvt-fkreta__course:focus-visible { border-color: var(--mrvt-fkreta-primary); box-shadow: 0 0 0 2px rgba(18,63,121,.1); }
.mrvt-fkreta__course.is-active { border-color: var(--mrvt-fkreta-primary); background: #f2f6fb; box-shadow: inset 4px 0 var(--mrvt-fkreta-accent); }
.mrvt-fkreta__panel[hidden] { display: none !important; }
.mrvt-fkreta__selected-name { margin: 0 0 18px; font-size: 1.28rem; color: #172b47; }
.mrvt-fkreta__notice { padding: 13px 17px; background: #f7f9fd; border-left: 3px solid var(--mrvt-fkreta-accent); line-height: 1.55; color: #30435b; margin: 0 0 22px; }

/* 1.2 catalogue/card screens */
.mrvt-fkreta [hidden] { display:none !important; }
.mrvt-fkreta__catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.mrvt-fkreta__course-title{margin:0;font-size:1.3rem}
.mrvt-fkreta__count{font-size:.85rem;color:#586a83;white-space:nowrap}
.mrvt-fkreta__courses{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin:0}
.mrvt-fkreta__course-card{border:1px solid #dae2eb;border-radius:12px;min-width:0;display:flex;flex-direction:column;gap:13px;padding:22px;background:#fff;box-shadow:0 4px 17px rgba(12,38,78,.045)}
.mrvt-fkreta__card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mrvt-fkreta__badge{border-radius:30px;padding:5px 10px;font-size:.75rem;line-height:1.3;font-weight:700}
.mrvt-fkreta__badge--open{background:#e5f4ec;color:#1f6846}
.mrvt-fkreta__badge--closed{background:#f2f3f5;color:#5c6571}
.mrvt-fkreta__course-code{font-size:.8rem;color:#63748b}
.mrvt-fkreta__card-name{font-size:1.35rem;font-weight:750;line-height:1.27;color:#173354;margin:0}
.mrvt-fkreta__card-desc{font-size:.93rem;line-height:1.55;color:#54657a;margin:0}
.mrvt-fkreta__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:4px 0 0}
.mrvt-fkreta__details div{min-width:0}
.mrvt-fkreta__details dt{font-size:.72rem;font-weight:600;color:#687a90;margin:0 0 3px}
.mrvt-fkreta__details dd{font-size:.9rem;font-weight:650;color:#253950;margin:0;overflow-wrap:anywhere}
.mrvt-fkreta__action{margin-top:auto;border:0;border-radius:8px;background:var(--mrvt-fkreta-primary);color:var(--mrvt-fkreta-button-color);padding:13px 16px;font:inherit;font-weight:700;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;min-height:46px}
.mrvt-fkreta__action:hover{filter:brightness(1.13)}
.mrvt-fkreta__action:focus-visible,.mrvt-fkreta__back:focus-visible{outline:3px solid var(--mrvt-fkreta-accent);outline-offset:3px}
.mrvt-fkreta__closed-note{margin-top:auto;background:#f7f8fa;color:#5f6775;border-radius:8px;padding:13px 16px;font-size:.87rem}
.mrvt-fkreta__detail{max-width:100%;min-width:0}
.mrvt-fkreta__back{border:0;background:none;color:var(--mrvt-fkreta-primary);cursor:pointer;font:inherit;font-weight:700;padding:5px 0;margin:0 0 18px}
.mrvt-fkreta__back::before{content:'←';margin-right:9px}
.mrvt-fkreta__detail-heading{font-size:clamp(1.3rem,2.5vw,1.7rem);line-height:1.35;color:#183453;margin:0 0 19px}
.mrvt-fkreta__detail-heading:focus{outline:none}
.mrvt-fkreta__important{background:#fff9e9;border:1px solid #e9d39d;border-left:4px solid var(--mrvt-fkreta-accent);border-radius:9px;padding:17px 19px;margin:0 0 23px;color:#4a3d27}
.mrvt-fkreta__important strong{display:block;margin:0 0 7px;font-size:1rem}
.mrvt-fkreta__important p{margin:0;line-height:1.6;font-size:.93rem}
.mrvt-fkreta__selected-name{font-size:1rem;font-weight:750;margin:0 0 15px;color:#263d59}
@media(max-width:560px){.mrvt-fkreta__course-card{padding:18px}.mrvt-fkreta__details{grid-template-columns:repeat(2,minmax(0,1fr))}.mrvt-fkreta__catalog-heading{align-items:flex-start;flex-direction:column}}

/* Verified programme information and optional supplementary document step. */
.mrvt-fkreta__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mrvt-fkreta__pk{margin:0;color:#516078;font-size:.85rem;overflow-wrap:anywhere}
.mrvt-fkreta__fee{margin:2px 0 0;padding:12px 0 0;border-top:1px solid #e4e9f0;color:var(--mrvt-fkreta-primary);font-size:.94rem;font-weight:750;line-height:1.5}
.mrvt-fkreta__step-hint{margin:0;font-size:.8rem;color:#52627b}
.mrvt-fkreta__course-info{border:1px solid #dce5ef;border-radius:12px;padding:clamp(16px,3vw,28px);margin-bottom:26px;background:#fbfcfe}
.mrvt-fkreta__details--full{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));margin:0 0 20px;gap:18px 24px}
.mrvt-fkreta__info-section{margin-top:22px}
.mrvt-fkreta__info-section h4,.mrvt-fkreta__curriculum h4,.mrvt-fkreta__extra-step h4,.mrvt-fkreta__form-heading{font-size:1.08rem;line-height:1.4;color:#173354;margin:0 0 10px;font-weight:750}
.mrvt-fkreta__info-section p,.mrvt-fkreta__extra-step p,.mrvt-fkreta__steps p{margin:0 0 12px;line-height:1.65;overflow-wrap:anywhere}
.mrvt-fkreta__conditions{margin:0}
.mrvt-fkreta__conditions div{margin:12px 0}
.mrvt-fkreta__conditions dt{font-size:.88rem;font-weight:750;color:#52627b}
.mrvt-fkreta__conditions dd{margin:4px 0 0;line-height:1.6}
.mrvt-fkreta__curriculum{margin:24px 0 18px;border-top:1px solid #dce5ef;padding-top:16px}
.mrvt-fkreta__curriculum summary{cursor:pointer;font-weight:750;color:var(--mrvt-fkreta-primary);padding:6px 0;margin-bottom:12px}
.mrvt-fkreta__curriculum li{margin-bottom:7px;line-height:1.5}
.mrvt-fkreta__document{display:inline-block;padding:10px 14px;border:1px solid #becfe2;border-radius:7px;font-weight:700;line-height:1.5}
.mrvt-fkreta__steps{padding:18px 20px;background:#edf4fc;border-left:4px solid var(--mrvt-fkreta-primary);border-radius:8px;margin-bottom:24px}
.mrvt-fkreta__steps strong{display:block;margin-bottom:8px}
.mrvt-fkreta__extra-step{margin-top:28px;padding:22px;border:1px solid #d9c38f;border-top:4px solid var(--mrvt-fkreta-accent);background:#fffaf0;border-radius:10px}
.mrvt-fkreta__extra-step--next{outline:3px solid var(--mrvt-fkreta-accent);outline-offset:3px}
.mrvt-fkreta__extra-step h4:focus{outline:2px solid var(--mrvt-fkreta-primary);outline-offset:4px}
.mrvt-fkreta__institution{padding:24px clamp(20px,4vw,46px);background:#f5f8fc;border-top:1px solid #dfe6ef;font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}
.mrvt-fkreta__institution p{margin:5px 0}
.mrvt-fkreta__institution-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:12px}
.mrvt-fkreta a{color:var(--mrvt-fkreta-primary);text-underline-offset:3px}
.mrvt-fkreta a:focus-visible,.mrvt-fkreta summary:focus-visible{outline:3px solid var(--mrvt-fkreta-accent);outline-offset:3px}
