/* MDF Program 2027 — additions on top of mdf-program.css
   (4-card benefits, Registration Guarantee slide, NEW tags, price row). */

:root {
  --mdf-cyan: #7FE7FF;
  --mdf-cyan-strong: #22D3EE;
  --mdf-violet: #8B5CF6;
  --mdf-ink: #060a26;
}

/* ---------- NEW tag ---------- */
.t-mdf-program .tag-new {
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  font-family: Poppins, Inter, sans-serif;
  font-size: 11px;
  font-weight: 700;
  font-style: normal;
  line-height: 16px;
  letter-spacing: .5px;
  color: var(--mdf-ink);
  background: linear-gradient(90deg, var(--mdf-cyan-strong), var(--mdf-cyan));
  -webkit-text-fill-color: var(--mdf-ink);
}

/* ---------- Benefits: 4 cards ---------- */
.t-mdf-program .benefit-2027 { position: relative; min-height: 100%; padding-bottom: 60px; box-sizing: border-box; }
.t-mdf-program .benefit-2027 h2 { width: 70%; margin-top: 130px; font-size: 56px; line-height: 68px; }
.t-mdf-program .benefit-2027 .group { gap: 24px; }
.t-mdf-program .benefit-2027 .group .item { width: 25%; padding: 18px; }
.t-mdf-program .benefit-2027 .group .item img { aspect-ratio: 504 / 302; object-fit: cover; margin-bottom: 18px; }
.t-mdf-program .benefit-2027 .group .item b { display: block; font-size: 20px; line-height: 28px; margin-bottom: 8px; }
.t-mdf-program .benefit-2027 .group .item span { font-size: 15px; line-height: 23px; min-height: 115px; }
.t-mdf-program .mdf-page.active .group > .item:nth-child(4) { animation-delay: 0.85s; }

/* ---------- Registration Guarantee ---------- */
.t-mdf-program .page-guarantee .packages h2 { width: 100%; }
.t-mdf-program .page-guarantee .desc b { color: var(--mdf-cyan); font-weight: 700; }
.t-mdf-program .g-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  padding-bottom: 80px;
}
.t-mdf-program .mdf-page.active .g-grid > * { opacity: 0; animation: mdf-fade-up .8s ease-out forwards; }
.t-mdf-program .mdf-page.active .g-grid > .g-left { animation-delay: .35s; }
.t-mdf-program .mdf-page.active .g-grid > .g-right { animation-delay: .55s; }

.t-mdf-program .g-lead {
  font-family: Poppins, Inter, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  margin: 0 0 28px;
  color: rgba(255, 255, 255, .9);
}
.t-mdf-program .g-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.t-mdf-program .g-steps li {
  display: flex;
  gap: 18px;
  padding: 20px 22px;
  border-radius: 14px;
  background: linear-gradient(130deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset -3px -6px 8px rgba(120,175,255,.25);
  backdrop-filter: blur(10px);
}
.t-mdf-program .g-steps li > i {
  flex: 0 0 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Poppins, Inter, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  color: var(--mdf-ink);
  background: linear-gradient(135deg, var(--mdf-cyan-strong), var(--mdf-violet));
}
.t-mdf-program .g-steps b { display: block; font-family: Poppins, Inter, sans-serif; font-size: 18px; font-weight: 700; line-height: 26px; margin-bottom: 4px; }
.t-mdf-program .g-steps span { display: block; font-family: Poppins, Inter, sans-serif; font-size: 15px; line-height: 23px; color: rgba(255,255,255,.82); }
.t-mdf-program .g-steps em { font-style: normal; color: var(--mdf-cyan); }

.t-mdf-program .g-card {
  position: relative;
  padding: 28px 28px 24px;
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(34,211,238,.16), rgba(139,92,246,.14));
  border: 1.5px solid rgba(127,231,255,.45);
  box-shadow: 0 0 40px rgba(34,211,238,.18);
  backdrop-filter: blur(12px);
}
.t-mdf-program .g-shield { position: absolute; top: -26px; right: 22px; width: 76px; }
.t-mdf-program .g-label { font-family: Poppins, Inter, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--mdf-cyan); }
.t-mdf-program .g-formula {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 6px;
  font-family: Poppins, Inter, sans-serif;
  font-size: 20px;
  font-weight: 600;
}
.t-mdf-program .g-formula .frac { display: inline-flex; flex-direction: column; text-align: center; font-size: 16px; line-height: 24px; }
.t-mdf-program .g-formula .frac span:first-child { border-bottom: 2px solid #fff; padding: 0 6px 2px; }
.t-mdf-program .g-formula .frac span:last-child { padding-top: 2px; }
.t-mdf-program .g-cap { font-family: Poppins, Inter, sans-serif; font-size: 13px; color: rgba(255,255,255,.7); margin-bottom: 18px; }
.t-mdf-program .g-example { border-top: 1px dashed rgba(255,255,255,.3); padding-top: 14px; font-family: Poppins, Inter, sans-serif; font-size: 15px; }
.t-mdf-program .g-ex-title { font-weight: 700; margin-bottom: 8px; }
.t-mdf-program .g-ex-row { display: flex; justify-content: space-between; padding: 5px 0; color: rgba(255,255,255,.85); }
.t-mdf-program .g-ex-row b { font-weight: 600; color: #fff; }
.t-mdf-program .g-ex-row.total { margin-top: 6px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.2); }
.t-mdf-program .g-ex-row.total b { font-size: 22px; color: var(--mdf-cyan); }
.t-mdf-program .g-fine {
  margin: 20px 0 0;
  padding-left: 18px;
  font-family: Poppins, Inter, sans-serif;
  font-size: 13px;
  line-height: 20px;
  color: rgba(255,255,255,.7);
  list-style: disc;
}
.t-mdf-program .g-fine li + li { margin-top: 4px; }

/* ---------- Packages ---------- */
.t-mdf-program .packages .addon-note { font-family: Poppins, Inter, sans-serif; font-size: 15px; color: var(--mdf-cyan); margin: -12px 0 20px; }

/* ---------- Comparison ---------- */
.t-mdf-program .border-table .row-title .tag-new { margin-left: 6px; }
.t-mdf-program .border-table tr.row-price td {
  padding-top: 28px;
  font-family: Poppins, Inter, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--mdf-cyan);
}
.t-mdf-program .border-table tr.row-price td.row-title { color: #fff; font-size: 16px; }

/* ---------- Responsive ---------- */
@media (max-width: 1400px) {
  .t-mdf-program .benefit-2027 .group { flex-wrap: wrap; }
  .t-mdf-program .benefit-2027 .group .item { width: calc(50% - 12px); box-sizing: border-box; }
}
@media (max-width: 900px) {
  .t-mdf-program .benefit-2027 h2 { width: 100%; font-size: 36px; line-height: 46px; margin-top: 90px; }
  .t-mdf-program .benefit-2027 .group .item { width: 100%; }
  .t-mdf-program .benefit-2027 .group .item span { min-height: 0; }
  .t-mdf-program .g-grid { grid-template-columns: 1fr; gap: 32px; }
  .t-mdf-program .g-shield { width: 56px; top: -20px; }
  .t-mdf-program .page-guarantee .packages { position: relative; height: auto; }
}

/* ---------- Top menu: 7 items ---------- */
.t-mdf-program .topmenu { width: auto; }
.t-mdf-program .topmenu::before { width: 100%; height: 100%; }
.t-mdf-program .topmenu ul li { white-space: nowrap; padding: 12px 16px; font-size: 17px; }
@media (max-width: 1340px) and (min-width: 901px) {
  .t-mdf-program .topmenu ul li { padding: 10px 11px; font-size: 15px; }
}

/* ---------- Guarantee: frosted backdrop like Packages ---------- */
.t-mdf-program .page-guarantee { overflow-y: auto; }
.t-mdf-program .page-guarantee::before {
  content: '';
  display: block;
  position: fixed;
  inset: 0;
  z-index: -1;
  backdrop-filter: blur(10px) saturate(1.05);
  background: rgba(3, 6, 24, 0.35);
}

/* ---------- Benefit explanations (hover / tap) ---------- */
.t-mdf-program .tip-trigger {
  cursor: help;
  border-bottom: 1px dashed rgba(127, 231, 255, .55);
  padding-right: 22px;
  position: relative;
  outline: none;
}
.t-mdf-program .tip-trigger::after {
  content: 'i';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1.5px solid var(--mdf-cyan);
  color: var(--mdf-cyan);
  font: 700 10px/12px Poppins, Inter, sans-serif;
  text-align: center;
  font-style: italic;
}
.t-mdf-program .tip-trigger:hover,
.t-mdf-program .tip-trigger:focus-visible { color: var(--mdf-cyan); }
.t-mdf-program .tip-trigger:focus-visible { box-shadow: 0 0 0 2px var(--mdf-cyan); border-radius: 4px; }
.t-mdf-program .tip-hint {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 400;
  -webkit-text-fill-color: rgba(255, 255, 255, .7);
}
.t-mdf-program .mdf-tip {
  position: fixed;
  z-index: 300;
  width: 300px;
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
  padding: 16px;
  border-radius: 14px;
  background: rgba(8, 14, 48, .96);
  border: 1px solid rgba(127, 231, 255, .45);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .55), 0 0 30px rgba(34, 211, 238, .15);
  font-family: Poppins, Inter, sans-serif;
  color: #fff;
  text-align: left;
}
.t-mdf-program .mdf-tip[hidden] { display: none; }
.t-mdf-program .mdf-tip b { display: block; font-size: 15px; font-weight: 700; line-height: 21px; margin-bottom: 6px; color: var(--mdf-cyan); }
.t-mdf-program .mdf-tip p { margin: 0; font-size: 13px; line-height: 19px; color: rgba(255, 255, 255, .88); }
.t-mdf-program .mdf-tip .wf { margin-top: 12px; }
.t-mdf-program .mdf-tip .wf svg { display: block; width: 100%; height: auto; }
.t-mdf-program .mdf-tip .legend { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11px; color: rgba(255, 255, 255, .7); }
.t-mdf-program .mdf-tip .legend i {
  width: 14px; height: 14px; border-radius: 50%;
  font: 700 8px/14px Poppins, Inter, sans-serif; font-style: normal; text-align: center; color: #06102e;
  margin-left: 6px;
}
.t-mdf-program .mdf-tip .legend i:first-child { margin-left: 0; }
.t-mdf-program .mdf-tip .legend i.d { background: #22D3EE; }
.t-mdf-program .mdf-tip .legend i.g { background: #FFE770; }
.t-mdf-program .mdf-tip .legend i.s { background: #d6d6d6; }

/* ---------- Comparison extras ---------- */
.t-mdf-program .border-table tr.row-slots td { font-family: Poppins, Inter, sans-serif; font-size: 15px; color: rgba(255,255,255,.8); }

/* ---------- Form: billing note ---------- */
.t-mdf-program .form-box .bill-note { font-family: Poppins, Inter, sans-serif; font-size: 13px; color: var(--mdf-cyan); margin: -8px 0 16px; }

@media (prefers-reduced-motion: reduce) {
  .t-mdf-program .mdf-page.active * { animation: none !important; opacity: 1 !important; }
}

/* ---------- Packages: longer feature lists ---------- */
.t-mdf-program .packages .group .item { padding-bottom: 76px; }
.t-mdf-program .packages .group .item > .note { width: max-content; max-width: calc(100% - 40px); }

/* Info icon sits inline so it never drops to its own line */
.t-mdf-program .tip-trigger { padding-right: 0; }
.t-mdf-program .tip-trigger::after {
  position: static;
  transform: none;
  display: inline-block;
  vertical-align: 1px;
  margin-left: 6px;
  box-sizing: border-box;
  line-height: 11px;
}

/* =========== Booking form: Plan → Details → Review =========== */
.t-mdf-program .page-form { position: relative; min-height: 100%; height: auto; }
.t-mdf-program .page-form .mdf-container { padding-top: 130px; padding-bottom: 60px; }
.t-mdf-program .form-box { top: auto; transform: none; margin-top: 0; align-items: flex-start; }
.t-mdf-program .form-box .form { width: 60%; padding: 32px; }
.t-mdf-program .form-box .box { width: 40%; position: sticky; top: 24px; }
.t-mdf-program .form-box .form::after { display: none; }

.t-mdf-program .bk-steps { display: flex; gap: 8px; list-style: none; margin: 0 0 28px; padding: 0; flex-wrap: wrap; }
.t-mdf-program .bk-steps li > span,
.t-mdf-program .bk-steps li > button {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 14px 6px 6px; border-radius: 999px; border: 0;
  font: 500 14px/20px Poppins, Inter, sans-serif; color: rgba(255,255,255,.6);
  background: rgba(255,255,255,.06);
}
.t-mdf-program .bk-steps li > button { cursor: pointer; color: #fff; }
.t-mdf-program .bk-steps li > button:hover { background: rgba(255,255,255,.14); }
.t-mdf-program .bk-steps i {
  width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-style: normal; font-weight: 700; font-size: 12px; background: rgba(255,255,255,.18); color: #fff;
}
.t-mdf-program .bk-steps li.active > span { color: #fff; background: rgba(34,211,238,.16); box-shadow: inset 0 0 0 1px rgba(127,231,255,.5); }
.t-mdf-program .bk-steps li.active i { background: var(--mdf-cyan-strong); color: var(--mdf-ink); }
.t-mdf-program .bk-steps li.done i { background: #4ade80; color: var(--mdf-ink); }

.t-mdf-program .bk-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 8px; }
.t-mdf-program .bk-plan {
  position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 12px; cursor: pointer;
  background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.14); transition: border-color .2s, background .2s;
}
.t-mdf-program .bk-plan:hover { background: rgba(255,255,255,.1); }
.t-mdf-program .bk-plan input { position: absolute; opacity: 0; pointer-events: none; }
.t-mdf-program .bk-plan:focus-within { outline: 2px solid var(--mdf-cyan); outline-offset: 2px; }
.t-mdf-program .bk-plan.sel { border-color: var(--mdf-cyan-strong); background: rgba(34,211,238,.12); box-shadow: 0 0 24px rgba(34,211,238,.18); }
.t-mdf-program .bk-plan.full { opacity: .6; }
.t-mdf-program .bk-plan .nm { font: 700 15px/20px Poppins, Inter, sans-serif; letter-spacing: .5px; }
.t-mdf-program .bk-plan.silver .nm { color: #e8e8e8; }
.t-mdf-program .bk-plan.gold .nm { color: #FFE770; }
.t-mdf-program .bk-plan.diamond .nm { color: #ADD2F4; }
.t-mdf-program .bk-plan .nm em { display: block; font: 600 10px/14px Poppins, Inter, sans-serif; font-style: normal; color: var(--mdf-cyan); text-transform: uppercase; letter-spacing: .6px; }
.t-mdf-program .bk-plan .pr { font: 700 22px/30px Poppins, Inter, sans-serif; color: #fff; font-variant-numeric: tabular-nums; }
.t-mdf-program .bk-plan .pr small { font-size: 12px; font-weight: 400; color: rgba(255,255,255,.7); margin-left: 2px; }
.t-mdf-program .bk-plan .sl { font: 400 12px/16px Poppins, Inter, sans-serif; color: rgba(255,255,255,.75); }

.t-mdf-program .bk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.t-mdf-program .bk-field { margin-bottom: 18px; min-width: 0; }
.t-mdf-program .bk-field > label,
.t-mdf-program .bk-lbl { display: block; margin-bottom: 8px; font: 600 14px/20px Poppins, Inter, sans-serif; color: #fff; }
.t-mdf-program .bk-field .req { color: var(--mdf-cyan); }
.t-mdf-program .bk-field .opt { font-weight: 400; color: rgba(255,255,255,.55); }
.t-mdf-program .bk-field input,
.t-mdf-program .bk-field textarea {
  width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: 8px;
  border: 1.5px solid rgba(255,255,255,.18); background: rgba(3,6,24,.45); color: #fff;
  font: 400 15px/22px Poppins, Inter, sans-serif; outline: none; resize: vertical;
}
.t-mdf-program .bk-field input::placeholder,
.t-mdf-program .bk-field textarea::placeholder { color: rgba(255,255,255,.45); }
.t-mdf-program .bk-field input:focus,
.t-mdf-program .bk-field textarea:focus { border-color: var(--mdf-cyan-strong); box-shadow: 0 0 0 3px rgba(34,211,238,.2); }
.t-mdf-program .bk-field.has-err input,
.t-mdf-program .bk-field.has-err textarea { border-color: #ff7a8a; }
.t-mdf-program .bk-hint { margin: 6px 0 0; font: 400 12px/17px Poppins, Inter, sans-serif; color: rgba(255,255,255,.6); }
.t-mdf-program .bk-hint b { color: var(--mdf-cyan); font-weight: 600; }
.t-mdf-program .bk-err { margin: 6px 0 0; font: 500 12px/17px Poppins, Inter, sans-serif; color: #ff9aa6; }
.t-mdf-program .bk-warn { margin: 8px 0 0; font: 400 13px/18px Poppins, Inter, sans-serif; color: #FFE770; }

.t-mdf-program .bk-seg { display: inline-flex; padding: 4px; gap: 4px; border-radius: 10px; background: rgba(3,6,24,.45); border: 1px solid rgba(255,255,255,.14); flex-wrap: wrap; }
.t-mdf-program .bk-seg label {
  position: relative; padding: 8px 16px; border-radius: 7px; cursor: pointer;
  font: 500 14px/20px Poppins, Inter, sans-serif; color: rgba(255,255,255,.75);
}
.t-mdf-program .bk-seg label:hover { color: #fff; }
.t-mdf-program .bk-seg label.sel { background: var(--mdf-cyan-strong); color: var(--mdf-ink); font-weight: 600; }
.t-mdf-program .bk-seg input { position: absolute; opacity: 0; pointer-events: none; }
.t-mdf-program .bk-seg label:focus-within { outline: 2px solid var(--mdf-cyan); outline-offset: 1px; }

.t-mdf-program .bk-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.t-mdf-program .bk-btn {
  min-width: 140px; padding: 13px 22px; border-radius: 8px; cursor: pointer;
  font: 700 15px/22px Poppins, Inter, sans-serif; border: 1.5px solid transparent;
}
.t-mdf-program .bk-btn.primary { background: linear-gradient(90deg, #22D3EE, #4F6BFF); color: #fff; }
.t-mdf-program .bk-btn.primary:hover { filter: brightness(1.1); }
.t-mdf-program .bk-btn.primary:disabled { opacity: .6; cursor: progress; }
.t-mdf-program .bk-btn.ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.t-mdf-program .bk-btn.ghost:hover { border-color: #fff; }
.t-mdf-program .bk-btn:focus-visible { outline: 2px solid var(--mdf-cyan); outline-offset: 2px; }

.t-mdf-program .bk-review { margin: 0 0 18px; }
.t-mdf-program .bk-row { display: grid; grid-template-columns: 130px 1fr auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.12); align-items: start; }
.t-mdf-program .bk-row dt { font: 500 13px/20px Poppins, Inter, sans-serif; color: rgba(255,255,255,.6); }
.t-mdf-program .bk-row dd { margin: 0; font: 500 14px/20px Poppins, Inter, sans-serif; color: #fff; min-width: 0; overflow-wrap: anywhere; }
.t-mdf-program .bk-row .pill { display: inline-block; margin-left: 6px; padding: 0 8px; border-radius: 999px; font-size: 11px; background: rgba(74,222,128,.2); color: #86efac; }
.t-mdf-program .bk-edit { background: none; border: 0; padding: 0; cursor: pointer; font: 500 13px/20px Poppins, Inter, sans-serif; color: var(--mdf-cyan); text-decoration: underline; }
.t-mdf-program .bk-consent { display: flex; gap: 10px; align-items: flex-start; font: 400 13px/19px Poppins, Inter, sans-serif; color: rgba(255,255,255,.85); cursor: pointer; }
.t-mdf-program .bk-consent input { margin-top: 2px !important; }
.t-mdf-program .bk-consent.has-err span { color: #ff9aa6; }

.t-mdf-program .bk-done { text-align: center; padding: 16px 0; }
.t-mdf-program .bk-tick { width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; color: var(--mdf-ink); background: linear-gradient(135deg, #4ade80, #22D3EE); }
.t-mdf-program .bk-done > strong { display: block; font: 700 26px/34px Poppins, Inter, sans-serif; color: var(--mdf-cyan); margin-bottom: 8px; }
.t-mdf-program .bk-done > p { margin: 0 0 4px; font: 400 15px/22px Poppins, Inter, sans-serif; color: rgba(255,255,255,.85); }
.t-mdf-program .bk-done > p b { color: #fff; }
.t-mdf-program .bk-next { text-align: left; list-style: none; margin: 20px 0; padding: 16px; border-radius: 10px; background: rgba(255,255,255,.06); display: grid; gap: 10px; }
.t-mdf-program .bk-next li { font: 400 14px/20px Poppins, Inter, sans-serif; color: rgba(255,255,255,.85); }
.t-mdf-program .bk-next b { display: block; font-size: 12px; color: var(--mdf-cyan); text-transform: uppercase; letter-spacing: .6px; }
.t-mdf-program .bk-preview { font-size: 12px !important; color: #FFE770 !important; margin: 0 0 14px !important; }

.t-mdf-program .bk-summary > strong { display: block; margin-bottom: 14px; font: 700 18px/24px Poppins, Inter, sans-serif; }
.t-mdf-program .bk-sum-empty { margin: 0 0 12px; font: 400 14px/20px Poppins, Inter, sans-serif; color: rgba(255,255,255,.7); }
.t-mdf-program .bk-sum-plan { font: 700 14px/20px Poppins, Inter, sans-serif; letter-spacing: 1px; }
.t-mdf-program .bk-sum-plan.silver { color: #e8e8e8; }
.t-mdf-program .bk-sum-plan.gold { color: #FFE770; }
.t-mdf-program .bk-sum-plan.diamond { color: #ADD2F4; }
.t-mdf-program .bk-sum-price { font: 700 34px/42px Poppins, Inter, sans-serif; font-variant-numeric: tabular-nums; }
.t-mdf-program .bk-sum-price small { font-size: 14px; font-weight: 400; color: rgba(255,255,255,.7); margin-left: 4px; }
.t-mdf-program .bk-sum-save { font: 500 13px/18px Poppins, Inter, sans-serif; color: #86efac; margin-top: 2px; }
.t-mdf-program .bk-sum-list { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 6px; font: 400 14px/20px Poppins, Inter, sans-serif; color: rgba(255,255,255,.85); }
.t-mdf-program .bk-sum-list li::before { content: '•'; color: var(--mdf-cyan); margin-right: 8px; }
.t-mdf-program .bk-sum-foot { margin: 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); font: 400 12px/18px Poppins, Inter, sans-serif; color: rgba(255,255,255,.6); }

@media (max-width: 1200px) {
  .t-mdf-program .bk-plans { grid-template-columns: 1fr; }
  .t-mdf-program .bk-plan { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; }
  .t-mdf-program .bk-plan .sl { width: 100%; }
}
@media (max-width: 900px) {
  .t-mdf-program .page-form .mdf-container { padding-top: 70px; }
  .t-mdf-program .form-box .form,
  .t-mdf-program .form-box .box { width: 100%; position: static; }
  .t-mdf-program .bk-grid { grid-template-columns: 1fr; }
  .t-mdf-program .bk-row { grid-template-columns: 1fr auto; }
  .t-mdf-program .bk-row dt { grid-column: 1 / -1; }
  .t-mdf-program .bk-actions .bk-btn { flex: 1 1 140px; }
}

/* Hidden radios inside plan cards / segmented controls: override the legacy .form input rules */
.t-mdf-program .form-box .form .bk-seg input[type="radio"],
.t-mdf-program .form-box .form .bk-plan input[type="radio"] {
  position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; pointer-events: none;
}

/* ---------- Introduction: soft frosted fade instead of a hard-edged glass panel ---------- */
.t-mdf-program .mirror {
  height: 100%;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 38%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 38%);
  backdrop-filter: blur(12px) saturate(1.05) !important;
  background: linear-gradient(180deg, rgba(6,10,38,0) 0%, rgba(6,10,38,.35) 45%, rgba(6,10,38,.6) 100%);
  display: flex;
  align-items: flex-end;
}
.t-mdf-program .mirror::before { display: none; }
.t-mdf-program .mirror .mdf-container { height: auto; width: 100%; padding-bottom: 90px; }
.t-mdf-program .mirror .mdf-container hr { border-top-color: rgba(255,255,255,.25); margin: 32px 0 40px; }
.t-mdf-program .mirror .mdf-container ul { gap: 48px; }
.t-mdf-program .mirror .mdf-container ul li { width: auto; flex: 1 1 0; min-width: 0; }
.t-mdf-program .mirror .mdf-container ul li b { font-size: 24px; line-height: 32px; padding-top: 34px; margin-bottom: 10px; text-wrap: balance; }
.t-mdf-program .mirror .mdf-container ul li span { width: 100%; max-width: 30ch; text-align: left; font-size: 18px; line-height: 28px; font-weight: 400; color: rgba(255,255,255,.85); }
.t-mdf-program .mirror .mdf-container .one .desc { font-size: 24px; color: rgba(255,255,255,.9); }
@media (max-width: 900px) {
  .t-mdf-program .mirror { -webkit-mask-image: none; mask-image: none; position: relative; }
  .t-mdf-program .mirror .mdf-container { padding-bottom: 40px; }
  .t-mdf-program .mirror .mdf-container ul li b { font-size: 18px; line-height: 26px; padding-top: 28px; }
  .t-mdf-program .mirror .mdf-container ul li span { font-size: 15px; line-height: 23px; max-width: none; }
}

/* Keep a side gutter between 1601px and the 1724px design width (the original only padded ≤1600px) */
@media (min-width: 1601px) {
  .t-mdf-program .mdf-container { max-width: calc(100vw - 64px); }
}
@media (max-width: 900px) {
  .t-mdf-program .mirror .mdf-container { padding-top: 80px; }
}
@media (max-width: 900px) {
  .t-mdf-program .mirror .mdf-container .one .desc { font-size: 18px; line-height: 26px; margin-top: 6px; }
}

/* =========== Registrar Obligation viewer =========== */
.t-mdf-program .packages .group .item > .ob-link {
  display: block; margin: -20px 0 28px; padding: 0; background: none; border: 0; cursor: pointer;
  font: 500 14px/20px Poppins, Inter, sans-serif; color: #fff; text-decoration: underline; text-underline-offset: 3px; opacity: .9;
}
.t-mdf-program .packages .group .item > .ob-link:hover { opacity: 1; }
.t-mdf-program .bk-ob { margin: 0 auto 12px; display: block; }
.t-mdf-program .ob-modal { position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.t-mdf-program .ob-modal[hidden] { display: none; }
.t-mdf-program .ob-backdrop { position: absolute; inset: 0; background: rgba(2, 4, 16, .72); backdrop-filter: blur(4px); }
.t-mdf-program .ob-dialog {
  position: relative; width: 760px; max-width: 100%; max-height: calc(100vh - 48px); display: flex; flex-direction: column;
  border-radius: 14px; overflow: hidden; background: #f7f9ff; color: #0d1433; box-shadow: 0 30px 80px rgba(0,0,0,.6); outline: none;
}
.t-mdf-program .ob-bar { display: flex; gap: 8px; align-items: center; padding: 12px 16px; background: #0b1440; }
.t-mdf-program .ob-btn {
  padding: 8px 14px; border-radius: 7px; border: 1px solid rgba(255,255,255,.3); background: transparent; color: #fff; cursor: pointer;
  font: 600 13px/18px Poppins, Inter, sans-serif;
}
.t-mdf-program .ob-btn:hover { border-color: #fff; }
.t-mdf-program .ob-x { margin-left: auto; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.t-mdf-program .ob-x:hover { background: rgba(255,255,255,.22); }
.t-mdf-program .ob-btn:focus-visible, .t-mdf-program .ob-x:focus-visible { outline: 2px solid #7FE7FF; outline-offset: 2px; }
.t-mdf-program .ob-doc { overflow-y: auto; padding: 32px 40px 36px; font: 400 14px/22px Poppins, Inter, sans-serif; }
.t-mdf-program .ob-doc h2 { margin: 0; font: 700 26px/34px Poppins, Inter, sans-serif; color: #0b1440; }
.t-mdf-program .ob-sub { margin: 2px 0 18px; font-weight: 600; color: #3b4bd8; }
.t-mdf-program .ob-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 0 0 8px; padding: 14px 16px; border-radius: 10px; background: #e8edff; }
.t-mdf-program .ob-meta div { display: flex; gap: 8px; min-width: 0; }
.t-mdf-program .ob-meta dt { flex: 0 0 74px; color: #5a6390; font-size: 12px; }
.t-mdf-program .ob-meta dd { margin: 0; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.t-mdf-program .ob-doc h3 { margin: 22px 0 6px; font: 700 15px/22px Poppins, Inter, sans-serif; color: #0b1440; padding-bottom: 4px; border-bottom: 1px solid #d5dcf5; }
.t-mdf-program .ob-doc ul { margin: 0; padding-left: 20px; list-style: disc; }
.t-mdf-program .ob-doc li { margin: 4px 0; color: #1f274d; }
.t-mdf-program .ob-foot { margin: 24px 0 0; font-size: 12px; line-height: 18px; color: #5a6390; }
body.ob-open { overflow: hidden; }
@media (max-width: 600px) {
  .t-mdf-program .ob-doc { padding: 22px 18px 26px; }
  .t-mdf-program .ob-meta { grid-template-columns: 1fr; }
  .t-mdf-program .ob-btn { padding: 8px 10px; }
}
/* Print / Save as PDF: only the obligation document */
@media print {
  body.ob-open * { visibility: hidden !important; }
  body.ob-open .ob-doc, body.ob-open .ob-doc * { visibility: visible !important; }
  body.ob-open .t-mdf-program { position: static; height: auto; overflow: visible; background: #fff !important; }
  body.ob-open .ob-modal { position: absolute; top: 0; left: 0; right: 0; padding: 0; display: block; }
  body.ob-open .ob-backdrop, body.ob-open .ob-bar { display: none !important; }
  body.ob-open .ob-dialog { display: block; overflow: visible; box-shadow: none; max-height: none; width: 100%; border-radius: 0; background: #fff; }
  body.ob-open .ob-doc { overflow: visible; padding: 0; }
  body.ob-open .ob-doc h3 { break-after: avoid; }
  body.ob-open .ob-doc li { break-inside: avoid; }
}

/* ---------- 2027 forest background: legibility + framing ---------- */
/* Soft shade behind the hero title (left) and countdown (right) so text stays readable on the brighter scene */
.t-mdf-program .page-opening::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4, 7, 28, .62) 0%, rgba(4, 7, 28, .28) 34%, rgba(4, 7, 28, 0) 52%),
    linear-gradient(270deg, rgba(4, 7, 28, .45) 0%, rgba(4, 7, 28, 0) 30%),
    linear-gradient(0deg, rgba(4, 7, 28, .55) 0%, rgba(4, 7, 28, 0) 35%);
}
.t-mdf-program .intro-content .left h1 { filter: drop-shadow(0 2px 14px rgba(2, 4, 20, .55)); }
.t-mdf-program .title-countdown { filter: drop-shadow(0 2px 10px rgba(2, 4, 20, .5)); }

/* About heading: allow wrapping instead of clipping */
.t-mdf-program .page-about h2 { white-space: normal; text-wrap: balance; font-size: 52px; line-height: 64px; }
.t-mdf-program .page-about h2 .shadow { white-space: normal; }

/* Phones: keep the portal and Gàn in frame */
@media (max-width: 900px) {
  .t-mdf-program { background-position: 60% center; }
  .t-mdf-program .page-opening::before { background: linear-gradient(0deg, rgba(4, 7, 28, .55) 0%, rgba(4, 7, 28, .2) 50%, rgba(4, 7, 28, .35) 100%); }
  .t-mdf-program .page-about h2 { font-size: 30px; line-height: 38px; }
}

.t-mdf-program .ob-doc { flex: 1 1 auto; min-height: 0; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

/* ---------- Fit at 100% zoom on wide / short screens ---------- */
/* Anchor the scene lower so the lake, Gàn and the goat stay in frame when the screen is wider than 16:9 */
.t-mdf-program { background-position: center 82%; }
.t-mdf-program .page-opening::before {
  background:
    linear-gradient(90deg, rgba(4, 7, 28, .62) 0%, rgba(4, 7, 28, .28) 34%, rgba(4, 7, 28, 0) 52%),
    linear-gradient(270deg, rgba(4, 7, 28, .45) 0%, rgba(4, 7, 28, 0) 30%),
    linear-gradient(0deg, rgba(4, 7, 28, .35) 0%, rgba(4, 7, 28, 0) 18%);
}
.t-mdf-program .page-opening::after { opacity: .45; }

/* Benefits: frosted backdrop covers the whole screen while scrolling (same as Packages / Guarantee) */
.t-mdf-program .page-benefits::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  backdrop-filter: blur(10px) saturate(1.05); background: rgba(3, 6, 24, .35);
}
.t-mdf-program .benefit-2027 { backdrop-filter: none !important; background: transparent; position: relative; height: auto; }
.t-mdf-program .benefit-2027::after { display: none; }

/* Short laptop screens (e.g. 1366×657, 1536×730 at 100%): compact Benefits so it fits without scrolling */
@media (min-width: 901px) and (max-height: 860px) {
  .t-mdf-program .benefit-2027 h2 { margin-top: 108px; margin-bottom: 20px; font-size: 42px; line-height: 50px; width: 100%; }
  .t-mdf-program .benefit-2027 .group .item { padding: 14px; }
  .t-mdf-program .benefit-2027 .group .item img { aspect-ratio: 504 / 230; margin-bottom: 12px; }
  .t-mdf-program .benefit-2027 .group .item b { font-size: 17px; line-height: 24px; margin-bottom: 4px; }
  .t-mdf-program .benefit-2027 .group .item span { font-size: 13.5px; line-height: 20px; min-height: 0; margin-bottom: 8px; }
  .t-mdf-program .benefit-2027 { padding-bottom: 24px; }
}
.t-mdf-program { background-position: center 74%; }
/* Keep 4 benefit cards in one row down to 1200px wide */
@media (max-width: 1400px) and (min-width: 1201px) {
  .t-mdf-program .benefit-2027 .group { flex-wrap: nowrap; gap: 16px; }
  .t-mdf-program .benefit-2027 .group .item { width: 25%; }
}

/* About + Book: one frosted backdrop fixed to the screen, so scrolling never reveals an unblurred strip */
.t-mdf-program .mdf-page[data-slide="sec-about"]::before,
.t-mdf-program .mdf-page[data-slide="sec-book"]::before {
  content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  backdrop-filter: blur(10px) saturate(1.05); background: rgba(3, 6, 24, .35);
}
.t-mdf-program .mdf-page[data-slide="sec-about"] > .pages,
.t-mdf-program .mdf-page[data-slide="sec-book"] > .pages { position: relative; z-index: 1; height: auto; min-height: 100%; }
.t-mdf-program .page-about,
.t-mdf-program .page-form { backdrop-filter: none !important; background: transparent; position: relative; height: auto; min-height: 100vh; }
.t-mdf-program .page-about .mdf-container { padding-bottom: 60px; }
@media (min-width: 901px) and (max-height: 760px) {
  .t-mdf-program .page-about h2 { margin-top: 104px; font-size: 40px; line-height: 50px; }
  .t-mdf-program .page-about h2 + .desc { font-size: 18px; line-height: 28px; margin-bottom: 28px; }
  .t-mdf-program .page-form .mdf-container { padding-top: 104px; }
}

/* =================== Phone optimisation =================== */
.t-mdf-program .m-topbar,
.t-mdf-program .cmp-switch,
.t-mdf-program .m-sumbar { display: none; }

@media (max-width: 900px) {
  /* 1. Solid top bar so Menu + social icons never sit on top of scrolled content */
  .t-mdf-program .m-topbar {
    display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 99; pointer-events: none;
    height: calc(60px + env(safe-area-inset-top, 0px));
    background: linear-gradient(180deg, rgba(5, 9, 34, .94) 0%, rgba(5, 9, 34, .82) 100%);
    backdrop-filter: blur(12px); border-bottom: 1px solid rgba(127, 231, 255, .14);
    transition: opacity .3s;
  }
  .t-mdf-program[data-slide="hero"] .m-topbar { opacity: 0; }
  .t-mdf-program .topmenu { top: calc(10px + env(safe-area-inset-top, 0px)); }
  .t-mdf-program .socialmenu { top: calc(14px + env(safe-area-inset-top, 0px)); }
  .t-mdf-program .socialmenu .item { width: 30px; height: 30px; }
  .t-mdf-program .topmenu ul li { padding: 12px 14px; font-size: 15px; }   /* bigger tap targets */

  /* Content starts below the bar on every scrolling slide */
  .t-mdf-program .benefit-2027 h2,
  .t-mdf-program .packages h2,
  .t-mdf-program .page-about h2 { margin-top: 84px !important; }
  .t-mdf-program .page-form .mdf-container { padding-top: 76px; padding-bottom: 96px; }
  .t-mdf-program .page-comparison .mdf-container { padding-top: 0; }
  .t-mdf-program .mdf-page.active .border-table { margin-top: 12px; }

  /* Benefits: NEW tag stays on the title line */
  .t-mdf-program .benefit-2027 .group .item b { display: block; }
  .t-mdf-program .benefit-2027 .tag-new { margin-left: 6px; vertical-align: 2px; }

  /* 2. Comparison: one plan at a time, chosen with a sticky switcher */
  .t-mdf-program .cmp-switch {
    display: flex; gap: 4px; position: sticky; top: 68px; z-index: 5;
    margin: 72px 0 0; padding: 4px; border-radius: 12px;
    background: rgba(5, 9, 34, .9); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(10px);
  }
  .t-mdf-program .cmp-switch button {
    flex: 1; padding: 11px 6px; border: 0; border-radius: 9px; background: transparent; cursor: pointer;
    font: 600 14px/18px Poppins, Inter, sans-serif; color: rgba(255, 255, 255, .75);
  }
  .t-mdf-program .cmp-switch button[data-cmp="1"].on { background: #e8e8e8; color: #06102e; }
  .t-mdf-program .cmp-switch button[data-cmp="2"].on { background: #FFE770; color: #06102e; }
  .t-mdf-program .cmp-switch button[data-cmp="3"].on { background: #ADD2F4; color: #06102e; }
  .t-mdf-program .border-table { overflow-x: visible; padding: 12px; }
  .t-mdf-program .border-table table { min-width: 0; padding: 0 4px; table-layout: fixed; }
  .t-mdf-program .border-table table thead tr:first-child th { font-size: 18px; padding: 12px 8px; }
  .t-mdf-program .border-table table thead tr:nth-child(2) { display: none; }
  .t-mdf-program .border-table table td { padding: 14px 6px; font-size: 14px; line-height: 19px; }
  .t-mdf-program .border-table table td.row-title { width: 56%; padding-left: 0; font-size: 13.5px; }
  .t-mdf-program .border-table table td[colspan="4"] { padding: 26px 0 8px 28px; font-size: 15px; }
  .t-mdf-program .border-table table.cmp-show-1 tr > td:not([colspan]):nth-child(3),
  .t-mdf-program .border-table table.cmp-show-1 tr > td:not([colspan]):nth-child(4),
  .t-mdf-program .border-table table.cmp-show-2 tr > td:not([colspan]):nth-child(2),
  .t-mdf-program .border-table table.cmp-show-2 tr > td:not([colspan]):nth-child(4),
  .t-mdf-program .border-table table.cmp-show-3 tr > td:not([colspan]):nth-child(2),
  .t-mdf-program .border-table table.cmp-show-3 tr > td:not([colspan]):nth-child(3) { display: none; }
  .t-mdf-program .tip-hint { font-size: 12px; }

  /* 3. Booking steps: one line, only the current step is labelled */
  .t-mdf-program .bk-steps { flex-wrap: nowrap; gap: 6px; }
  .t-mdf-program .bk-steps li:not(.active) > span,
  .t-mdf-program .bk-steps li:not(.active) > button { font-size: 0; padding: 4px; gap: 0; }
  .t-mdf-program .bk-steps li:not(.active) i { font-size: 12px; }
  .t-mdf-program .bk-field input, .t-mdf-program .bk-field textarea { font-size: 16px; }  /* no iOS zoom on focus */

  /* 4. Booking: big summary card hidden; a sticky price bar follows the form instead */
  .t-mdf-program .bk-summary { display: none; }
  .t-mdf-program .m-sumbar:not([hidden]) {
    display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
    position: sticky; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 6; margin-top: 14px;
    padding: 12px 16px; border-radius: 12px; background: rgba(5, 9, 34, .94);
    border: 1px solid rgba(127, 231, 255, .4); box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
    font-family: Poppins, Inter, sans-serif; color: #fff;
  }
  .t-mdf-program .m-sumbar .pl { font-weight: 700; font-size: 13px; letter-spacing: .6px; }
  .t-mdf-program .m-sumbar .pl.silver { color: #e8e8e8; } .t-mdf-program .m-sumbar .pl.gold { color: #FFE770; } .t-mdf-program .m-sumbar .pl.diamond { color: #ADD2F4; }
  .t-mdf-program .m-sumbar b { font-size: 18px; font-variant-numeric: tabular-nums; }
  .t-mdf-program .m-sumbar b small { font-size: 12px; font-weight: 400; color: rgba(255,255,255,.7); margin-left: 2px; }
  .t-mdf-program .m-sumbar .sl { margin-left: auto; font-size: 12px; color: rgba(255,255,255,.75); }
  .t-mdf-program .form-box .form { position: relative; }
}
@media (max-width: 900px) {
  .t-mdf-program .border-table table { table-layout: auto; width: 100%; }
  .t-mdf-program .border-table table td:not(.row-title):not([colspan]) { width: 44%; }
}
@media (max-width: 900px) {
  .t-mdf-program .page-form { overflow: visible; }
}

/* =========== Live registration states =========== */
.t-mdf-program .packages .group .item > .note .hold-note { display: block; margin-top: 4px; font-size: 12px; color: #FFE770; }
.t-mdf-program .bk-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.t-mdf-program .bk-closed { padding: 24px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(127,231,255,.3); }
.t-mdf-program .bk-closed strong { display: block; font: 700 20px/28px Poppins, Inter, sans-serif; color: var(--mdf-cyan); margin-bottom: 6px; }
.t-mdf-program .bk-closed p { margin: 0; font: 400 15px/22px Poppins, Inter, sans-serif; color: rgba(255,255,255,.85); }
.t-mdf-program .bk-tick.mail { font-size: 24px; background: linear-gradient(135deg, #22D3EE, #4F6BFF); color: #fff; }
.t-mdf-program .bk-small { font-size: 12px !important; color: rgba(255,255,255,.65) !important; margin-bottom: 14px !important; }
.t-mdf-program .packages .group .item { padding-bottom: 104px; }

/* =========== Comparison: value + detail per cell =========== */
.t-mdf-program .border-table table td .cv { display: block; font-weight: 600; color: #fff; }
.t-mdf-program .border-table table td .cd { display: block; margin-top: 3px; font-size: 12px; line-height: 16px; font-weight: 400; color: rgba(255,255,255,.62); }
.t-mdf-program .border-table table td .matbao-check-ok + .cd { margin-top: 6px; }
.t-mdf-program .border-table tr.row-price td .cd { font-size: 11px; color: rgba(255,255,255,.55); font-weight: 400; }
.t-mdf-program .mdf-tip .tip-more { margin-top: 10px; font-size: 12px; font-weight: 600; color: var(--mdf-cyan); }
.t-mdf-program .mdf-tip { cursor: pointer; }

/* =========== Benefit details pop-up =========== */
.t-mdf-program .bd-modal { position: fixed; inset: 0; z-index: 420; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.t-mdf-program .bd-modal[hidden] { display: none; }
.t-mdf-program .bd-backdrop { position: absolute; inset: 0; background: rgba(2, 4, 16, .72); backdrop-filter: blur(6px); }
.t-mdf-program .bd-dialog {
  position: relative; width: 860px; max-width: 100%; max-height: calc(100vh - 48px); display: flex; flex-direction: column;
  border-radius: 18px; overflow: hidden; outline: none; color: #fff; font-family: Poppins, Inter, sans-serif;
  background: linear-gradient(160deg, rgba(14, 22, 72, .98), rgba(10, 14, 48, .98));
  border: 1px solid rgba(127, 231, 255, .35); box-shadow: 0 30px 90px rgba(0, 0, 0, .6), 0 0 40px rgba(34, 211, 238, .12);
}
.t-mdf-program .bd-x { position: absolute; top: 14px; right: 14px; z-index: 2; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.t-mdf-program .bd-x:hover { background: rgba(255,255,255,.22); }
.t-mdf-program .bd-body { overflow-y: auto; overscroll-behavior: contain; padding: 28px 30px 20px; }
.t-mdf-program .bd-group { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--mdf-cyan); }
.t-mdf-program .bd-body h3 { margin: 6px 44px 18px 0; font-size: 26px; line-height: 34px; font-weight: 700; text-wrap: balance; }
.t-mdf-program .bd-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.t-mdf-program .bd-fig { border-radius: 12px; background: rgba(3, 6, 24, .45); padding: 12px; border: 1px solid rgba(255,255,255,.08); }
.t-mdf-program .bd-fig svg { display: block; width: 100%; height: auto; }
.t-mdf-program .bd-fig .legend { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11px; color: rgba(255,255,255,.7); }
.t-mdf-program .bd-fig .legend i { width: 14px; height: 14px; border-radius: 50%; font: 700 8px/14px Poppins, Inter, sans-serif; font-style: normal; text-align: center; color: #06102e; margin-left: 6px; }
.t-mdf-program .bd-fig .legend i:first-child { margin-left: 0; }
.t-mdf-program .bd-fig .legend i.d { background: #22D3EE; } .t-mdf-program .bd-fig .legend i.g { background: #FFE770; } .t-mdf-program .bd-fig .legend i.s { background: #d6d6d6; }
.t-mdf-program .bd-sec + .bd-sec { margin-top: 16px; }
.t-mdf-program .bd-sec span, .t-mdf-program .bd-notes span { display: block; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 4px; }
.t-mdf-program .bd-sec p { margin: 0; font-size: 15px; line-height: 24px; color: rgba(255,255,255,.9); }
.t-mdf-program .bd-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.t-mdf-program .bd-plan { padding: 14px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.t-mdf-program .bd-plan .nm { font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.t-mdf-program .bd-plan.silver .nm { color: #e3e7f0; } .t-mdf-program .bd-plan.gold .nm { color: #FFE770; } .t-mdf-program .bd-plan.diamond .nm { color: #ADD2F4; }
.t-mdf-program .bd-plan.gold { border-color: rgba(255,231,112,.35); } .t-mdf-program .bd-plan.diamond { border-color: rgba(127,231,255,.4); }
.t-mdf-program .bd-plan b { font-size: 17px; line-height: 23px; }
.t-mdf-program .bd-plan small { font-size: 13px; line-height: 19px; color: rgba(255,255,255,.7); }
.t-mdf-program .bd-plan.off { opacity: .5; } .t-mdf-program .bd-plan.off b { font-size: 14px; font-weight: 500; }
.t-mdf-program .bd-notes { margin-top: 20px; padding: 14px 16px; border-radius: 12px; background: rgba(34, 211, 238, .08); border: 1px solid rgba(127,231,255,.25); }
.t-mdf-program .bd-notes ul { margin: 0; padding-left: 18px; list-style: disc; }
.t-mdf-program .bd-notes li { font-size: 14px; line-height: 21px; color: rgba(255,255,255,.88); }
.t-mdf-program .bd-notes li + li { margin-top: 4px; }
.t-mdf-program .bd-nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 20px; border-top: 1px solid rgba(255,255,255,.1); background: rgba(3, 6, 24, .4); }
.t-mdf-program .bd-btn { padding: 9px 16px; border-radius: 8px; border: 1px solid rgba(255,255,255,.25); background: transparent; color: #fff; font: 600 13px/18px Poppins, Inter, sans-serif; cursor: pointer; }
.t-mdf-program .bd-btn:hover { border-color: #fff; }
.t-mdf-program .bd-count { font-size: 12px; color: rgba(255,255,255,.6); font-variant-numeric: tabular-nums; }
.t-mdf-program .bd-x:focus-visible, .t-mdf-program .bd-btn:focus-visible { outline: 2px solid var(--mdf-cyan); outline-offset: 2px; }
@media (max-width: 720px) {
  .t-mdf-program .bd-modal { padding: 0; align-items: flex-end; }
  .t-mdf-program .bd-dialog { max-height: 92vh; border-radius: 18px 18px 0 0; }
  .t-mdf-program .bd-body { padding: 22px 18px 16px; }
  .t-mdf-program .bd-body h3 { font-size: 21px; line-height: 28px; }
  .t-mdf-program .bd-grid { grid-template-columns: 1fr; gap: 16px; }
  .t-mdf-program .bd-plans { grid-template-columns: 1fr; gap: 8px; }
  .t-mdf-program .bd-plan { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
  .t-mdf-program .bd-plan .nm { width: 64px; }
  .t-mdf-program .bd-plan small { flex-basis: 100%; padding-left: 74px; }
}

/* "Shown with your TLD" caption under wireframes */
.t-mdf-program .tip-yours { margin: 8px 0 0 !important; font-size: 12px !important; color: rgba(255,255,255,.7) !important; }
.t-mdf-program .tip-yours b { color: var(--mdf-cyan); }

/* =========== Booking: several TLDs, one package each =========== */
.t-mdf-program .bk-intro { margin: 0 0 16px; font: 400 14px/21px Poppins, Inter, sans-serif; color: rgba(255,255,255,.8); }
.t-mdf-program .bk-intro b { color: #fff; }
.t-mdf-program .bk-lines { display: grid; gap: 12px; margin-bottom: 12px; }
.t-mdf-program .bk-line { padding: 14px 16px; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.t-mdf-program .bk-line.has-err { border-color: rgba(255,122,138,.6); }
.t-mdf-program .bk-line-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.t-mdf-program .bk-line-no { font: 600 11px/16px Poppins, Inter, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; color: var(--mdf-cyan); }
.t-mdf-program .bk-line-x { background: none; border: 0; padding: 0; cursor: pointer; font: 500 12px/16px Poppins, Inter, sans-serif; color: rgba(255,255,255,.65); text-decoration: underline; }
.t-mdf-program .bk-line-x:hover { color: #ff9aa6; }
.t-mdf-program .bk-line-body { display: grid; grid-template-columns: minmax(120px, 170px) minmax(0, 1fr); gap: 14px; align-items: start; }
.t-mdf-program .bk-line .bk-field { margin-bottom: 0; }
.t-mdf-program .bk-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.t-mdf-program .bk-chip { position: relative; display: flex; flex-direction: column; gap: 1px; padding: 7px 9px; border-radius: 9px; cursor: pointer; background: rgba(3,6,24,.45); border: 1.5px solid rgba(255,255,255,.14); }
.t-mdf-program .bk-chip:hover { background: rgba(255,255,255,.08); }
.t-mdf-program .bk-chip.sel { border-color: var(--mdf-cyan-strong); background: rgba(34,211,238,.14); }
.t-mdf-program .bk-chip.full { opacity: .7; }
.t-mdf-program .bk-chip:focus-within { outline: 2px solid var(--mdf-cyan); outline-offset: 1px; }
.t-mdf-program .form-box .form .bk-chip input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.t-mdf-program .bk-chip .nm { font: 700 11px/15px Poppins, Inter, sans-serif; letter-spacing: .6px; }
.t-mdf-program .bk-chip.silver .nm { color: #e8e8e8; } .t-mdf-program .bk-chip.gold .nm { color: #FFE770; } .t-mdf-program .bk-chip.diamond .nm { color: #ADD2F4; }
.t-mdf-program .bk-chip .pr { font: 700 14px/19px Poppins, Inter, sans-serif; color: #fff; font-variant-numeric: tabular-nums; }
.t-mdf-program .bk-chip .sl { font: 400 11px/14px Poppins, Inter, sans-serif; color: rgba(255,255,255,.65); }
.t-mdf-program .bk-add { width: 100%; margin-bottom: 18px; padding: 11px; border-radius: 10px; cursor: pointer; background: transparent; color: var(--mdf-cyan); border: 1.5px dashed rgba(127,231,255,.5); font: 600 14px/20px Poppins, Inter, sans-serif; }
.t-mdf-program .bk-add:hover { background: rgba(34,211,238,.08); }
.t-mdf-program .bk-rl { display: block; }
.t-mdf-program .bk-rl + .bk-rl { margin-top: 4px; }
.t-mdf-program .bk-row .pill.wl { background: rgba(255,207,77,.2); color: #FFE770; }
.t-mdf-program .bk-refs { list-style: none; margin: 10px auto 4px; padding: 0; display: inline-grid; gap: 4px; text-align: left; font: 400 14px/20px Poppins, Inter, sans-serif; color: rgba(255,255,255,.85); }
.t-mdf-program .bk-refs b { color: #fff; } .t-mdf-program .bk-refs span { color: var(--mdf-cyan); }
.t-mdf-program .bk-sum-lines { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.t-mdf-program .bk-sum-lines li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: baseline; font: 400 14px/20px Poppins, Inter, sans-serif; }
.t-mdf-program .bk-sum-lines .t { font-weight: 600; color: #fff; overflow: hidden; text-overflow: ellipsis; }
.t-mdf-program .bk-sum-lines .bk-sum-plan { font-size: 12px; }
.t-mdf-program .bk-sum-lines .a { font-variant-numeric: tabular-nums; color: rgba(255,255,255,.85); }
.t-mdf-program .bk-sum-lines em { grid-column: 1 / -1; font-style: normal; font-size: 11px; color: #FFE770; margin-top: -4px; }
.t-mdf-program .m-sumbar .pl span.silver { color: #e8e8e8; } .t-mdf-program .m-sumbar .pl span.gold { color: #FFE770; } .t-mdf-program .m-sumbar .pl span.diamond { color: #ADD2F4; }
@media (max-width: 900px) {
  .t-mdf-program .bk-line-body { grid-template-columns: 1fr; gap: 10px; }
}

/* Per-TLD billing cycle */
.t-mdf-program .bk-line-bill { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 10px; }
.t-mdf-program .bk-line-bill .bk-lbl { margin: 0; font-size: 13px; color: rgba(255,255,255,.75); }
.t-mdf-program .bk-seg.sm { padding: 3px; }
.t-mdf-program .bk-seg.sm label { padding: 5px 12px; font-size: 13px; }
.t-mdf-program .bk-line-bill .bk-hint, .t-mdf-program .bk-line-bill .bk-warn { margin: 0; font-size: 12px; }
.t-mdf-program .bk-sum-lines .a small { font-size: 11px; opacity: .7; margin-left: 2px; }
