/* No Tickets — admission box, museum cards, confirmation page and dashboard parts.
   1.1: Zero Tickets demo design (Archivo, mono numbers, compact columns). */
.mtnt, .mtnt-page, .mtnt-panel, .mtnt-showcase {
	--nt-orange: #f25727;
	--nt-orange-dark: #c9431a;
	--nt-ink: #1c1c1c;
	--nt-muted: #5e6166;
	--nt-line: #e6e1da;
	--nt-wall: #fdf1eb;
	--nt-green: #1f8a4c;
	--nt-font: "Archivo", var(--e-global-typography-text-font-family, "Helvetica Neue"), Arial, sans-serif;
	--nt-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;
	font-family: var(--nt-font);
	color: var(--nt-ink);
}
.mtnt *, .mtnt *::before, .mtnt *::after, .mtnt-page *, .mtnt-panel *, .mtnt-showcase * { box-sizing: border-box; }
.mtnt h3, .mtnt h4, .mtnt button, .mtnt input, .mtnt-showcase h3 { font-family: var(--nt-font) !important; }
.mtnt p { max-width: none; }

/* ---- Box ---- */
.mtnt { border: 2px solid var(--nt-orange); border-radius: 20px; overflow: hidden; background: #fff; margin: 20px 0; font-variant-numeric: tabular-nums; container-type: inline-size; }
.mtnt-off { border-style: dashed; border-color: var(--nt-line); padding: 18px 22px; color: var(--nt-muted); }
.mtnt-off p { margin: 0; }
.mtnt-head { background: var(--nt-orange); color: #fff; padding: 22px 28px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.mtnt-head h3 { color: #fff !important; margin: 0 0 2px !important; font-size: 24.8px !important; font-weight: 800 !important; line-height: 1.15; letter-spacing: -.01em; }
.mtnt-head p { margin: 0 !important; color: rgba(255,255,255,.92); font-size: 16px; }
.mtnt-brand { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 11.5px; border: 2px solid rgba(255,255,255,.8); border-radius: 99px; padding: 4px 11px; white-space: nowrap; }
.mtnt-close { width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(255,255,255,.22); color: #fff; font-size: 25.6px; line-height: 1; cursor: pointer; flex: 0 0 auto; }
.mtnt-close:hover { background: rgba(255,255,255,.35); }
.mtnt-test { margin: 0; padding: 9px 28px; background: #fff4c2; color: #5a4600; font-size: 14.1px; font-weight: 600; border-bottom: 1px solid #f0e2a0; }
.mtnt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.mtnt-body { display: grid; grid-template-columns: 1.05fr 1.3fr 1fr; margin: 0; }
.mtnt-col { padding: 26px 28px; min-width: 0; }
.mtnt-col + .mtnt-col { border-left: 1px solid var(--nt-line); }
.mtnt-col h4 { display: flex; align-items: center; gap: 12px; font-size: 18.4px !important; font-weight: 700 !important; margin: 0 0 16px !important; color: var(--nt-ink) !important; line-height: 1.2; }
.mtnt-col h4 span { width: 34px; height: 34px; border-radius: 50%; background: var(--nt-orange); color: #fff; display: grid; place-items: center; font-size: 14.4px; font-weight: 700; flex: 0 0 auto; }
.mtnt-days + h4 { margin-top: 30px !important; }

/* days */
.mtnt-days { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.mtnt-day { flex: 0 0 80px; height: 86px; border: 1px solid var(--nt-line); background: #fff; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.12; cursor: pointer; color: var(--nt-ink); font: inherit; padding: 0; }
.mtnt-day small { font-size: 13.1px; font-weight: 700; letter-spacing: .06em; color: #4a4d52; }
.mtnt-day b { font-size: 24.8px; font-weight: 700; margin: 2px 0; font-family: var(--nt-font); }
.mtnt-day:hover:not(:disabled) { border-color: var(--nt-ink); }
.mtnt-day.is-active { background: var(--nt-ink); border-color: var(--nt-ink); color: #fff; }
.mtnt-day.is-active small { color: rgba(255,255,255,.88); }
.mtnt-day:disabled { opacity: .4; cursor: not-allowed; }

/* times */
.mtnt-times { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mtnt-time { border: 1px solid var(--nt-line); background: #fff; border-radius: 10px; padding: 10px 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; cursor: pointer; font: inherit; color: var(--nt-ink); min-height: 74px; }
.mtnt-time b { font-family: var(--nt-mono); font-size: 18.4px; font-weight: 700; letter-spacing: .02em; }
.mtnt-time small { font-size: 13.4px; font-weight: 600; color: var(--nt-green); min-height: 1em; }
.mtnt-time:hover:not(:disabled) { border-color: var(--nt-orange); }
.mtnt-time.is-active { background: var(--nt-orange); border-color: var(--nt-orange); color: #fff; }
.mtnt-time.is-active small { color: #fff; }
.mtnt-time.is-full { background: #f4f4f2; color: #9aa1a6; cursor: not-allowed; }
.mtnt-time.is-full small { color: #b3261e; }

/* what (special exhibition) */
.mtnt-what { margin-bottom: 22px; }
.mtnt-what-opts { display: flex; flex-direction: column; gap: 8px; }
.mtnt-what-opt { text-align: left; border: 1px solid var(--nt-line); background: #fff; border-radius: 12px; padding: 12px 14px 12px 42px; font: inherit; font-weight: 600; color: var(--nt-ink); cursor: pointer; position: relative; line-height: 1.3; }
.mtnt-what-opt::before { content: ""; position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; border: 2px solid #c9c3bb; background: #fff; }
.mtnt-what-opt.is-active { border-color: var(--nt-orange); background: var(--nt-wall); }
.mtnt-what-opt.is-active::before { border-color: var(--nt-orange); box-shadow: inset 0 0 0 4px #fff; background: var(--nt-orange); }

/* visitor types */
.mtnt-type { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--nt-line); }
.mtnt-type:first-child { padding-top: 0; }
.mtnt-type strong { display: block; font-size: 17.9px; font-weight: 700; }
.mtnt-type span { display: block; color: var(--nt-muted); font-size: 15.2px; }
.mtnt-type em { display: inline-block; margin-top: 7px; font-style: normal; font-size: 12.2px; font-weight: 800; letter-spacing: .1em; color: var(--nt-orange-dark); border: 1px solid var(--nt-orange); border-radius: 4px; padding: 2px 8px; }
.mtnt-type > b { font-family: var(--nt-mono); font-size: 18.4px; font-weight: 700; white-space: nowrap; }
.mtnt-type > b.is-free { color: var(--nt-green); font-family: var(--nt-font); }
.mtnt-type > b.is-special { color: var(--nt-orange-dark); }
.mtnt-qty { display: flex; align-items: center; border: 1px solid var(--nt-line); border-radius: 99px; overflow: hidden; background: #fff; }
.mtnt-qty button { width: 40px; height: 44px; border: 0; background: #fff; font-size: 21.6px; color: var(--nt-orange); cursor: pointer; font-weight: 600; }
.mtnt-qty button[data-step="-1"] { color: #c7c2bb; }
.mtnt-qty button:hover { background: var(--nt-wall); }
.mtnt-qty input { width: 34px !important; height: 44px !important; border: 0 !important; text-align: center; font-family: var(--nt-mono) !important; font-weight: 700; font-size: 18.4px !important; padding: 0 !important; -moz-appearance: textfield; background: #fff !important; margin: 0 !important; box-shadow: none !important; color: var(--nt-ink) !important; }
.mtnt-qty input::-webkit-outer-spin-button, .mtnt-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* order */
.mtnt-order { background: var(--nt-wall); display: flex; flex-direction: column; }
.mtnt-order > h4 { font-size: 18.4px !important; }
.mtnt-summary { border-bottom: 2px solid var(--nt-ink); padding-bottom: 14px; margin-bottom: 16px; }
.mtnt-summary ul { list-style: none; padding: 12px 0 0; margin: 0 0 12px; border-top: 1px dashed #e5b9a6; }
.mtnt-summary li { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; font-size: 16.3px; }
.mtnt-summary li small { display: block; color: var(--nt-muted); font-size: 13.1px; }
.mtnt-summary li span:last-child { font-family: var(--nt-mono); font-weight: 700; white-space: nowrap; }
.mtnt-feeline { color: var(--nt-muted); font-size: 14.7px !important; }
.mtnt-when { color: #4a4d52; margin: 0 0 12px !important; font-size: 16px; }
.mtnt-total { display: flex; justify-content: space-between; align-items: baseline; margin: 10px 0 0 !important; font-size: 19.2px; font-weight: 700; }
.mtnt-total b { font-family: var(--nt-mono); font-size: 32px; font-weight: 800; letter-spacing: -.02em; }
.mtnt-muted { color: var(--nt-muted); margin: 0 !important; }
.mtnt-warn { color: #b3261e; font-weight: 700; margin: 8px 0 0 !important; }
.mtnt-field { display: block; margin: 0 0 10px; }
.mtnt-field span { display: block; font-size: 13.6px; color: var(--nt-muted); margin-bottom: 4px; }
.mtnt-field input { width: 100%; height: 46px !important; border: 1px solid var(--nt-line) !important; border-radius: 10px !important; padding: 0 12px !important; font-size: 16px !important; background: #fff !important; margin: 0 !important; box-shadow: none !important; font-family: var(--nt-font) !important; }
.mtnt-book { width: 100%; min-height: 60px; border: 0; border-radius: 12px; background: var(--nt-orange); color: #fff; font-weight: 700; font-size: 19.2px; cursor: pointer; margin-top: 6px; font-family: var(--nt-font); }
.mtnt-book:hover:not(:disabled) { background: var(--nt-orange-dark); }
.mtnt-book:disabled { opacity: .45; cursor: not-allowed; }
.mtnt-book.is-busy { opacity: .7; }
.mtnt-pay { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 14px 0 !important; }
.mtnt-pay span { border: 1px solid var(--nt-line); background: #fff; border-radius: 6px; padding: 4px 10px; font-size: 13.4px; font-weight: 700; color: #3a3d42; }
.mtnt-cancel { font-size: 14.4px; color: #3a3d42; margin: 0 !important; line-height: 1.45; }

/* narrower containers (dashboard column, sidebars): order panel below */
@container (max-width: 1080px) {
	.mtnt-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
	.mtnt-order { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid var(--nt-line); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 28px; align-items: start; }
	.mtnt-order > h4, .mtnt-order > .mtnt-summary { grid-column: 1; }
	.mtnt-order > :not(h4):not(.mtnt-summary) { grid-column: 2; }
	.mtnt-order > .mtnt-field:first-of-type { grid-row: 1; }
}
@container (max-width: 680px) {
	.mtnt-body, .mtnt-order { grid-template-columns: minmax(0, 1fr); }
	.mtnt-order > * { grid-column: 1 !important; grid-row: auto !important; }
	.mtnt-col + .mtnt-col { border-left: 0; border-top: 1px solid var(--nt-line); }
	.mtnt-col { padding: 22px 18px; }
	.mtnt-head { padding: 18px; }
	.mtnt-head h3 { font-size: 20.8px !important; }
	.mtnt-type { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
	.mtnt-type > div:first-child { grid-column: 1 / -1; }
}

/* ---- Museum cards (showcase / city grid) ---- */
.mtnt-showcase { margin: 18px 0; }
.mtnt-mcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; margin-bottom: 18px; }
.mtnt-mcard { background: #fff; border: 1px solid var(--nt-line); border-radius: 18px; overflow: hidden; box-shadow: 0 6px 0 -1px var(--nt-orange); display: flex; flex-direction: column; transition: transform .15s ease; }
.mtnt-mcard.is-open, .mtnt-mcard.is-own { border: 2px solid var(--nt-orange); }
.mtnt-mcard-img { position: relative; aspect-ratio: 4 / 3; background-size: cover; background-position: center; }
.mtnt-mcard.tone-0 .mtnt-mcard-img { background-color: #2d4a63; background-image: linear-gradient(160deg, #3b5d78, #1c2c3c); }
.mtnt-mcard.tone-1 .mtnt-mcard-img { background-color: #24452f; background-image: linear-gradient(160deg, #2f5d3c, #13261a); }
.mtnt-mcard.tone-2 .mtnt-mcard-img { background-color: #1a1a1a; background-image: linear-gradient(160deg, #2a2a2a, #0d0d0d); }
.mtnt-mcard-img[style] { background-color: #ddd; }
.mtnt-mcard-img::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(to bottom, transparent, rgba(0,0,0,.45)); pointer-events: none; }
.mtnt-mcard-city { position: absolute; left: 18px; bottom: 16px; z-index: 1; background: #1c1c1c; color: #fff; font-weight: 800; font-size: 12.8px; letter-spacing: .14em; padding: 6px 12px; border-radius: 99px; }
.mtnt-mcard-own { position: absolute; right: 14px; top: 14px; z-index: 1; background: var(--nt-orange); color: #fff; font-weight: 700; font-size: 12.5px; padding: 5px 11px; border-radius: 99px; }
.mtnt-mcard-body { padding: 18px 22px 22px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.mtnt-mcard-body h3 { font-size: 21.6px !important; font-weight: 800 !important; line-height: 1.2 !important; margin: 0 !important; color: var(--nt-ink) !important; letter-spacing: -.01em; }
.mtnt-mcard-btn { margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; border: 0; border-radius: 12px; background: var(--nt-orange); color: #fff !important; font-weight: 700; font-size: 18.4px; cursor: pointer; font-family: var(--nt-font); text-decoration: none; }
.mtnt-mcard-btn:hover { background: var(--nt-orange-dark); }
.mtnt-mcard-btn.is-demo { background: #f0ebe5; color: #8b8680 !important; cursor: default; }
.mtnt-chev { width: 9px; height: 9px; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(45deg) translate(-2px, -2px); transition: transform .15s; }
.mtnt-mcard.is-open .mtnt-chev { transform: rotate(-135deg) translate(-2px, -2px); }
.mtnt-slot { scroll-margin-top: 110px; }
.mtnt-slot[hidden] { display: none !important; }
.mtnt-slot .mtnt { margin-top: 0; }

/* Confirmation / cancel page */
.mtnt-page { padding: 48px 0 72px; }
.mtnt-confirm { max-width: 620px; margin: 0 auto; background: #fff; border: 2px solid var(--nt-orange); border-radius: 18px; padding: 34px 36px; }
.mtnt-confirm h1 { font-size: 32px; margin: 0 0 4px; }
.mtnt-kicker { text-transform: uppercase; letter-spacing: .1em; font-size: 12.5px; font-weight: 800; color: var(--nt-orange-dark); margin: 0 0 8px; }
.mtnt-confirm .mtnt-when { font-size: 18.4px; }
.mtnt-code { display: flex; flex-direction: column; align-items: center; background: var(--nt-ink); color: #fff; border-radius: 14px; padding: 18px; margin: 22px 0; }
.mtnt-code span { text-transform: uppercase; letter-spacing: .14em; font-size: 12.5px; opacity: .8; }
.mtnt-code strong { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 35.2px; letter-spacing: .18em; }
.mtnt-confirm table { width: 100%; border-collapse: collapse; margin-bottom: 18px; }
.mtnt-confirm td { padding: 8px 0; border-bottom: 1px solid var(--nt-line); }
.mtnt-confirm td:last-child { text-align: right; }
.mtnt-confirm .mtnt-sum td { font-weight: 800; border-bottom: 0; }
.mtnt-message { background: var(--nt-wall); border-left: 4px solid var(--nt-orange); padding: 12px 14px; border-radius: 8px; font-weight: 600; }
.mtnt-cancelbox { border-top: 1px solid var(--nt-line); margin-top: 18px; padding-top: 18px; }
.mtnt-cancelbox h2 { font-size: 20px; }

/* Dashboard panel */
.mtnt-modebar { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding: 14px 18px; border-radius: 12px; margin-bottom: 22px; }
.mtnt-modebar strong { letter-spacing: .1em; font-size: 13.6px; padding: 4px 10px; border-radius: 99px; }
.mtnt-modebar.mode-test { background: #fff4c2; color: #5a4600; }
.mtnt-modebar.mode-test strong { background: #5a4600; color: #fff4c2; }
.mtnt-modebar.mode-live { background: #e3f3eb; color: #1d5b40; }
.mtnt-modebar.mode-live strong { background: var(--nt-green); color: #fff; }
.mtnt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.mtnt-card { border: 1px solid var(--nt-line); border-radius: 14px; padding: 26px 28px; margin-bottom: 22px; background: #fff; }
.mtnt-step { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 800; color: var(--nt-orange-dark); margin: 0 0 4px !important; }
.mtnt-card h3 { margin-top: 0; }
.mtnt-status { display: inline-block; font-weight: 700; padding: 6px 14px; border-radius: 99px; background: #f1f1ef; }
.mtnt-status.state-ready { background: var(--nt-green); color: #fff; }
.mtnt-status.state-incomplete, .mtnt-status.state-review { background: #fff4c2; color: #5a4600; }
.mtnt-status.state-error { background: #fde7e5; color: #b3261e; }
.mtnt-inline { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.mtnt-inline button { cursor: pointer; }
.mtnt-example { width: 100%; border-collapse: collapse; margin-top: 8px; }
.mtnt-example th { text-align: left; padding-bottom: 6px; }
.mtnt-example td { padding: 6px 0; border-bottom: 1px solid var(--nt-line); }
.mtnt-example td:last-child { text-align: right; white-space: nowrap; }
.mtnt-example .mtnt-sum td { font-weight: 800; }
.mtnt-types-edit { width: 100%; border-collapse: collapse; }
.mtnt-types-edit th { text-align: left; font-size: 13.1px; text-transform: uppercase; letter-spacing: .05em; color: var(--nt-muted); padding: 0 6px 8px 0; }
.mtnt-types-edit td { padding: 4px 6px 4px 0; }
.mtnt-types-edit input[type="text"] { width: 100%; height: 40px; border: 1px solid var(--nt-line); border-radius: 8px; padding: 0 10px; font: inherit; }
.mtnt-types-edit td:nth-child(3) { width: 110px; }
.mtnt-types-edit td:nth-child(4) { width: 90px; text-align: center; }
.mtnt-types-edit input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--nt-orange); }
.mtnt-config-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; margin: 18px 0; }
.mtnt-config-grid label { display: flex; flex-direction: column; gap: 6px; font-size: 14.4px; color: var(--nt-muted); }
.mtnt-config-grid input[type="text"], .mtnt-config-grid input[type="number"] { height: 42px; border: 1px solid var(--nt-line); border-radius: 8px; padding: 0 10px; font: inherit; color: var(--nt-ink); }
.mtnt-config-grid fieldset { grid-column: 1 / -1; border: 0; padding: 0; margin: 0; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.mtnt-config-grid legend { font-size: 14.4px; color: var(--nt-muted); margin-bottom: 6px; }
.mtnt-config-grid .mtnt-day { flex-direction: row; display: inline-flex; gap: 6px; color: var(--nt-ink); }
.mtnt-golive { display: block; background: #e3f3eb; padding: 12px 14px; border-radius: 10px; margin-bottom: 16px; }
.mtnt-tag { font-size: 11.5px; background: #fff4c2; color: #5a4600; padding: 1px 6px; border-radius: 4px; font-weight: 700; }
.mtnt-panel .mtnt { margin-bottom: 0; }

@media (max-width: 720px) {
	.mtnt-grid, .mtnt-config-grid { grid-template-columns: 1fr; }
	.mtnt-confirm { padding: 26px 20px; }
	.mtnt-types-edit thead { display: none; }
	.mtnt-types-edit tr { display: grid; grid-template-columns: 1fr 100px 40px; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--nt-line); }
	.mtnt-types-edit td { padding: 0; width: auto !important; }
	.mtnt-types-edit td:nth-child(1) { grid-column: 1 / 2; }
	.mtnt-types-edit td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
}

.mtnt p { max-width: none; }
.mtnt-bookings { width: 100%; border-collapse: collapse; font-size: 15.2px; }
.mtnt-bookings th { text-align: left; font-size: 12.8px; text-transform: uppercase; letter-spacing: .05em; color: var(--nt-muted); padding: 0 12px 8px 0; font-weight: 700; }
.mtnt-bookings td { padding: 10px 12px 10px 0; border-top: 1px solid var(--nt-line); color: var(--nt-ink); font-weight: 400; }
.mtnt-bookings td:first-child { font-family: ui-monospace, Menlo, Consolas, monospace; font-weight: 700; }

/* v0.6: passport, QR, check-in */
.mtnt-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13.8px; color: var(--nt-ink); margin: 4px 0 10px; line-height: 1.4; }
.mtnt-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--nt-orange); flex: 0 0 auto; }
.mtnt-consent a { color: var(--nt-orange-dark); }
.mtnt-passport-on { font-size: 14.1px; color: var(--nt-green); font-weight: 700; margin: 0 0 8px; }
.mtnt-pass { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; background: var(--nt-ink); color: #fff; border-radius: 16px; padding: 18px; margin: 22px 0 16px; }
.mtnt-pass-qr { background: #fff; border-radius: 10px; padding: 6px; line-height: 0; }
.mtnt-pass-qr svg { width: 160px; height: 160px; display: block; }
.mtnt-pass-code span { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; opacity: .8; }
.mtnt-pass-code strong { display: block; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 32px; letter-spacing: .14em; word-break: break-all; line-height: 1.2; margin: 4px 0 8px; }
.mtnt-pass-code small { opacity: .85; }
a.mtnt-passport-btn { display: flex; align-items: center; justify-content: center; text-decoration: none !important; color: #fff !important; }
.mtnt-hint { font-size: 14.1px; color: var(--nt-muted); text-align: center; margin: 8px 0 0; }
.mtnt-checkin { margin-top: 16px; }
.mtnt-checkin-btn { background: var(--nt-green) !important; }
.mtnt-done-in { background: #e3f3eb; color: #1d5b40; font-weight: 700; padding: 12px 14px; border-radius: 10px; margin: 0; }
@media (max-width: 520px) {
	.mtnt-pass { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.mtnt-pass-qr svg { width: 200px; height: 200px; }
}
.mtnt-confirm .mtnt-pass + a + .mtnt-hint, .mtnt-confirm form.mtnt-checkin { margin-bottom: 18px; } .mtnt-confirm a.mtnt-passport-btn { margin-bottom: 14px; }

/* v0.7: cancellation policy */
.mtnt-late { background: #fff4c2; border: 1px solid #f0e2a0; border-radius: 10px; padding: 12px 14px; margin: 4px 0 10px; font-size: 14.1px; color: #5a4600; }
.mtnt-late p { margin: 0 0 8px; font-weight: 600; }
.mtnt-late label { display: flex; gap: 8px; align-items: flex-start; }
.mtnt-late input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--nt-orange); flex: 0 0 auto; }
.mtnt-policy { font-size: 14.4px; color: var(--nt-muted); }
a.mtnt-fm-btn { display: flex; align-items: center; justify-content: center; text-decoration: none !important; color: #fff !important; margin-bottom: 14px; }
.mtnt-release { margin: 6px 0 0; text-align: center; }
.mtnt-linkbtn { background: none; border: 0; color: var(--nt-muted); text-decoration: underline; cursor: pointer; font: inherit; font-size: 14.7px; padding: 6px; }
.mtnt-mcard-own.is-demo { background: rgba(255,255,255,.92); color: #1c1c1c; }
.mtnt-mcard.is-demo { box-shadow: 0 6px 0 -1px #d9d3cb; }
.mtnt-mcard.is-demo .mtnt-mcard-img { filter: saturate(.85); }

/* ==== 1.2: museum cards in the city-card style of the front page ==== */
.mtnt-mcards { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.mtnt-mcard { --t1: #22825a; --t2: #0f4a33; position: relative; min-height: 330px; border: 0 !important; border-radius: 26px; box-shadow: none; color: #fff; padding: 20px 22px 24px; justify-content: space-between; background: linear-gradient(140deg, var(--t1) 0%, var(--t2) 100%); }
.mtnt-mcard.tone-1 { --t1: #d4a714; --t2: #6b5200; }
.mtnt-mcard.tone-2 { --t1: #333; --t2: #141414; }
.mtnt-mcard.has-photo { background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.25) 40%, var(--t2) 100%), linear-gradient(140deg, color-mix(in srgb, var(--t1) 55%, transparent), color-mix(in srgb, var(--t2) 70%, transparent)), var(--ph) center / cover no-repeat; }
.mtnt-mcard.is-own { outline: 4px solid var(--nt-orange); outline-offset: 4px; }
.mtnt-mcard.is-open { outline: 4px solid var(--nt-orange); outline-offset: 4px; }
.mtnt-mcard.is-demo { box-shadow: none; }
.mtnt-mcard.is-demo .mtnt-mcard-img { filter: none; }
.mtnt-mcard-tags { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.mtnt-mcard .mtnt-mcard-city, .mtnt-mcard .mtnt-mcard-own { position: static; background: rgba(255,255,255,.18); color: #fff; font-weight: 800; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; padding: 7px 13px; border-radius: 99px; }
.mtnt-mcard .mtnt-mcard-own { background: var(--nt-orange); letter-spacing: .06em; }
.mtnt-mcard .mtnt-mcard-own.is-demo { background: rgba(255,255,255,.9); color: #1c1c1c; }
.mtnt-mcard .mtnt-mcard-body { padding: 0; gap: 16px; flex: 0; }
.mtnt-mcard .mtnt-mcard-body h3 { color: #fff !important; font-size: 34px !important; line-height: 1 !important; letter-spacing: -.04em !important; font-weight: 800 !important; text-shadow: 0 1px 12px rgba(0,0,0,.25); }
.mtnt-mcard .mtnt-mcard-btn { width: auto; align-self: flex-start; min-height: 46px; padding: 0 20px; border-radius: 8px; font-size: 17px; margin: 0; }
.mtnt-mcard .mtnt-mcard-btn.is-demo { background: rgba(255,255,255,.2); color: rgba(255,255,255,.85) !important; }
.mtnt-showcase .mtnt-slot { margin-top: 26px; }
.mtnt-mcard .mtnt-mcard-body h3 { font-size: clamp(22px, 2.3vw, 32px) !important; overflow-wrap: anywhere; hyphens: auto; }
.mtnt-mcard { min-height: 290px; }
.mtnt-mcards { container-type: inline-size; }
@container (max-width: 640px) { .mtnt-mcard .mtnt-mcard-body h3 { font-size: 22px !important; } }
.mtnt-mcard { container-type: inline-size; }
.mtnt-mcard .mtnt-mcard-body h3 { font-size: clamp(19px, 9.5cqi, 32px) !important; overflow-wrap: normal; word-break: normal; hyphens: manual; }

/* ---- 1.8.0: readable in sunlight on a phone (darker text, heavier weights) ---- */
.mtnt, .mtnt-page, .mtnt-panel, .mtnt-showcase {
	--nt-ink: #111;
	--nt-muted: #3b3e43;
	--nt-line: #d6cfc6;
	--nt-green: #17703c;
	-webkit-text-size-adjust: 100%;
}
.mtnt p, .mtnt span, .mtnt label, .mtnt li, .mtnt small, .mtnt-page p, .mtnt-page li, .mtnt-page label { font-weight: 500; }
.mtnt-head p { font-weight: 600 !important; color: #fff !important; }
.mtnt-test { font-weight: 700 !important; color: #3d3000; }
.mtnt-type span, .mtnt-feeline, .mtnt-muted, .mtnt-cancel, .mtnt-terms { color: var(--nt-muted); }
.mtnt-time small { font-weight: 700 !important; }
.mtnt-time.is-active small { color: #fff; }
.mtnt-field span { font-weight: 700 !important; color: var(--nt-ink); }
.mtnt-late, .mtnt-late p, .mtnt-late label span { color: #2e2400 !important; font-weight: 700 !important; }
.mtnt-day:disabled { opacity: .55; }
.mtnt-book:disabled { opacity: .6; }
/* Page builders (Elementor text blocks) may still inject empty paragraphs. */
.mtnt-body > p, .mtnt-body > br, .mtnt-col > br, .mtnt > p:empty, .mtnt-types > p, .mtnt-types > br { display: none !important; }

/* ---- 1.8.0: Bewaar in mijn paspoort (planned visits) ---- */
.mtnt-addbasket { width: 100%; min-height: 54px; margin-top: 8px; border: 2px solid var(--nt-ink); border-radius: 12px; background: #fff; color: var(--nt-ink); font-family: var(--nt-font); font-weight: 800; font-size: 17px; cursor: pointer; }
.mtnt-addbasket:hover:not(:disabled) { background: var(--nt-ink); color: #fff; }
.mtnt-addbasket:disabled { opacity: .5; cursor: not-allowed; }
.mtnt-addbasket.is-busy { opacity: .7; }
.mtnt-basketlink { text-align: center; margin: 10px 0 0; font-weight: 700; font-size: 16px; }
.mtnt-basketlink a, .mtnt-terms a, .mtnt-plan a { color: var(--nt-orange-dark); }
.mtnt-terms { font-size: 14.5px; margin: 0 0 8px; line-height: 1.45; }

.mtnt-plan { max-width: 720px; }
.mtnt-plan-head p:last-child { color: var(--nt-muted); margin: 0 0 18px; font-size: 16px; }
.mtnt-plan-list { list-style: none; margin: 0 0 18px; padding: 0; }
.mtnt-plan-item { display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding: 18px 0; border-top: 1px dashed var(--nt-line); }
.mtnt-plan-item:first-child { border-top: 0; }
.mtnt-plan-stamp { width: 48px; height: 48px; border-radius: 50%; border: 2px dashed var(--nt-orange); color: var(--nt-orange-dark); display: grid; place-items: center; font-weight: 800; font-size: 18px; transform: rotate(-8deg); }
.mtnt-plan-item.is-paid .mtnt-plan-stamp { border-style: solid; background: var(--nt-green); border-color: var(--nt-green); color: #fff; }
.mtnt-plan-body h2 { font-family: var(--nt-font); font-size: 22px !important; margin: 0 0 2px !important; }
.mtnt-plan-body .mtnt-when { margin: 0 0 8px; font-weight: 700; font-size: 16px; }
.mtnt-plan-body ul { list-style: none; margin: 0 0 10px; padding: 0; }
.mtnt-plan-body ul li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 16px; }
.mtnt-plan-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mtnt-plan-actions .mtnt-book { width: auto; flex: 1 1 260px; min-height: 52px; font-size: 17px; padding: 0 18px; margin: 0; }
.mtnt-plan-seller { font-size: 14.5px; color: var(--nt-muted); margin: 6px 0 0; }
.mtnt-plan-paid { color: var(--nt-green); font-weight: 800; margin: 0; font-size: 16px; }
.mtnt-plan-late { margin-bottom: 8px; }
.mtnt-plan-test { margin: 0 0 14px !important; border-radius: 8px; }
.mtnt-plan-left { border-top: 2px solid var(--nt-ink); padding-top: 12px; margin-bottom: 14px; }
.mtnt-plan-contact { background: var(--nt-wall); border-radius: 12px; padding: 16px; margin-bottom: 8px; }
a.mtnt-plan-more, a.mtnt-passport-btn { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.mtnt-plan-morelink { text-align: center; margin: 16px 0 0; font-weight: 700; font-size: 16px; }
@media (max-width: 600px) {
	.mtnt-plan-item { grid-template-columns: 1fr; gap: 8px; }
	.mtnt-plan-stamp { width: 40px; height: 40px; }
}
