/* Little Merlion — public registration page */
.lmr, .lmr *, .lmr *::before, .lmr *::after { box-sizing: border-box; }
body.lmr-body { margin: 0; background: #F5F6F8; }
.lmr {
	--teal: #0E8F9B; --teal-d: #0b7882; --red: #D9374B; --ink: #1F2937; --soft: #6B7280; --line: #E5E7EB; --bg: #F5F6F8;
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	color: var(--ink); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; min-height: 100vh;
	display: flex; flex-direction: column;
}
.lmr[data-lang="mn"] .lm-en, .lmr[data-lang="en"] .lm-mn { display: none !important; }
.lmr-wrap { width: min(780px, 92%); margin-inline: auto; }
.lmr a { color: inherit; text-decoration: none; }
.lmr h1, .lmr h2, .lmr h3 { margin: 0; color: #111827; letter-spacing: -.01em; }

/* top bar */
.lmr-top { background: #fff; border-bottom: 1px solid var(--line); }
.lmr-top-in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 0; }
.lmr-brand { display: flex; align-items: center; gap: .7rem; font-weight: 700; line-height: 1.2; }
.lmr-brand img { border-radius: 10px; }
.lmr-brand small { display: block; font-weight: 400; font-size: .75rem; color: var(--soft); }
.lmr-langbtn { border: 1px solid #D1D5DB; background: #fff; border-radius: 8px; padding: .4em .9em; font: inherit; font-size: .85rem; font-weight: 600; color: var(--ink); cursor: pointer; }
.lmr-langbtn:hover { background: #F3F4F6; }

/* intro */
.lmr-intro { padding: 2rem 0 1.2rem; }
.lmr-kicker { margin: 0 0 .4rem; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--teal); }
.lmr-intro h1 { font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 700; line-height: 1.2; }

/* cards */
.lmr-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 1.5rem; margin-bottom: 1.2rem; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.lmr-card > h2 { font-size: 1.05rem; font-weight: 600; margin-bottom: 1rem; }

/* bank details */
.lmr-bank { margin: .7rem 0 0; display: grid; gap: .35rem; background: #F9FAFB; border: 1px solid var(--line); border-radius: 8px; padding: .7rem .9rem; }
.lmr-bank div { display: flex; gap: 1rem; flex-wrap: wrap; }
.lmr-bank dt { width: 7.5rem; color: var(--soft); font-size: .85rem; }
.lmr-bank dd { margin: 0; font-weight: 600; }
.lmr-acc { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.lmr-fee { margin: 0; padding: .8rem 1rem; border-left: 3px solid var(--teal); background: #F0F9FA; border-radius: 0 8px 8px 0; font-size: .92rem; }

/* form */
.lmr-h { font-size: .8rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--soft); margin: 1.6rem 0 .8rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.lmr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.lmr-span { grid-column: 1 / -1; }
.lmr-f { display: block; margin-bottom: 1rem; }
.lmr-f > span, .lmr-fs legend { display: block; font-weight: 600; font-size: .88rem; margin-bottom: .35rem; padding: 0; }
.lmr i { color: var(--red); font-style: normal; }
.lmr input[type=text], .lmr input[type=tel], .lmr input[type=email], .lmr input[type=date], .lmr textarea {
	width: 100%; border: 1px solid #D1D5DB; border-radius: 8px; padding: .6em .8em; font: inherit; color: var(--ink); background: #fff;
}
.lmr textarea { resize: vertical; }
.lmr input:focus, .lmr textarea:focus { outline: 0; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(14,143,155,.15); }
.lmr .is-invalid input, .lmr .is-invalid textarea { border-color: var(--red); }
.lmr-err { margin: .3rem 0 0; color: var(--red); font-size: .82rem; font-weight: 500; }
.lmr-fs { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.lmr-fs.is-invalid .lmr-choice span, .lmr-fs.is-invalid .lmr-pill > span { border-color: var(--red); }
.lmr-fs-inline { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.lmr-fs-inline legend { width: 100%; }
.lmr-fs-inline .lmr-err { width: 100%; margin: 0; }

/* radio cards + pills */
.lmr-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.lmr-choice, .lmr-pill { position: relative; cursor: pointer; }
.lmr-choice input, .lmr-pill input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.lmr-choice > span { display: block; border: 1px solid #D1D5DB; border-radius: 10px; padding: .8rem .9rem; background: #fff; transition: border-color .15s, background .15s; }
.lmr-choice b { display: block; font-size: .95rem; letter-spacing: .04em; }
.lmr-choice em { display: block; font-style: normal; font-size: .85rem; color: #374151; }
.lmr-choice small { display: block; color: var(--soft); font-size: .8rem; }
.lmr-pill > span { display: inline-block; border: 1px solid #D1D5DB; border-radius: 8px; padding: .45em 1.1em; font-weight: 500; background: #fff; }
.lmr-choice input:checked + span, .lmr-pill input:checked + span { border-color: var(--teal); background: #F0F9FA; box-shadow: 0 0 0 1px var(--teal); }
.lmr-choice input:focus-visible + span, .lmr-pill input:focus-visible + span { box-shadow: 0 0 0 3px rgba(14,143,155,.25); }

/* acknowledgement */
.lmr-ack { background: #F9FAFB; border: 1px solid var(--line); border-radius: 8px; padding: .9rem 1rem; margin: .4rem 0 1.2rem; }
.lmr-ack.is-invalid { border-color: var(--red); }
.lmr-ack p:first-child { margin: 0 0 .6rem; font-size: .9rem; color: #374151; }
.lmr-check { display: flex; gap: .6rem; align-items: center; font-weight: 600; cursor: pointer; }
.lmr-check input { width: 18px; height: 18px; accent-color: var(--teal); }

/* buttons / status */
.lmr-btn { display: inline-flex; align-items: center; justify-content: center; border: 0; background: var(--teal); color: #fff !important; font: inherit; font-weight: 600; padding: .75em 1.6em; border-radius: 8px; cursor: pointer; }
.lmr-btn:hover { background: var(--teal-d); }
.lmr-btn:disabled { opacity: .6; cursor: default; }
.lmr-form .lmr-btn { width: 100%; font-size: 1rem; }
.lmr-btn-ghost { background: #fff; color: var(--ink) !important; border: 1px solid #D1D5DB; }
.lmr-btn-ghost:hover { background: #F3F4F6; }
.lmr-status { margin: .8rem 0 0; min-height: 1.4em; font-weight: 500; text-align: center; }
.lmr-status.err { color: var(--red); }
.lmr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* success */
.lmr-done { text-align: center; padding: 2.2rem 1.5rem; }
.lmr-tick { width: 56px; height: 56px; margin: 0 auto 1rem; border-radius: 50%; background: #ECFDF5; color: #067647; display: grid; place-items: center; }
.lmr-done p { color: #374151; max-width: 520px; margin: .7rem auto 1.2rem; }
.lmr-closed { text-align: center; }

.lmr-foot { margin-top: auto; text-align: center; color: var(--soft); font-size: .8rem; padding: 1.5rem 0 2rem; }

@media (max-width: 640px) {
	.lmr-grid { grid-template-columns: 1fr; }
	.lmr-choices { grid-template-columns: 1fr; }
	.lmr-card { padding: 1.1rem; }
	.lmr-brand small { display: none; }
	.lmr-bank dt { width: 100%; }
}

/* pointer to home-page steps */
.lmr-steps-link { margin: 0 0 1.2rem; color: var(--soft); font-size: .92rem; }
.lmr-steps-link a { color: var(--teal-d); font-weight: 600; }
.lmr-steps-link a:hover { text-decoration: underline; }
.lmr-hint { margin: -.4rem 0 1rem; color: var(--soft); font-size: .88rem; }

/* document uploads */
.lmr-docs-up { display: grid; gap: .7rem; }
.lmr-up { display: grid; grid-template-columns: 1fr auto; gap: .4rem .9rem; align-items: center; border: 1px dashed #C4CAD3; border-radius: 10px; padding: .8rem 1rem; background: #FBFBFC; }
.lmr-up.has-file { border-style: solid; border-color: var(--teal); background: #F0F9FA; }
.lmr-up.is-invalid { border-color: var(--red); }
.lmr-up-txt b { display: block; font-size: .92rem; }
.lmr-up-txt b em { font-style: normal; font-weight: 400; color: var(--soft); }
.lmr-up-txt small { display: block; color: var(--soft); font-size: .82rem; }
.lmr-up-btn { position: relative; cursor: pointer; }
.lmr-up-btn input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.lmr-up-pick { display: inline-block; border: 1px solid #D1D5DB; background: #fff; border-radius: 8px; padding: .45em 1em; font-weight: 600; font-size: .88rem; white-space: nowrap; }
.lmr-up-btn:hover .lmr-up-pick { background: #F3F4F6; }
.lmr-up-btn input:focus-visible + .lmr-up-pick { box-shadow: 0 0 0 3px rgba(14,143,155,.25); }
.lmr-up-file { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: .6rem; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: .4rem .4rem .4rem .8rem; font-size: .88rem; }
.lmr-up-file[hidden] { display: none; }
.lmr-up-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lmr-up-x { border: 0; background: #F3F4F6; width: 26px; height: 26px; border-radius: 6px; font-size: 1.1rem; line-height: 1; cursor: pointer; color: var(--soft); }
.lmr-up-x:hover { background: #FDE8EB; color: var(--red); }
.lmr-up .lmr-err { grid-column: 1 / -1; margin: 0; }

/* checkout */
.lmr-co { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; }
.lmr-co > * { padding: 1.1rem 1.2rem; }
.lmr-co > * + * { border-top: 1px solid var(--line); }
.lmr-co-sum { background: #F9FAFB; }
.lmr-co-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.lmr-co-row > span { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lmr-co-row small { display: block; color: var(--soft); font-size: .82rem; }
.lmr-co-row small:empty { display: none; }
.lmr-co-total { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--line); font-size: 1.1rem; align-items: center; }
.lmr-co-total > span { font-size: 1.25rem; font-weight: 700; color: var(--teal-d); }
.lmr-co-method > b { display: block; }
.lmr-co-method > p { margin: .3rem 0 .7rem; color: var(--soft); font-size: .9rem; }
.lmr-co-method .lmr-hint { margin: .6rem 0 0; font-size: .82rem; }
.lmr-co .lmr-bank dd { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.lmr-co .lmr-bank dd #lmr-c-ref:not([data-filled]) { font-weight: 400; color: var(--soft); }
.lmr-copy { border: 1px solid #D1D5DB; background: #fff; border-radius: 6px; padding: .1em .6em; font: inherit; font-size: .78rem; font-weight: 600; color: var(--teal-d); cursor: pointer; }
.lmr-copy:hover { background: #F0F9FA; }
.lmr-copy.is-done { background: #ECFDF5; border-color: #A7E3C3; color: #067647; }
.lmr-up-pay { border: 0; border-radius: 0; background: #fff; }
.lmr-up-pay.has-file { background: #F0F9FA; }
.lmr-co .lmr-fee { border-radius: 0; margin: 0; }
.lmr-co .lmr-ack { border: 0; border-radius: 0; margin: 0; background: #fff; }
.lmr-co .lmr-ack.is-invalid { outline: 1px solid var(--red); outline-offset: -1px; }
.lmr-check { align-items: flex-start; }
.lmr-check input { margin-top: .15rem; flex: none; }
.lmr-form > .lmr-btn { margin-top: 1.2rem; }

@media (max-width: 640px) {
	.lmr-up { grid-template-columns: 1fr; }
	.lmr-up-btn { justify-self: start; }
}

/* Siblings */
.lmr-sibs { display: grid; gap: 1rem; margin-bottom: 1rem; }
.lmr-sib { border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 12px; padding: 1rem 1.1rem .4rem; background: #FBFEFE; }
.lmr-sib-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.lmr-sib-title { margin: 0; font-size: 1rem; font-weight: 700; }
.lmr-sib-x { background: none; border: 0; padding: .3em .6em; color: var(--red); font: inherit; font-weight: 600; font-size: .86rem; cursor: pointer; border-radius: 8px; }
.lmr-sib-x:hover { background: #FEF2F2; }
.lmr-sib .lmr-docs-up { margin-bottom: 1rem; }
.lmr-sib-addrow { margin: 0 0 1rem; }
.lmr-sib-addrow .lmr-hint { margin: .5rem 0 0; }
.lmr-form .lmr-sib-add { width: auto; }
.lmr-sib-add[hidden], .lmr-co-row small[hidden] { display: none; }
#lmr-co-count { display: block; font-weight: 600; color: var(--teal); }

/* event registration page */
.lmr select { width: 100%; border: 1px solid #D1D5DB; border-radius: 8px; padding: .6em .8em; font: inherit; color: var(--ink); background: #fff; }
.lmr select:focus { outline: 0; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(14,143,155,.15); }
.lmr .is-invalid select { border-color: var(--red); }
.lmr-opt { font-style: normal; font-weight: 400; color: var(--soft); }
.lmr-ev { display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin: 1.6rem 0 1.2rem; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.lmr-ev-cover img { display: block; width: 100%; max-height: 280px; object-fit: cover; }
.lmr-ev-info { padding: 1.4rem 1.5rem 1.5rem; }
.lmr-ev-h1 { font-size: clamp(1.45rem, 4vw, 1.9rem); font-weight: 700; line-height: 1.2; }
.lmr-ev-facts { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .5rem; }
.lmr-ev-facts li { display: flex; align-items: flex-start; gap: .6rem; font-weight: 500; }
.lmr-ev-facts i { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #E6F6F8; color: var(--teal-d); }
.lmr-ev-facts span { padding-top: .2rem; }
.lmr-ev-desc { margin: 1.1rem 0 0; color: #374151; }
.lmr-ev-left { margin: 1.1rem 0 0; display: inline-block; padding: .35em .9em; border-radius: 999px; background: #FFF4D6; color: #7A5200; font-weight: 600; font-size: .9rem; }
.lmr-ev-left b { font-size: 1.05em; }
.lmr-form-h { font-size: 1.15rem; font-weight: 700; margin-bottom: 1.1rem; }
.lmr-ev-gone { margin-top: 2rem; }
.lmr-ev-gone p { color: var(--soft); margin: .6rem 0 1.2rem; }
@media (min-width: 720px) { .lmr-ev.has-cover { grid-template-columns: 5fr 7fr; } }


/* Public event page (/event/{id}) */
.lmr-evp .lmr-ev-cover img#lmr-evp-main { max-height: 420px; }
.lmr-evp-thumbs { display: flex; gap: .5rem; padding: .6rem; overflow-x: auto; background: #F9FAFB; }
.lmr-evp-thumbs button { flex: none; width: 64px; height: 48px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; background: none; opacity: .7; }
.lmr-evp-thumbs button.on { border-color: var(--teal); opacity: 1; }
.lmr-evp-thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lmr-evp-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.3rem; }
.lmr-fb { background: #1877F2; gap: .5rem; }
.lmr-fb:hover { background: #0F5FCC; }
.lmr-copied { margin: .7rem 0 0; font-size: .88rem; font-weight: 600; color: #067647; }
.lmr-copied[hidden] { display: none; }
