/* ==========================================================================
   Mokinkis tutor pages: /mokytojai/ and /mokytojai/{slug}/.
   The homepage system (home-landing.css: tokens on .mk-home, .mkl-*) and the
   site pages (site-pages.css: .mks-head, chips, time chips, space rows) do
   the heavy lifting; this file adds the tutor pieces. Edtalk's screens start
   at the booking step these pages link to.
   ========================================================================== */

/* ---------- shared ---------- */
.mk-site .mkt-h2 { font: 700 30px/1.15 Montserrat, Helvetica, Arial, sans-serif; letter-spacing: -.022em; color: var(--mk-ink); text-wrap: balance; }
.mk-site .mkt-h3 { margin-top: 44px; font: 700 20px/1.2 Montserrat, sans-serif; letter-spacing: -.015em; color: var(--mk-ink); }

/* ---------- profile: head ---------- */
.mkt-head-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; align-items: center; }
.mk-site .mkt-head h1 { font-size: 54px; letter-spacing: -.035em; }
.mk-site .mkt-head .mks-where { margin-top: 10px; font-size: 17px; color: var(--mk-ink); }
/* The role („Matematikos korepetitorė“) is part of the H1, set like the line it was. */
.mk-site .mkt-head h1 .mkt-h1-role { display: block; margin-top: 10px; font: 600 17px/1.4 Montserrat, sans-serif; letter-spacing: normal; color: var(--mk-ink); text-wrap: pretty; }

.mk-site .mkt-checks { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.mk-site .mkt-checks li { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px 9px 10px; border-radius: 999px; background: #fff; font: 600 13px/1.2 Montserrat, sans-serif; color: var(--mk-ink); }
.mk-site .mkt-checks .mkl-ic { width: 16px; height: 16px; color: var(--mk-royal); stroke-width: 2; }

/* One price: the 60-minute rate (a range when the tutor also teaches pairs),
   and the first lesson as a plain line under it — never three equal columns. */
.mk-site .mkt-price { margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(37, 52, 74, .14); }
.mk-site .mkt-price-rate { font: 500 17px/1.2 Montserrat, sans-serif; color: var(--mk-ink); }
.mk-site .mkt-price-rate b { margin-right: 3px; font: 700 32px/1 Montserrat, sans-serif; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.mk-site .mkt-price-intro { margin-top: 10px; font-size: 15px; color: var(--mk-ink); }
.mk-site .mkt-price-intro b { font-weight: 700; }
.mk-site .mkt-head .mkl-acts { margin-top: 26px; }

/* The portrait sits in the homepage hero's brand art: masked photo, tan blob
   behind, the four-stripe mark and rust dots. */
.mk-site .mkt-portrait { width: 100%; max-width: 500px; justify-self: end; aspect-ratio: 1.06; }
.mk-site .mkt-portrait > .mkl-blob { left: 10%; top: 11%; width: 90%; height: 89%; }
.mk-site .mkt-portrait > .mkl-stripes { top: -22px; right: 6%; }
.mk-site .mkt-portrait .mkl-hero-photo { inset: 0 10% 11% 0; background: var(--mk-sand); }
.mk-home .mkt-portrait .mkl-hero-photo img { object-position: 50% 26%; }

/* ---------- profile: free times, one week at a time ---------- */
.mk-site .mkt-sched { border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--mk-line); overflow: hidden; }
.mkt-sched-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px 14px 24px; }
.mk-site .mkt-sched-title { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 12px; }
.mk-site .mkt-sched-title b { font: 700 18px/1.25 Montserrat, sans-serif; letter-spacing: -.015em; color: var(--mk-ink); }
.mk-site .mkt-sched-title span { font: 600 14px/1.25 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mkt-sched-nav { display: flex; gap: 8px; }
.mk-site .mkt-sched-arrow { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--mk-line); color: var(--mk-ink); cursor: pointer; transition: background-color .15s, box-shadow .15s, color .15s; }
.mk-site .mkt-sched-arrow .mkl-ic { width: 18px; height: 18px; stroke-width: 2; }
.mk-site .mkt-sched-arrow:hover:not(:disabled) { background: var(--mk-navy); box-shadow: none; color: #fbf7f1; }
.mk-site .mkt-sched-arrow:disabled { opacity: .3; cursor: default; }
.mk-site .mkt-sched-arrow:focus-visible { outline: 2px solid var(--mk-navy); outline-offset: 2px; }

/* One header row and one rule under it for every day — the times of all
   seven days start on the same line. */
.mk-site .mkt-week-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: #fbf7f1; box-shadow: inset 0 1px 0 var(--mk-line), inset 0 -1px 0 var(--mk-line); }
.mk-site .mkt-week-day { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 12px 4px; border: 0; background: none; font: inherit; color: var(--mk-ink); cursor: default; }
.mk-site .mkt-week-abbr { font: 700 10.5px/1.2 Montserrat, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mk-ink-2); }
.mk-site .mkt-week-day b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font: 700 16px/1 Montserrat, sans-serif; font-variant-numeric: tabular-nums; }
.mk-site .mkt-week-day.is-today b { background: var(--mk-navy); color: #fbf7f1; }
.mk-site .mkt-week-day.is-today .mkt-week-abbr { color: var(--mk-rust); }
.mk-site .mkt-week-day.is-past b, .mk-site .mkt-week-day.is-past .mkt-week-abbr { color: #bcb2a3; }

.mk-site .mkt-week-cols { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.mk-site .mkt-week-col { display: flex; flex-direction: column; gap: 6px; min-width: 0; min-height: 124px; padding: 14px 8px 18px; }
.mk-site .mkt-week-col + .mkt-week-col { box-shadow: inset 1px 0 0 #f1ebe2; }
.mk-site .mkt-week-col-h { display: none; }
.mk-site .mkt-week-slot { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 6px; border-radius: 10px; background: var(--mk-cream-2); color: var(--mk-ink); transition: background-color .15s, color .15s; }
.mk-site .mkt-week-slot b { font: 700 15px/1 Montserrat, sans-serif; font-variant-numeric: tabular-nums; }
.mk-site .mkt-week-slot .mkl-ic { width: 14px; height: 14px; stroke-width: 2; color: var(--mk-rust); }
.mk-site .mkt-week-slot:hover { background: var(--mk-navy); color: #fbf7f1; }
.mk-site .mkt-week-slot:hover .mkl-ic { color: #e2c79a; }
.mk-site .mkt-week-slot:focus-visible { outline: 2px solid var(--mk-navy); outline-offset: 2px; }
.mk-site .mkt-week-none { margin: 7px 0 0; text-align: center; font: 600 16px/1 Montserrat, sans-serif; color: #d2c8b9; }
.mk-site .mkt-week-none em { display: none; }
.mk-site .mkt-week-empty { padding: 40px 24px 44px; text-align: center; font: 600 15px/1.6 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-week-empty span { display: block; margin-top: 4px; }
.mk-site .mkt-week-empty a { font-weight: 700; color: var(--mk-ink); border-bottom: 1.5px solid var(--mk-gold); }

.mk-site .mkt-sched-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; padding: 14px 24px; box-shadow: inset 0 1px 0 var(--mk-line); }
.mk-site .mkt-sched-places { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.mk-site .mkt-sched-places li { display: inline-flex; align-items: center; gap: 6px; font: 600 13px/1.3 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-sched-places .mkl-ic { width: 15px; height: 15px; color: var(--mk-rust); }
.mk-site .mkt-sched-more { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 3px; border-bottom: 1.5px solid var(--mk-gold); font: 700 13px/1 Montserrat, sans-serif; color: var(--mk-ink); }
.mk-site .mkt-sched-more .mkl-ic { width: 15px; height: 15px; transition: transform .2s ease; }
.mk-site .mkt-sched-more:hover .mkl-ic { transform: translateX(3px); }

/* ---------- how booking works: three steps, where the visitor is marked ---------- */
.mk-site .mkt-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; margin: 18px 0 0; }
.mk-site .mkt-steps li { display: inline-flex; align-items: center; gap: 10px; font: 600 14px/1.3 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-step-n { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px rgba(50, 66, 86, .35); font: 700 12.5px/1 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-steps li.is-current { color: var(--mk-ink); }
.mk-site .mkt-steps li.is-current .mkt-step-n { background: var(--mk-navy); box-shadow: none; color: #fbf7f1; }
.mk-site .mkt-steps li.is-done .mkt-step-n { background: var(--mk-gold); box-shadow: none; color: #fff; }
.mk-site .mkt-steps li.is-done .mkt-step-n .mkl-ic { width: 15px; height: 15px; stroke-width: 2.4; }

/* ---------- profile: a time chosen on a card ---------- */
.mk-site .mkt-picked { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; margin: 0 0 24px; padding: 16px 18px 16px 22px; border-radius: 16px; background: #fbf7f1; box-shadow: inset 0 0 0 1.5px var(--mk-navy); }
.mk-site .mkt-picked p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.mk-site .mkt-picked span { flex-basis: 100%; font: 700 11px/1.3 Montserrat, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mk-rust); }
.mk-site .mkt-picked b { font: 700 18px/1.3 Montserrat, sans-serif; letter-spacing: -.01em; color: var(--mk-ink); }
.mk-site .mkt-picked em { display: inline-flex; align-items: center; gap: 5px; font: 600 14px/1.3 Montserrat, sans-serif; font-style: normal; color: var(--mk-ink-2); }
.mk-site .mkt-picked em .mkl-ic { width: 15px; height: 15px; color: var(--mk-rust); }
.mk-site .mkt-picked .mkl-btn .mkl-ic { width: 16px; height: 16px; }
.mk-site .mkt-picked--gone { display: block; font: 600 14.5px/1.5 Montserrat, sans-serif; color: var(--mk-rust); box-shadow: inset 0 0 0 1px var(--mk-line); }
/* Divi's p:not(.has-background):last-of-type { padding-bottom: 0 } outranks the class alone. */
.mk-site p.mkt-picked--gone { padding-bottom: 16px; }
.mk-site .mkt-week-slot.is-picked { background: var(--mk-navy); color: #fbf7f1; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--mk-gold); }
.mk-site .mkt-week-slot.is-picked .mkl-ic { color: #e2c79a; }

/* ---------- profile: the place chosen on the list ---------- */
.mk-site .mkt-vieta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 18px; padding: 12px 16px; border-radius: 12px; background: var(--mk-cream-2); font: 600 14.5px/1.4 Montserrat, sans-serif; color: var(--mk-ink); }
.mk-site .mkt-vieta .mkl-ic { flex: none; width: 17px; height: 17px; color: var(--mk-rust); }
.mk-site .mkt-vieta a { margin-left: auto; padding-bottom: 2px; border-bottom: 1.5px solid var(--mk-gold); font-weight: 700; color: var(--mk-ink); }
.mk-site .mkt-vieta.is-none { background: #fbf7f1; box-shadow: inset 0 0 0 1px var(--mk-line); font-weight: 500; }
/* A time's address: phones only, and only when the times are at two or more. */
.mk-site .mkt-week-slot-at { display: none; }
.mk-site .mkt-book .mkl-ic { width: 16px; height: 16px; }

/* ---------- profile: about ---------- */
.mkt-about { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr); gap: 56px; align-items: start; }
.mk-site .mkt-bio { margin-top: 18px; max-width: 64ch; font-size: 16px; line-height: 1.72; color: var(--mk-ink); }
.mk-site .mkt-bio p + p, .mk-site .mkt-bio ul + p, .mk-site .mkt-bio p + ul { margin-top: 14px; }
.mk-site .mkt-bio h3 { margin: 28px 0 8px; font: 700 18px/1.3 Montserrat, sans-serif; letter-spacing: -.01em; }
.mk-site .mkt-bio :where(strong, b) { font-weight: 700; }
.mk-site .mkt-bio ul { display: grid; gap: 8px; }
.mk-site .mkt-bio li { position: relative; padding-left: 20px; }
.mk-site .mkt-bio li::before { content: ""; position: absolute; left: 3px; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--mk-rust); }
.mkt-about-side { display: grid; gap: 14px; }
.mk-site .mkt-fact { padding: 20px 22px 22px; border-radius: 18px; background: #fff; }
.mk-site .mkt-fact h3 { display: flex; align-items: center; gap: 8px; font: 700 11.5px/1.3 Montserrat, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mk-ink-2); }
.mk-site .mkt-fact h3 .mkl-ic { width: 17px; height: 17px; color: var(--mk-royal); }
.mk-site .mkt-fact ul { margin-top: 14px; display: grid; gap: 14px; }
.mk-site .mkt-fact li b { display: block; font: 700 15px/1.35 Montserrat, sans-serif; color: var(--mk-ink); }
.mk-site .mkt-fact li span { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.5; color: var(--mk-ink-2); }
.mk-site .mkt-tags { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.mk-site .mkt-tags span { padding: 8px 12px; border-radius: 999px; background: var(--mk-cream-2); font: 600 13px/1.2 Montserrat, sans-serif; color: var(--mk-ink); }

/* ---------- profile: what they teach — a 1–12 grade ruler per subject ---------- */
.mkt-ruler { border-bottom: 1px solid var(--mk-line); }
.mkt-ruler-row { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 24px; align-items: center; padding: 16px 0; border-top: 1px solid var(--mk-line); }
.mk-site .mkt-ruler-subj b { display: block; font: 700 17px/1.25 Montserrat, sans-serif; letter-spacing: -.01em; color: var(--mk-ink); }
.mk-site .mkt-ruler-subj span { display: block; margin-top: 3px; font: 600 13px/1.3 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-ruler-grades { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; }
.mk-site .mkt-ruler-grades li { display: grid; place-items: center; height: 42px; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px var(--mk-line); font: 700 14px/1 Montserrat, sans-serif; color: #b3a898; font-variant-numeric: tabular-nums; }
.mk-site .mkt-ruler-grades li.is-on { background: var(--mk-navy); box-shadow: none; color: #fbf7f1; }

.mkt-services { margin-top: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mk-site .mkt-service { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; border-radius: 18px; background: #fbf7f1; box-shadow: inset 0 0 0 1px var(--mk-line); transition: box-shadow .2s; }
.mk-site .mkt-service b { font: 700 16px/1.35 Montserrat, sans-serif; letter-spacing: -.01em; color: var(--mk-ink); }
.mk-site .mkt-service span { font-size: 14px; line-height: 1.55; color: var(--mk-ink-2); }
.mk-site .mkt-service em { margin-top: auto; padding-top: 6px; align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font: 700 13px/1 Montserrat, sans-serif; font-style: normal; color: var(--mk-ink); }
.mk-site .mkt-service em .mkl-ic { width: 15px; height: 15px; transition: transform .2s ease; }
.mk-site .mkt-service:hover { box-shadow: inset 0 0 0 1.5px var(--mk-navy); }
.mk-site .mkt-service:hover em .mkl-ic { transform: translateX(3px); }

/* ---------- profile: places, other tutors ---------- */
.mkt-places .mks-space:last-child { border-bottom: 1px solid var(--mk-line); }
.mk-site .mkt-online-n .mkl-ic { width: 15px; height: 15px; color: #f3ead9; }
.mkt-others { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mk-site .mkt-other { display: grid; grid-template-columns: 64px minmax(0, 1fr) 18px; gap: 14px; align-items: center; padding: 16px 18px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--mk-line); }
.mkt-other-ph { position: relative; display: block; width: 64px; height: 64px; }
.mkt-other-ph svg { position: absolute; inset: -3px -8px -3px -2px; width: calc(100% + 10px); height: calc(100% + 6px); }
.mkt-other-ph svg path { fill: var(--mk-tan); }
.mk-site .mkt-other-ph img { position: relative; width: 60px; height: 60px; margin: 2px 0 0 1px; border-radius: 50%; object-fit: cover; object-position: 50% 28%; }
.mk-site .mkt-other-main b { display: block; font: 700 15.5px/1.25 Montserrat, sans-serif; color: var(--mk-ink); transition: color .2s; }
.mk-site .mkt-other-main span { display: block; margin-top: 5px; font: 700 10.5px/1.4 Montserrat, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--mk-royal); }
.mk-site .mkt-other-main em { display: block; margin-top: 4px; font: 600 13px/1.3 Montserrat, sans-serif; font-style: normal; color: var(--mk-ink-2); }
.mk-site .mkt-other:hover .mkt-other-main b { color: var(--mk-rust); }
.mk-site .mkt-other:hover .mks-space-go .mkl-ic { transform: translateX(3px); }

/* Mobile: price and the booking button stay in reach. */
.mkt-sticky { display: none; }

/* ---------- list ---------- */
.mk-site .mkt-list-head h1 { margin-top: 0; font-size: 54px; letter-spacing: -.035em; }
.mkt-filters { margin-top: 26px; display: grid; gap: 12px; }
.mkt-filter { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; align-items: center; }
.mk-site .mkt-filter-h { font: 700 11.5px/1 Montserrat, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mk-ink-2); }
.mk-site .mkt-filter .mks-chips { margin-top: 0; }

.mkt-count { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.mk-site .mkt-count p { font: 700 20px/1.2 Montserrat, sans-serif; letter-spacing: -.015em; color: var(--mk-ink); }
.mkt-cards { display: grid; gap: 16px; }
.mk-site .mkt-card { display: grid; grid-template-columns: 112px minmax(0, 1.3fr) minmax(0, 1fr); gap: 20px 28px; align-items: start; padding: 24px 26px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--mk-line); }
.mkt-card-ph { position: relative; display: block; width: 112px; height: 112px; }
.mkt-card-ph svg { position: absolute; inset: -5px -12px -5px -4px; width: calc(100% + 16px); height: calc(100% + 10px); }
.mkt-card-ph svg path { fill: var(--mk-tan); }
.mk-site .mkt-card-ph img { position: relative; width: 108px; height: 108px; margin: 2px 0 0 1px; border-radius: 50%; object-fit: cover; object-position: 50% 26%; }
.mk-site .mkt-card-main h3 { font: 700 21px/1.2 Montserrat, sans-serif; letter-spacing: -.018em; }
.mk-site .mkt-card-main h3 a:hover { color: var(--mk-rust); }
.mk-site .mkt-check { margin-top: 7px; display: inline-flex; align-items: center; gap: 6px; font: 600 12.5px/1.3 Montserrat, sans-serif; color: var(--mk-royal); }
.mk-site .mkt-check .mkl-ic { width: 15px; height: 15px; stroke-width: 2; }
.mk-site .mkt-teaches { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.mk-site .mkt-teaches li { font-size: 14px; line-height: 1.4; color: var(--mk-ink-2); }
.mk-site .mkt-teaches li b { margin-right: 4px; font-weight: 700; color: var(--mk-ink); }
.mk-site .mkt-where { margin-top: 10px; display: flex; align-items: flex-start; gap: 6px; font-size: 13.5px; line-height: 1.45; color: var(--mk-ink-2); }
.mk-site .mkt-where .mkl-ic { width: 16px; height: 16px; margin-top: 1px; color: var(--mk-rust); }
.mk-site .mkt-preview { margin-top: 12px; max-width: 54ch; font-size: 14px; line-height: 1.62; color: var(--mk-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mk-site .mkt-more { margin-top: 14px; display: inline-flex; align-items: center; gap: 6px; padding-bottom: 3px; border-bottom: 1.5px solid var(--mk-gold); font: 700 13px/1 Montserrat, sans-serif; color: var(--mk-ink); }
.mk-site .mkt-more .mkl-ic { width: 15px; height: 15px; transition: transform .2s ease; }
.mk-site .mkt-more:hover .mkl-ic { transform: translateX(3px); }
.mkt-card-side { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-left: 28px; border-left: 1px solid var(--mk-line); }
.mk-site .mkt-rate b { font: 700 28px/1 Montserrat, sans-serif; letter-spacing: -.025em; color: var(--mk-ink); font-variant-numeric: tabular-nums; }
.mk-site .mkt-rate span { font: 600 13.5px/1 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-rate-note { margin-top: 7px; font: 600 13px/1.4 Montserrat, sans-serif; color: var(--mk-rust); }
.mk-site .mkt-card-side .mks-times-label { margin-top: 20px; }
.mk-site .mkt-card-side .mks-times-empty { margin-top: 20px; }
.mk-site .mkt-book { margin-top: 18px; width: 100%; }

/* ---------- list: place — city chips, the map button, the city's spaces ---------- */
.mkt-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.mkt-filter--vieta { grid-template-columns: 84px auto minmax(0, 1fr); }
.mk-site .mkt-map-open { justify-self: start; display: inline-flex; align-items: center; gap: 8px; padding: 10px 17px 10px 13px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px rgba(50, 66, 86, .28); font: 600 13.5px/1 Montserrat, sans-serif; color: var(--mk-ink); white-space: nowrap; cursor: pointer; transition: background-color .2s, box-shadow .2s; }
.mk-site .mkt-map-open .mkl-ic { width: 17px; height: 17px; color: var(--mk-rust); }
.mk-site .mkt-map-open:hover { background: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
.mk-site .mkt-map-open:focus-visible { outline: 2px solid var(--mk-navy); outline-offset: 2px; border-radius: 999px; }

/* The chosen city's places, straight under its chips: the place, then its
   address (or how many it has) and how many of the fitting tutors teach there. */
.mkt-filter--areas .mkt-areas { grid-column: 2 / -1; }
.mk-site .mkt-areas { display: flex; flex-wrap: wrap; gap: 8px; }
.mk-site .mkt-area-chip { display: inline-grid; align-content: center; gap: 4px; min-height: 50px; padding: 8px 18px; border-radius: 16px; background: #fff; color: var(--mk-ink); transition: background-color .2s, color .2s; }
.mk-site .mkt-area-chip b { font: 700 13.5px/1.1 Montserrat, sans-serif; letter-spacing: -.005em; white-space: nowrap; }
.mk-site .mkt-area-chip small { font: 600 11.5px/1.2 Montserrat, sans-serif; color: var(--mk-ink-2); white-space: nowrap; }
.mk-site .mkt-area-chip:hover { background: var(--mk-cream-2); }
.mk-site .mkt-area-chip:focus-visible { outline: 2px solid var(--mk-navy); outline-offset: 2px; border-radius: 16px; }
.mk-site .mkt-area-chip.is-empty:not(.is-on) > * { opacity: .55; }
.mk-site .mkt-area-chip.is-on { background: var(--mk-navy); color: #fbf7f1; }
.mk-site .mkt-area-chip.is-on small { color: #cfd6e0; }

/* The card names the chosen place first, in ink. */
.mk-site .mkt-where b { font-weight: 700; color: var(--mk-ink); }

/* ---------- list: time — the week's days, then spans of hours ----------
   Any number of days: the strip reads like a calendar's header, and a run of
   chosen days joins into one navy bar, so "An–Kt" is seen, not counted. */
.mkt-when { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.mk-site .mkt-days { display: inline-flex; padding: 3px; border-radius: 999px; background: #fff; }
.mk-site .mkt-day { position: relative; display: grid; place-items: center; width: 44px; height: 30px; border-radius: 999px; font: 600 13.5px/1 Montserrat, sans-serif; color: var(--mk-ink); transition: background-color .2s, color .2s, border-radius .2s; }
.mk-site .mkt-day:hover { background: var(--mk-cream-2); }
.mk-site .mkt-day.is-on { background: var(--mk-navy); color: #fbf7f1; }
.mk-site .mkt-day.is-join-l { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.mk-site .mkt-day.is-join-r { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.mk-site .mkt-day:focus-visible { z-index: 1; outline: 2px solid var(--mk-navy); outline-offset: 2px; }
.mk-site .mkt-hours { display: flex; flex-wrap: wrap; gap: 8px; }
/* Nobody who fits the other choices is free then: faded, still a choice. */
.mk-site .mkt-day.is-empty:not(.is-on), .mk-site .mkt-hour.is-empty:not(.is-on) { color: #b3a898; }
/* Taps are gathered for a moment before the list reloads (js/tutor-list.js). */
.mk-site .mkt-results { transition: opacity .2s; }
.mk-site .mkt-results.is-pending { opacity: .45; }
.mk-site .mkt-count-when { font-weight: 600; color: var(--mk-ink-2); }
.mk-site .mkt-count-when::before { content: "· "; }

/* ---------- list: the map picker ---------- */
html:has(.mkt-map[open]) { overflow: hidden; }
.mk-site .mkt-map { width: min(1120px, calc(100vw - 64px)); height: min(780px, calc(100dvh - 64px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 0; border-radius: 24px; background: #fff; color: var(--mk-ink); box-shadow: 0 40px 100px -40px rgba(17, 26, 40, .7); overflow: hidden; }
.mk-site .mkt-map[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; animation: mkt-map-in .32s cubic-bezier(.2, .8, .2, 1); }
.mk-site .mkt-map::backdrop { background: rgba(17, 26, 40, .52); animation: mkt-fade .25s ease; }
@keyframes mkt-map-in { from { opacity: 0; transform: translateY(18px) scale(.985); } }
@keyframes mkt-fade { from { opacity: 0; } }

.mk-site .mkt-map-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 18px 18px 28px; box-shadow: 0 1px 0 var(--mk-line); }
.mk-site .mkt-map-head h2 { margin: 0; padding: 0; font: 700 22px/1.2 Montserrat, sans-serif; letter-spacing: -.02em; color: var(--mk-ink); }
.mk-site .mkt-map-head p { margin: 4px 0 0; padding: 0; font: 500 14px/1.4 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-map-x { flex: none; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--mk-line); color: var(--mk-ink); cursor: pointer; transition: background-color .15s; }
.mk-site .mkt-map-x .mkl-ic { width: 20px; height: 20px; }
.mk-site .mkt-map-x:hover { background: var(--mk-cream-2); }
.mk-site .mkt-map-x:focus-visible { outline: 2px solid var(--mk-navy); outline-offset: 2px; }

.mk-site .mkt-map-body { display: grid; grid-template-columns: minmax(0, 390px) minmax(0, 1fr); min-height: 0; }

/* The map keeps its 8:7 shape at any size of the pane: container units fit it inside. */
.mk-site .mkt-map-stage { container-type: size; display: grid; place-items: center; min-height: 0; background: #efe8de; }
.mk-site .mkt-map-box { position: relative; width: min(calc(100cqw - 40px), calc((100cqh - 40px) * 8 / 7)); aspect-ratio: 8 / 7; }
.mk-site .mkt-map-img { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; }
/* The map's edges melt into the cream around it. */
.mk-site .mkt-map-box::after { content: ""; position: absolute; inset: -1px; z-index: 1; pointer-events: none; box-shadow: inset 0 0 30px 20px #efe8de; }
.mk-site .mkt-map-box .mkl-map-credit { z-index: 5; left: 14px; right: auto; } /* bottom right is where Naujamiestis hangs its name */

/* A place on the map: its spot — a dot, or a ring round the dots of a place
   of several addresses — and its name on a short stem. The map box is a
   container, so a name near an edge slides inward instead of spilling out. */
.mk-site .mkt-map-box { container-type: inline-size; }
.mk-site .mkt-place { position: absolute; z-index: 3; width: 0; height: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.mk-site .mkt-place-stem { position: absolute; left: -1px; bottom: 0; width: 2px; height: 10px; border-radius: 1px; background: var(--mk-navy); }
.mk-site .mkt-place-pill { position: absolute; left: 0; bottom: 9px; display: block; padding: 8px 12px 7px; border-radius: 999px; background: #fff; box-shadow: 0 0 0 1px rgba(37, 52, 74, .1), 0 10px 22px -12px rgba(37, 52, 74, .6); font: 700 12.5px/1 Montserrat, sans-serif; color: var(--mk-ink); white-space: nowrap; transform: translateX(clamp(calc(8px - var(--x) * 1cqw), -50%, calc((100 - var(--x)) * 1cqw - 8px - 100%))); transition: background-color .2s, color .2s; }
.mk-site .mkt-place--below .mkt-place-stem { top: 0; bottom: auto; }
.mk-site .mkt-place--below .mkt-place-pill { top: 9px; bottom: auto; }
/* One address: the stem stands on its dot. */
.mk-site .mkt-place-dot { position: absolute; left: -8px; top: -8px; width: 16px; height: 16px; border: 3px solid #fff; border-radius: 50%; background: var(--mk-navy); box-shadow: 0 3px 8px -3px rgba(37, 52, 74, .7); transition: background-color .2s, box-shadow .2s; }
.mk-site .mkt-place--one .mkt-place-stem { bottom: 6px; height: 14px; }
.mk-site .mkt-place--one .mkt-place-pill { bottom: 19px; }
.mk-site .mkt-place--one.mkt-place--below .mkt-place-stem { top: 6px; bottom: auto; }
.mk-site .mkt-place--one.mkt-place--below .mkt-place-pill { top: 19px; bottom: auto; }
/* Several addresses: a ring round their dots, one place. */
.mk-site .mkt-area-ring { position: absolute; z-index: 2; aspect-ratio: 1; border-radius: 50%; background: rgba(50, 66, 86, .08); box-shadow: inset 0 0 0 1.5px rgba(50, 66, 86, .5); transform: translate(-50%, -50%); cursor: pointer; transition: background-color .2s, box-shadow .2s; }
.mk-site .mkt-area-dot { position: absolute; z-index: 2; width: 10px; height: 10px; margin: -5px 0 0 -5px; border: 2px solid #fff; border-radius: 50%; background: var(--mk-navy); cursor: pointer; transition: background-color .2s; }
/* Nobody fits there: the name fades. */
.mk-site .mkt-place.is-empty .mkt-place-pill { color: #9a9285; }
.mk-site .mkt-place.is-empty .mkt-place-dot, .mk-site .mkt-area-dot.is-empty { background: #a9a092; }
/* Hover, from the map or from its row. */
.mk-site .mkt-place.is-hover .mkt-place-pill { color: var(--mk-rust); }
@media (hover: hover) { .mk-site .mkt-place:hover .mkt-place-pill { color: var(--mk-rust); } }
.mk-site .mkt-area-ring.is-hover { background: rgba(50, 66, 86, .15); }
/* Chosen: the name goes navy, the spot rust. */
.mk-site .mkt-place.is-on { z-index: 4; }
.mk-site .mkt-place.is-on .mkt-place-pill, .mk-site .mkt-place.is-on:hover .mkt-place-pill { background: var(--mk-navy); color: #fbf7f1; }
.mk-site .mkt-place.is-on .mkt-place-dot, .mk-site .mkt-area-dot.is-on { background: var(--mk-rust); }
.mk-site .mkt-place.is-on .mkt-place-dot { box-shadow: 0 0 0 8px rgba(175, 106, 41, .22); }
.mk-site .mkt-area-ring.is-on { background: rgba(175, 106, 41, .16); box-shadow: inset 0 0 0 1.5px var(--mk-rust); }
/* "Visos … vietos": every spot turns rust; the names stay white. */
.mk-site .mkt-map-box.is-all .mkt-place.is-on .mkt-place-pill { background: #fff; color: var(--mk-ink); }
.mk-site .mkt-map-box.is-all .mkt-place.is-on .mkt-place-dot { box-shadow: 0 3px 8px -3px rgba(37, 52, 74, .7); }

/* Cities off the map: an inset card in the corner, like on a printed map. */
.mk-site .mkt-map-insets { position: absolute; z-index: 3; left: 2.5%; top: 3%; display: grid; gap: 8px; }
.mk-site .mkt-map-inset { padding: 9px 14px 11px 9px; border-radius: 14px; background: #fff; box-shadow: 0 12px 28px -18px rgba(37, 52, 74, .6); }
.mk-site .mkt-map-inset-city { margin: 0 0 6px 6px; padding: 0; font: 700 10px/1 Montserrat, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--mk-rust); }
.mk-site .mkt-inset-opt { display: flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: var(--mk-ink); text-align: left; cursor: pointer; }
.mk-site .mkt-inset-t { display: grid; gap: 3px; }
.mk-site .mkt-inset-t b { font: 700 13px/1.1 Montserrat, sans-serif; white-space: nowrap; }
.mk-site .mkt-inset-t small { font: 600 11px/1.2 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-inset-opt:hover b, .mk-site .mkt-inset-opt.is-hover b { color: var(--mk-rust); }
.mk-site .mkt-inset-opt.is-empty .mkt-mark { color: #a9a092; }
.mk-site .mkt-inset-opt.is-on .mkt-mark { color: var(--mk-rust); }

/* The mark before a place in the list, the insets and the footer: one dot,
   three dots (drawn the way the Naujamiestis three sit), or a pin for all. */
.mk-site .mkt-mark { position: relative; flex: none; display: block; width: 28px; height: 28px; color: var(--mk-navy); transition: color .2s; }
.mk-site .mkt-mark i, .mk-site .mkt-mark .mkl-ic { display: none; }
.mk-site .mkt-mark i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.mk-site .mkt-mark--one i:first-child { display: block; left: 8px; top: 8px; width: 12px; height: 12px; }
.mk-site .mkt-mark--group i { display: block; }
.mk-site .mkt-mark--group i:nth-child(1) { left: 5px; top: 5px; }
.mk-site .mkt-mark--group i:nth-child(2) { left: 15px; top: 9px; }
.mk-site .mkt-mark--group i:nth-child(3) { left: 8px; top: 15px; }
.mk-site .mkt-mark--all .mkl-ic { display: block; position: absolute; left: 3px; top: 3px; width: 22px; height: 22px; }
.mk-site .mkt-mark--none { display: none; }

/* The same places as a list, beside the map. */
.mk-site .mkt-map-list { order: -1; min-width: 0; min-height: 0; margin: 0; padding: 6px 18px 22px; border: 0; overflow-y: auto; overscroll-behavior: contain; box-shadow: 1px 0 0 var(--mk-line); }
.mk-site .mkt-map-city { margin: 18px 0 6px 12px; padding: 0; font: 700 11px/1 Montserrat, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--mk-rust); }
.mk-site .mkt-map-opt { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 12px; align-items: center; margin: 0; padding: 11px 12px 11px 10px; border-radius: 14px; cursor: pointer; transition: background-color .15s, box-shadow .15s; }
.mk-site .mkt-map-opt + .mkt-map-opt { margin-top: 2px; }
.mk-site .mkt-map-opt input { position: absolute; top: 50%; left: 16px; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.mk-site .mkt-map-opt.is-hover { background: #fbf7f1; }
@media (hover: hover) { .mk-site .mkt-map-opt:hover { background: #fbf7f1; } }
.mk-site .mkt-map-opt.is-on { background: #fbf7f1; box-shadow: inset 0 0 0 1.5px var(--mk-navy); }
.mk-site .mkt-map-opt.is-on .mkt-mark { color: var(--mk-rust); }
.mk-site .mkt-map-opt:has(input:focus-visible) { outline: 2px solid var(--mk-navy); outline-offset: 1px; }
.mk-site .mkt-map-opt-t { display: grid; gap: 4px; min-width: 0; }
.mk-site .mkt-map-opt-t b { font: 700 15px/1.2 Montserrat, sans-serif; letter-spacing: -.01em; color: var(--mk-ink); }
.mk-site .mkt-map-opt-t small { font: 600 12.5px/1.3 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-map-opt.is-empty .mkt-map-opt-t { opacity: .55; }
.mk-site .mkt-map-opt.is-empty:not(.is-on) .mkt-mark { color: #b3aa9c; }
.mk-site .mkt-map-opt .mkl-faces img { width: 26px; height: 26px; }
.mk-site .mkt-map-opt .mkl-faces-more { width: 26px; height: 26px; font-size: 10px; }

.mk-site .mkt-map-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; padding: 14px 18px 14px 26px; box-shadow: 0 -1px 0 var(--mk-line); background: #fff; }
.mk-site .mkt-map-choice { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; padding: 0; }
.mk-site .mkt-map-choice > span:last-child { display: grid; gap: 4px; min-width: 0; }
.mk-site .mkt-map-choice b { font: 700 16px/1.2 Montserrat, sans-serif; letter-spacing: -.01em; color: var(--mk-ink); }
.mk-site .mkt-map-choice small { font: 600 13px/1.3 Montserrat, sans-serif; color: var(--mk-ink-2); }
.mk-site .mkt-map-choice .mkt-mark { color: var(--mk-rust); }
.mk-site .mkt-map-go { flex: none; }
.mk-site .mkt-map-go .mkl-ic { width: 17px; height: 17px; }
.mk-site .mkt-map-go[aria-disabled="true"] { opacity: .35; pointer-events: none; }

.mkt-help-in { display: flex; align-items: center; justify-content: space-between; gap: 20px 40px; flex-wrap: wrap; }
.mk-site .mkt-help p { margin-top: 8px; max-width: 46ch; font-size: 16px; line-height: 1.6; color: var(--mk-ink-2); }
.mk-site .mkt-help .mkl-acts { margin-top: 0; }
.mk-site .mkt-help .mkl-btn .mkl-ic { width: 17px; height: 17px; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .mk-site .mkt-card { grid-template-columns: 112px minmax(0, 1fr); }
  .mkt-card-side { grid-column: 1 / -1; padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--mk-line); }
  .mkt-others { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .mkt-head-grid { grid-template-columns: 1fr; gap: 26px; }
  .mk-site .mkt-portrait { order: -1; max-width: 380px; justify-self: start; }
  .mk-site .mkt-head h1, .mk-site .mkt-list-head h1 { font-size: 42px; }
  .mkt-about { grid-template-columns: 1fr; gap: 28px; }
  .mkt-ruler-row { grid-template-columns: 1fr; gap: 10px; }
  .mkt-services { grid-template-columns: 1fr; }
  .mk-site .mkt-h2 { font-size: 25px; }
}

/* Narrow screens: the week's days become a strip to tap; the chosen day's
   times show below it. Without script every day is listed in turn. */
@media (max-width: 900px) {
  .mkt-sched-top { padding: 12px 12px 12px 18px; }
  .mk-site .mkt-week-days { gap: 4px; padding: 8px; }
  .mk-site .mkt-week-day { position: relative; gap: 5px; padding: 8px 0 12px; border-radius: 12px; cursor: pointer; }
  .mk-site .mkt-week-day b { width: 32px; height: 32px; font-size: 15px; }
  .mk-site .mkt-week-day.has-times::after { content: ""; position: absolute; bottom: 5px; left: 50%; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--mk-rust); }
  .mk-site .mkt-sched.is-js .mkt-week-day.is-active { background: #fff; box-shadow: inset 0 0 0 1.5px var(--mk-navy); }
  .mk-site .mkt-week-day:focus-visible { outline: 2px solid var(--mk-navy); outline-offset: 1px; }
  .mk-site .mkt-week-cols { grid-template-columns: minmax(0, 1fr); }
  .mk-site .mkt-week-col { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); align-content: start; gap: 8px; min-height: 0; padding: 16px 16px 18px; }
  .mk-site .mkt-week-col + .mkt-week-col { box-shadow: inset 0 1px 0 #f1ebe2; }
  .mk-site .mkt-week-col-h { display: block; grid-column: 1 / -1; font: 700 14.5px/1.3 Montserrat, sans-serif; color: var(--mk-ink); }
  .mk-site .mkt-sched.is-js .mkt-week-col { display: none; }
  .mk-site .mkt-sched.is-js .mkt-week-col.is-active { display: grid; box-shadow: none; }
  .mk-site .mkt-week-slot { padding: 12px 8px; }
  .mk-site .mkt-sched--places .mkt-week-col { grid-template-columns: repeat(auto-fill, minmax(136px, 1fr)); }
  .mk-site .mkt-sched--places .mkt-week-slot { flex-wrap: wrap; row-gap: 4px; padding: 10px 8px 9px; }
  .mk-site .mkt-sched--places .mkt-week-slot-at { display: block; flex-basis: 100%; font: 600 11.5px/1.25 Montserrat, sans-serif; color: var(--mk-ink-2); text-align: center; }
  .mk-site .mkt-sched--places .mkt-week-slot:hover .mkt-week-slot-at, .mk-site .mkt-sched--places .mkt-week-slot.is-picked .mkt-week-slot-at { color: #e2c79a; }
  .mk-site .mkt-week-none { grid-column: 1 / -1; margin: 0; text-align: left; font: 600 14px/1.5 Montserrat, sans-serif; color: var(--mk-ink-2); }
  .mk-site .mkt-week-none span { display: none; }
  .mk-site .mkt-week-none em { display: inline; font-style: normal; }
  .mk-site .mkt-sched-foot { padding: 14px 18px; }
}

@media (max-width: 700px) {
  .mk-site .mkt-head h1, .mk-site .mkt-list-head h1 { font-size: 36px; }
  .mk-site .mkt-portrait { max-width: 300px; }
  .mk-site .mkt-price-rate b { font-size: 26px; }
  .mk-site .mkt-card { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; padding: 18px; }
  .mkt-card-ph { width: 76px; height: 76px; }
  .mk-site .mkt-card-ph img { width: 72px; height: 72px; }
  .mk-site .mkt-card-main h3 { font-size: 18px; }
  .mkt-card-main { min-width: 0; }
  .mkt-filter { grid-template-columns: 1fr; gap: 8px; }
  .mk-site .mkt-filter .mks-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
  .mk-site .mkt-filter .mks-chips::-webkit-scrollbar { display: none; }
  .mkt-others { grid-template-columns: 1fr; }
  .mk-site .mkt-ruler-grades { gap: 4px; }
  .mk-site .mkt-ruler-grades li { height: 34px; border-radius: 8px; font-size: 12.5px; }
  .mk-site .mkt-sticky { position: sticky; bottom: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); box-shadow: 0 -1px 0 var(--mk-line); transform: translateY(110%); visibility: hidden; transition: transform .22s ease, visibility 0s linear .22s; }
  .mk-site .mkt-sticky.is-shown { transform: none; visibility: visible; transition: transform .22s ease, visibility 0s; }
  .mk-site .mkt-sticky b { display: block; font: 700 15px/1.2 Montserrat, sans-serif; color: var(--mk-ink); }
  .mk-site .mkt-sticky span { display: block; margin-top: 2px; font: 600 12.5px/1.3 Montserrat, sans-serif; color: var(--mk-ink-2); }
}

/* Tablets: the map above, the list under it. */
@media (max-width: 900px) and (min-height: 561px) {
  .mk-site .mkt-map { width: calc(100vw - 48px); height: calc(100dvh - 48px); }
  .mk-site .mkt-map-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .mk-site .mkt-map-stage { height: min(calc((100vw - 48px) * 7 / 8), 52dvh); }
  .mk-site .mkt-map-list { order: 0; box-shadow: 0 -1px 0 var(--mk-line); }
}

@media (max-width: 700px) {
  /* "Žemėlapis" moves up beside the VIETA label; the chips keep their own line. */
  .mkt-filter--vieta { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .mkt-filter--vieta .mks-chips { grid-column: 1 / -1; }
  .mk-site .mkt-map-open { grid-column: 2; grid-row: 1; padding: 0 0 3px; border-radius: 0; background: none; box-shadow: inset 0 -1.5px 0 var(--mk-gold); font-size: 13px; }
  .mk-site .mkt-map-open .mkl-ic { width: 16px; height: 16px; }
  .mk-site .mkt-map-open:hover { background: none; box-shadow: inset 0 -1.5px 0 var(--mk-gold); }
  /* The week spans the screen; the hours share the line under it. */
  .mkt-when { display: grid; gap: 8px; }
  .mk-site .mkt-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .mk-site .mkt-day { width: auto; height: 38px; }
  .mk-site .mkt-hours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mk-site .mkt-hour { justify-content: center; padding: 12px 6px; font-size: 13px; }
  .mk-site .mkt-count-when { display: block; margin-top: 4px; font-size: 15px; line-height: 1.35; }
  .mk-site .mkt-count-when::before { content: none; }

  .mkt-filter--areas .mkt-areas { grid-column: 1 / -1; }
  .mk-site .mkt-areas { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
  .mk-site .mkt-areas::-webkit-scrollbar { display: none; }
  .mk-site .mkt-area-chip { flex: none; }

  /* The map picker fills the phone: the map on top, the list under it, the button pinned below. */
  .mk-site .mkt-map { width: 100%; height: 100dvh; margin: 0; border-radius: 0; box-shadow: none; }
  .mk-site .mkt-map[open] { animation-name: mkt-map-up; }
  .mk-site .mkt-map-head { padding: 10px 10px 10px 18px; }
  .mk-site .mkt-map-head h2 { font-size: 18px; }
  .mk-site .mkt-map-head p { margin-top: 2px; font-size: 12.5px; }
  .mk-site .mkt-map-x { width: 42px; height: 42px; }
  .mk-site .mkt-map-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .mk-site .mkt-map-stage { height: min(calc(100vw * 7 / 8), 48dvh); }
  .mk-site .mkt-map-box { width: min(100cqw, calc(100cqh * 8 / 7)); }
  .mk-site .mkt-map-list { order: 0; padding: 0 8px 12px; box-shadow: none; }
  .mk-site .mkt-map-city { margin: 16px 0 4px 12px; }
  .mk-site .mkt-map-opt { padding: 10px 12px 10px 10px; }
  .mk-site .mkt-place-pill { padding: 7px 10px 6px; font-size: 12px; }
  .mk-site .mkt-map-inset { padding: 7px 11px 9px 9px; border-radius: 12px; }
  .mk-site .mkt-map-inset-city { margin-bottom: 6px; }
  /* The chosen row and pin already say which place; the button says what it shows. */
  .mk-site .mkt-map-choice { display: none; }
  .mk-site .mkt-map-foot { padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .mk-site .mkt-map-go { width: 100%; }
}
@keyframes mkt-map-up { from { opacity: 0; transform: translateY(28px); } }

@media (prefers-reduced-motion: reduce) {
  .mk-site .mkt-week-slot, .mk-site .mkt-sched-arrow, .mk-site .mkt-sched-more .mkl-ic, .mk-site .mkt-service, .mk-site .mkt-more .mkl-ic, .mk-site .mkt-service em .mkl-ic, .mk-site .mkt-sticky { transition: none; }
  .mk-site .mkt-map[open], .mk-site .mkt-map::backdrop { animation: none; }
  .mk-site .mkt-place-pill, .mk-site .mkt-place-dot, .mk-site .mkt-area-ring, .mk-site .mkt-area-dot, .mk-site .mkt-area-chip, .mk-site .mkt-mark, .mk-site .mkt-map-opt, .mk-site .mkt-map-open { transition: none; }
  .mk-site .mkt-day, .mk-site .mkt-results { transition: none; }
}
