/* Portál 777 PRODUCTION — společný vzhled hlavní stránky a článků (schváleno klientkou 2. 10. 2026).
   Vzniklo z maket site/_maket-hlavni.html a site/_maket-clanek.html; barvy jen z proměnných v style.css. */

  /* Макет v2: один рядок дня (без повторів), темно-зелений бренд, компактні віджети, затверджена палітра:
     темно-зелений var(--green), оранжевий var(--orange), світло-зелений var(--mint-soft), білі картки, тонкі рамки */
  body { background: var(--cream); }
  .mk-w { max-width: 1440px; margin: 0 auto; padding: 0 clamp(14px, 2vw, 28px); } html, body { overflow-x: hidden; }
  /* рядок дня — єдиний, темно-зелений */
  .mk-day { background: var(--cream); color: var(--muted); font-size: .84rem; border-bottom: 1px solid #ecdcc4; }
  .mk-day .mk-w { display: grid; grid-template-columns: 1fr auto 1fr; gap: 6px 18px; align-items: center; min-height: 34px; }
  .mk-day .dt { justify-self: end; display: inline-flex; gap: 10px; align-items: baseline; }
  .mk-day b { color: var(--green); font-weight: 600; } .mk-day .t { color: var(--sand); font-weight: 700; }
  .mk-day .wx { display: inline-flex; align-items: center; gap: 6px; } .mk-day .wx svg { color: var(--sand); }
  .mk-day .fx { display: inline-flex; gap: 12px; justify-self: start; } .mk-day .fx span b { color: var(--green); }
  /* шапка */
  .mk-head { background: #fff; border-bottom: 4px solid var(--sand); }
  .mk-head .mk-w { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
  .mk-logo { font-size: 1.5rem; color: var(--green); text-decoration: none; font-weight: 500; white-space: nowrap; flex: none; margin-right: 24px; } .mk-logo span { color: var(--orange); }
  .mk-nav { display: flex; gap: clamp(12px, 1.6vw, 22px); align-items: center; } .mk-nav a { color: var(--green); text-decoration: none; font-size: .95rem; white-space: nowrap; line-height: 1.2; }
  .mk-nav .btn { color: #fff; padding: 8px 18px; }
  .mk-cab { display: inline-flex !important; align-items: center; gap: 6px; border: 1px solid var(--sand); border-radius: 999px; padding: 6px 12px; color: var(--green) !important; }
  .mk-cab svg { color: var(--sand); } .mk-cab:hover { background: var(--orange-soft); border-color: var(--orange); } .mk-cab:hover svg { color: var(--orange); }
  .mk-dd { position: relative; display: flex; align-items: center; } .mk-dd__top { font-weight: 600; color: var(--orange) !important; }
  .mk-dd__m { display: none; position: absolute; top: 100%; left: -14px; z-index: 5; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--orange); border-radius: 0 0 12px 12px; box-shadow: 0 10px 28px rgba(2,46,29,.14); padding: 6px; width: 300px; }
  .mk-dd:hover .mk-dd__m, .mk-dd:focus-within .mk-dd__m { display: block; }
  .mk-dd__m a { display: block; padding: 9px 12px; border-radius: 8px; } .mk-dd__m a:hover { background: var(--mint-soft); }
  .mk-dd__m b { display: block; color: var(--green); font-size: .93rem; } .mk-dd__m small { color: var(--muted); font-size: .78rem; }
  .mk-dd__m a.soon b { color: var(--muted); }
  .mk-dd__m { width: 260px; } .mk-dd__m > a { padding: 7px 12px !important; }
  .mk-dd__h { margin: 8px 12px 2px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); font-weight: 700; }
  .mk-dd__h span { text-transform: none; letter-spacing: 0; color: var(--muted); font-weight: 500; margin-left: 4px; }
  .mk-dd__act { display: flex; flex-direction: column; gap: 6px; padding: 8px 12px 10px; margin: 4px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .mk-dd__act .btn { color: #fff !important; text-align: center; padding: 8px 12px !important; font-size: .78rem; }
  .mk-dd__alt { text-align: center; border: 1px solid var(--sand); border-radius: 999px; padding: 7px 12px !important; color: var(--green) !important; font-size: .82rem; font-weight: 600; }
  .mk-dd__alt:hover { background: var(--orange-soft) !important; border-color: var(--orange); }
  /* герой: компактний, темно-зелений, пошук — головне */
  .mk-hero { position: relative; color: #fff; padding: 34px 0 26px; background: var(--green) url("../img/obyvak.jpg") center / cover no-repeat; }
  .mk-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(2,46,29,.80) 0%, rgba(2,46,29,.55) 55%, rgba(2,46,29,.25) 100%); }
  .mk-hero .mk-w { position: relative; }
  .mk-hero h1 { color: #fff; font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 500; margin: 0 0 14px; } .mk-hero h1 em { font-style: normal; color: var(--orange); display: inline-block; margin-top: 2px; }
  .mk-box { display: flex; background: #fff; border-radius: 999px; overflow: hidden; box-shadow: 0 6px 20px rgba(0,0,0,.18); }
  .mk-box input { flex: 1; border: 0; padding: 14px 22px; font: inherit; font-size: 1rem; outline: none; min-width: 0; color: var(--green); }
  .mk-box button { border: 0; background: var(--orange); color: #fff; padding: 0 28px; font: 600 1rem var(--font); cursor: pointer; }
  .mk-chips { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0 0; scrollbar-width: none; } .mk-chips::-webkit-scrollbar { display: none; }
  .mk-chips a { white-space: nowrap; background: rgba(255,255,255,.08); border: 1px solid rgba(196,149,94,.75); border-radius: 999px; padding: 5px 14px; font-size: .85rem; color: #fff; text-decoration: none; }
  .mk-chips a:hover { background: var(--sand); border-color: var(--sand); color: #fff; }
  /* сервіси: компактні значки на білій смузі */
  .mk-svc { background: #fff; border-bottom: 1px solid var(--line); }
  .mk-ico { display: grid; grid-template-columns: repeat(11, 1fr); gap: 4px; padding: 12px 0; }
  .mk-ico a { display: flex; flex-direction: column; align-items: center; gap: 5px; text-decoration: none; color: var(--green); font-size: .76rem; text-align: center; line-height: 1.2; padding: 4px 2px; border-radius: 10px; }
  .mk-ico i { width: 42px; height: 42px; border-radius: 50%; background: #fff; border: 1.5px solid var(--sand); display: flex; align-items: center; justify-content: center; color: var(--sand); transition: background .15s, color .15s; }
  .mk-ico a:hover i { background: var(--orange-soft); border-color: var(--orange); color: var(--orange); }
  /* обсяг */
  .mk-cols { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) minmax(240px, 330px); gap: 16px; align-items: start; padding: 22px 0; }
  .mk-ads { display: flex; flex-direction: column; gap: 0; padding-top: 4px; padding-bottom: 4px; }
  .mk-ads a { display: block; padding: 10px 0; border-top: 1px solid var(--line); text-decoration: none; color: var(--ink); font-size: .86rem; }
  .mk-ads a.mk-ad { display: grid; grid-template-columns: 64px 1fr; column-gap: 10px; align-items: start; } .mk-ads img { grid-row: 1 / span 3; width: 64px; height: 64px; object-fit: cover; border-radius: 10px; } .mk-ads .mk-loc { justify-self: start; height: 20px; font-size: .7rem; padding: 0 7px; } .mk-ads b { margin: 3px 0 1px !important; font-size: .86rem !important; line-height: 1.25; } .mk-ads small { font-size: .76rem !important; }
  .mk-ads a:first-child { border-top: 0; } .mk-ads a:hover b { color: var(--orange); }
  .mk-ads b { display: block; color: var(--green); margin: 6px 0 2px; font-size: .92rem; } .mk-ads small { color: var(--muted); font-size: .8rem; }
  .mk-adbtn { display: flex; flex-direction: column; align-items: stretch; gap: 8px; border-top: 1px solid var(--line); text-align: center; }
  .mk-adbtn .btn { padding: 9px 14px; font-size: .8rem; white-space: nowrap; } .mk-adbtn a:not(.btn) { color: var(--orange); font-size: .85rem; text-decoration: none; }
  .mk-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; margin-bottom: 18px; overflow: hidden; }
  .mk-card > h2 { margin: 0; padding: 12px 18px; font-size: 1.02rem; color: var(--green); border-bottom: 2px solid var(--sand); display: flex; justify-content: space-between; align-items: baseline; }
  .mk-card > h2 a { font-size: .82rem; color: var(--orange); font-weight: 500; text-decoration: none; }
  .mk-in { padding: 12px 18px; }
  .mk-tabs { display: flex; gap: 6px; margin-bottom: 6px; }
  .mk-tabs span { font-size: .82rem; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--line); color: var(--green); cursor: pointer; }
  .mk-tabs span.on { background: var(--sand); border-color: var(--sand); color: #fff; }
  .mk-news { list-style: none; margin: 0; padding: 0; }
  .mk-news li { padding: 10px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 74px 1fr; gap: 12px; }
  .mk-news li:first-child { border-top: 0; }
  .mk-news img { width: 74px; height: 56px; object-fit: cover; border-radius: 8px; }
  .mk-news a { color: var(--green); font-weight: 600; text-decoration: none; font-size: .95rem; } .mk-news a:hover { color: var(--orange); }
  .mk-news small { display: block; color: var(--muted); font-size: .78rem; margin-top: 3px; }
  .mk-src { font-size: .75rem; color: var(--muted); margin: 6px 0 0; }
  .mk-req { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .mk-req div { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; font-size: .86rem; }
  .mk-req b { display: block; color: var(--green); margin: 6px 0 2px; }
  .mk-loc { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 9px; border-radius: 999px; font-size: .74rem; border: 1px solid var(--green-2); background: #fff; color: var(--green); font-weight: 600; }
  .mk-loc svg { color: var(--orange); }
  .mk-price { color: var(--green); font-weight: 700; }
  /* бокова колонка: компактно */
  .mk-dates { list-style: none; margin: 0; padding: 0; }
  .mk-dates li { display: flex; gap: 10px; align-items: center; padding: 7px 0; border-top: 1px solid var(--line); font-size: .86rem; color: var(--ink); }
  .mk-dates li:first-child { border-top: 0; }
  .mk-dates time { flex: none; width: 46px; text-align: center; background: var(--cream); border: 1px solid #ecdcc4; color: var(--green); border-radius: 8px; padding: 3px 0; font-weight: 700; font-size: .78rem; line-height: 1.15; }
  .mk-dates time small { display: block; font-weight: 500; font-size: .66rem; }
  .mk-week { list-style: none; margin: 0; padding: 6px 18px; }
  .mk-week li { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; border-top: 1px solid var(--line); font-size: .86rem; }
  .mk-week li:first-child { border-top: 0; }
  .mk-week time { flex: none; width: 38px; text-align: center; border: 1px solid #ecdcc4; background: #fff; color: var(--green); border-radius: 8px; padding: 2px 0; font-weight: 700; line-height: 1.1; }
  .mk-week time small { display: block; font-weight: 500; font-size: .66rem; color: var(--muted); text-transform: uppercase; }
  .mk-week li.we time { color: var(--sand); }
  .mk-week li.today time { background: var(--sand); border-color: var(--sand); color: #fff; } .mk-week li.today time small { color: #fff; }
  .mk-week div { display: flex; flex-direction: column; gap: 1px; }
  .mk-week b { color: var(--green); font-size: .88rem; font-weight: 600; line-height: 1.3; }
  .mk-week b.int { color: var(--mint-dark); } .mk-week b.vyz { color: #8a6234; } .mk-week b.his { color: var(--green); font-weight: 500; }
  .mk-week span { color: var(--muted); font-size: .76rem; }
  .mk-week em { font-style: normal; font-size: .78rem; border-radius: 6px; padding: 1px 6px; align-self: flex-start; }
  .mk-week em.vyz { background: var(--cream); color: #8a6234; } .mk-week em.int { background: var(--mint-soft); color: var(--green); }
  .mk-next { margin: 0; padding-top: 8px; padding-bottom: 4px; font-size: .82rem; color: var(--muted); border-top: 1px solid var(--line); } .mk-next b { color: var(--green); }
  .mk-mine { margin: 0; padding-top: 0; font-size: .78rem; color: var(--muted); }
  .mk-use { list-style: none; margin: 0; padding: 4px 18px 8px; }
  .mk-use li { padding: 7px 0; border-top: 1px solid var(--line); font-size: .9rem; } .mk-use li:first-child { border-top: 0; }
  .mk-use a { color: var(--green); text-decoration: none; display: flex; gap: 8px; align-items: flex-start; line-height: 1.35; } .mk-use a svg { margin-top: 3px; } .mk-use a:hover { color: var(--orange); }
  .mk-use svg { color: var(--sand); flex: none; }
  .mk-shop { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .mk-shop a { border: 1px solid var(--line); border-radius: 12px; padding: 12px; text-decoration: none; color: var(--green); font-size: .9rem; background: #fff; }
  .mk-shop a { display: flex; gap: 10px; align-items: center; padding: 8px 10px !important; }
  .mk-shop a:hover { border-color: var(--orange); background: #fffaf3; }
  .mk-shop img { width: 46px; height: 58px; object-fit: cover; object-position: top; border-radius: 6px; border: 1px solid var(--line); flex: none; }
  .mk-shop span { display: flex; flex-direction: column; gap: 3px; }
  .mk-shop b { color: var(--green); font-weight: 600; font-size: .88rem; line-height: 1.3; }
  .mk-shop small { color: var(--sand); font-weight: 400; font-size: .8rem; }
  @media (max-width: 1320px) { .mk-cab span { display: none; } .mk-cab { padding: 6px 8px; } }
  @media (max-width: 1150px) { .mk-nav { gap: 12px; } .mk-nav a { font-size: .84rem; } .mk-logo { font-size: 1.2rem; margin-right: 10px; } .mk-nav .btn { padding: 7px 12px; font-size: .78rem; } }
  @media (max-width: 880px) { .mk-nav a:not(.btn), .mk-dd { display: none; } .mk-burger { display: inline-flex !important; } }
  @media (max-width: 1000px) { .mk-ico { grid-template-columns: repeat(6, 1fr); } }
  
  @media (max-width: 900px) { .mk-cols { grid-template-columns: 1fr; } .mk-mid { order: -1; } .mk-req { grid-template-columns: 1fr; } .mk-shop { grid-template-columns: repeat(2, 1fr); } .mk-day .mk-w { grid-template-columns: 1fr 1fr; } .mk-day .wx { justify-self: end; } .mk-day .dt { grid-column: 1 / -1; justify-self: start; } }
  @media (max-width: 560px) { .mk-ico { grid-template-columns: repeat(4, 1fr); } }
  /* sloupce stejně vysoké: poslední karta v každém sloupci se natáhne dolů */
  .mk-cols { align-items: stretch !important; }
  .mk-cols > aside, .mk-cols > .mk-mid { display: flex; flex-direction: column; }
  .mk-cols > aside > .mk-card:last-child, .mk-cols > .mk-mid > .mk-card:last-child { flex: 1; display: flex; flex-direction: column; margin-bottom: 0; }
  
  .mk-left .mk-card { display: flex; flex-direction: column; } .mk-left .mk-ads { flex: 1; } .mk-left .mk-adbtn { margin-top: auto; }
  @media (max-width: 900px) { .mk-cols > aside > .mk-card:last-child, .mk-cols > .mk-mid > .mk-card:last-child { margin-bottom: 18px; } }
  .mk-cols { grid-template-areas: "a n s" "h d w"; row-gap: 16px; }
  .mk-cols > aside, .mk-cols > .mk-mid { display: contents !important; }
  .mk-cols .mk-card { margin-bottom: 0 !important; display: flex !important; flex-direction: column; }
  .g-a { grid-area: a; } .g-h { grid-area: h; } .g-n { grid-area: n; } .g-d { grid-area: d; } .g-s { grid-area: s; } .g-w { grid-area: w; }
  .mk-cols .mk-card > .mk-adbtn, .mk-cols .mk-card > .mk-next { margin-top: auto; }
  .mk-ads { justify-content: flex-start; }
  .g-d .mk-shop { align-content: start; }
  .mk-week { display: flex; flex-direction: column; }
  .mk-use { display: flex; flex-direction: column; }
  .mk-news { display: flex; flex-direction: column; }
  @media (max-width: 900px) { .mk-cols { grid-template-columns: 1fr !important; grid-template-areas: "n" "a" "h" "d" "s" "w"; } }
  @media (max-width: 1000px) { .mk-nav { gap: 9px; } .mk-nav a { font-size: .78rem; } .mk-logo { font-size: 1.05rem; margin-right: 6px; } .mk-nav .btn { padding: 6px 10px; font-size: .72rem; } }
  /* náhledy dokumentů velké — na výšku dlaždice */
  .mk-shop a { align-items: center; gap: 12px; padding: 8px !important; }
  .mk-shop img { width: 84px; height: 112px; }
  /* vuzke okno: dvi kolonky misto odnije */
  @media (min-width: 600px) and (max-width: 1100px) { .mk-cols { grid-template-columns: 1fr 1fr !important; grid-template-areas: "n n" "a h" "d d" "s w"; } }
  /* rozbalovaci menu: tenci pismo, text uvnitr tlacitek */
  .mk-dd__m { width: 290px; }
  .mk-dd__m a, .mk-dd__m b { white-space: normal !important; font-weight: 400 !important; }
  .mk-dd__h { font-weight: 500; }
  .mk-dd__act .btn, .mk-dd__alt { font-size: .8rem !important; font-weight: 500 !important; letter-spacing: .02em; text-transform: none; line-height: 1.3; padding: 8px 14px !important; }
  /* rychle odkazy pod hledanim: vycentrovane, na uzkem displeji do dvou radku */
  .mk-chips { justify-content: center; flex-wrap: wrap; overflow: visible; }
  /* ikony: neuplny radek vycentrovany */
  .mk-ico { display: flex !important; flex-wrap: wrap; justify-content: center; row-gap: 6px; column-gap: 0; }
  .mk-ico a { flex: 0 0 calc(100% / 11); box-sizing: border-box; }
  @media (max-width: 1000px) { .mk-ico a { flex-basis: calc(100% / 6); } }
  @media (max-width: 560px) { .mk-ico a { flex-basis: 25%; } }
  /* vikend: silnejsi zlaty ramecek, zlate SB/ND */
  .mk-week li.we time small { color: var(--sand); font-weight: 600; }
  /* prepinac jazyku v hornim pruhu: CZ, EN, UA, RU */
  .mk-lang { display: inline-flex; gap: 2px; margin-left: 6px; border: 1px solid #e3cfb1; border-radius: 999px; padding: 2px; background: #fff; align-self: center; }
  .mk-lang a, .mk-lang b { font-size: .72rem; letter-spacing: .04em; padding: 2px 8px; border-radius: 999px; line-height: 1.3; text-decoration: none; }
  .mk-lang a { color: var(--muted); font-weight: 500; } .mk-lang a:hover { background: var(--orange-soft); color: var(--orange); }
  .mk-lang b { background: var(--sand); color: #fff !important; font-weight: 600; }
  /* uzke okno: jazyky vpravo pod Praha */
  @media (max-width: 900px) { .mk-day .dt { justify-self: stretch !important; display: flex; align-items: center; } .mk-lang { margin-left: auto; } }
  /* pro nás */
  .mk-trust { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 22px; }
  .mk-trust > div { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; }
  .mk-trust i { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--sand); color: var(--sand); display: flex; align-items: center; justify-content: center; }
  .mk-trust b { display: block; color: var(--green); font-weight: 600; font-size: .86rem; line-height: 1.25; }
  .mk-trust small { color: var(--muted); font-size: .76rem; line-height: 1.3; display: block; } .mk-trust a { color: var(--orange); text-decoration: none; }
  .mk-trust { padding-left: 0; padding-right: 0; }
  /* dotaz */
  .mk-ask { display: grid; grid-template-columns: 1fr 1.3fr; gap: 28px; margin-top: 22px; margin-bottom: 28px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--sand); border-radius: 16px; padding: 22px 26px; box-sizing: border-box; }
  .mk-ask h2 { margin: 0 0 8px; color: var(--green); font-weight: 500; font-size: 1.35rem; }
  .mk-ask p { margin: 0 0 10px; color: var(--ink); font-size: .9rem; line-height: 1.5; }
  .mk-ask a { color: var(--orange); text-decoration: none; }
  .mk-ask__c { color: var(--green) !important; font-weight: 500; } .mk-ask__n { color: var(--muted) !important; font-size: .8rem !important; }
  .mk-ask__f { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-content: start; }
  .mk-ask__f input, .mk-ask__f select, .mk-ask__f textarea { font: inherit; font-size: .88rem; border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; background: #fff; color: var(--ink); min-width: 0; }
  .mk-ask__f input:focus, .mk-ask__f select:focus, .mk-ask__f textarea:focus { outline: none; border-color: var(--sand); }
  .mk-ask__f textarea { grid-column: 1 / -1; min-height: 80px; resize: vertical; }
  .mk-ask__g { grid-column: 1 / -1; margin: 0 !important; font-size: .76rem !important; color: var(--muted) !important; }
  .mk-ask__f .btn { grid-column: 1 / -1; justify-self: start; padding: 10px 28px; }
  /* patička */
  .mk-foot { background: #fff; border-top: 4px solid var(--sand); color: var(--muted); font-size: .84rem; }
  .mk-foot__cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 24px; padding-top: 26px; padding-bottom: 18px; }
  .mk-foot__logo { font-size: 1.25rem; color: var(--green); margin: 0 0 8px; } .mk-foot__logo span { color: var(--orange); }
  .mk-foot p { margin: 0; line-height: 1.6; }
  .mk-foot h4 { margin: 0 0 8px; color: var(--green); font-weight: 600; font-size: .86rem; }
  .mk-foot__cols > div > a { display: block; padding: 3px 0; }
  .mk-foot a { color: var(--green); text-decoration: none; } .mk-foot a:hover { color: var(--orange); }
  .mk-foot__law { border-top: 1px solid var(--line); padding-top: 12px; padding-bottom: 18px; display: grid; gap: 6px; font-size: .78rem; }
  .mk-foot__src { color: #a39a8c; }
  @media (max-width: 1100px) { .mk-trust { grid-template-columns: repeat(3, 1fr); } .mk-foot__cols { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 760px) { .mk-trust { grid-template-columns: 1fr 1fr; } .mk-ask { grid-template-columns: 1fr; padding: 18px; } }
  @media (max-width: 480px) { .mk-trust, .mk-foot__cols, .mk-ask__f { grid-template-columns: 1fr; } }
  /* kontakt a paticka: fotografie se zelenym prekrytim jako nahore, ne jen tmava plocha */
  #kontakt { position: relative; background: var(--green) url("../img/terasa.jpg") center / cover no-repeat; }
  #kontakt::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(2,46,29,.86) 0%, rgba(2,46,29,.66) 50%, rgba(2,46,29,.42) 100%); }
  #kontakt > .wrap { position: relative; }
  .footer { position: relative; background: var(--green) url("../img/obyvak.jpg") center / cover no-repeat; }
  .footer::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(2,46,29,.93) 0%, rgba(2,46,29,.84) 60%, rgba(2,46,29,.72) 100%); }
  .footer > .wrap { position: relative; }
  .footer, #kontakt { border-top: 4px solid var(--sand); }
  /* telefon: hlavicka se vejde */
  @media (max-width: 520px) { .mk-bl { display: none; } .mk-burger { padding: 7px 11px !important; white-space: nowrap; } .mk-nav { gap: 8px !important; } .mk-logo { font-size: 1rem !important; margin-right: 4px !important; } .mk-nav .btn { padding: 7px 12px !important; font-size: .72rem !important; } .mk-cab { padding: 6px !important; } }
  /* oznámení: řádky stejně vysoké v obou kartách, tlačítka na stejné úrovni */
  .mk-ads a.mk-ad { min-height: 116px; box-sizing: border-box; grid-template-rows: auto auto auto; align-content: start; }
  .mk-ads a.mk-ad b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .mk-ads a.mk-ad small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mk-soon { font-size: .7rem; font-weight: 500; color: #8a6234; border: 1px solid #e3cfb1; border-radius: 999px; padding: 1px 8px; vertical-align: middle; margin-left: 4px; }
  /* tlačítka v kartách jako v registraci: bílé, oranžový rámeček, černý text, najetí světle zelená */
  .mk-adbtn .btn { background: #fff !important; color: #1f1f1f !important; border: 1.5px solid var(--orange) !important; box-shadow: none !important; }
  .mk-adbtn .btn:hover, .mk-adbtn .btn:active, .mk-adbtn .btn:focus-visible { background: #fff !important; }
  @media (min-width: 600px) and (max-width: 1100px) { .g-a .mk-adbtn a:not(.btn), .g-h .mk-adbtn a:not(.btn) { min-height: 44px; display: flex; justify-content: center; align-items: flex-start; } }
  /* dlaždice obchodu: popis, jazyky a formát */
  .mk-shop em { font-style: normal; color: var(--muted); font-size: .76rem; line-height: 1.35; }
  .mk-shop i { font-style: normal; font-size: .7rem; color: var(--mint-dark); border: 1px solid var(--mint-line); border-radius: 999px; padding: 0 8px; align-self: flex-start; line-height: 1.6; }
  .mk-shop span.pn { display: inline; color: var(--muted); font-size: .72rem; }
  .footer .footer__wx { color: var(--orange); opacity: 1; }
  .mk-card > h2 > a, .mk-soon { white-space: nowrap; }
  .g-h > h2 { gap: 6px; } .g-h > h2 > span { white-space: nowrap; }
  @media (min-width: 1101px) { .g-h .mk-long { display: none; } }
  /* stránka článku */
  .mk-crumbs2 { margin: 0 0 6px; font-size: .8rem; color: var(--muted); } .mk-crumbs2 a { color: var(--muted); text-decoration: none; } .mk-crumbs2 a:hover { color: var(--orange); }
  .mk-art-c h1 { font-size: clamp(1.3rem, 1.8vw, 1.6rem); font-weight: 500; line-height: 1.25; color: var(--green); margin: 0 0 8px; }
  .mk-art-c .lead { font-size: .88rem; color: var(--muted); margin: 0 0 10px; }
  .mk-badges2 { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px !important; } .mk-badges2 span { font-size: .72rem; color: var(--mint-dark); border: 1px solid var(--mint-line); border-radius: 999px; padding: 2px 10px; }
  .mk-art-c .article__photo { margin: 16px 0; } .mk-art-c .article__photo img { width: 100%; height: auto; border-radius: 12px; display: block; }
  .mk-hero--art { padding: 28px 0 26px; background-image: url("../img/foto-dvojjazycna.jpg"); }
  .mk-hero--art h1 { font-size: clamp(1.3rem, 1.9vw, 1.7rem); font-weight: 500; max-width: 900px; margin: 6px 0 8px; line-height: 1.2; }
  .mk-crumbs { margin: 0; font-size: .82rem; color: #d3ded7; } .mk-crumbs a { color: #fff; text-decoration: none; } .mk-crumbs a:hover { color: var(--orange); }
  .mk-lead { margin: 0 0 12px; max-width: 760px; color: #e6ede8; font-size: .9rem; line-height: 1.5; }
  .mk-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; } .mk-badges span { font-size: .76rem; color: #fff; border: 1px solid rgba(196,149,94,.75); border-radius: 999px; padding: 3px 10px; background: rgba(255,255,255,.08); }
  .mk-art3 { align-items: stretch !important; }
  .mk-art3 > aside { position: static !important; align-content: start; }
  .mk-art-mid { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
  .mk-art-frame { position: relative; flex: 1; min-height: 520px; }
  .mk-art-cta .cta-box { margin: 0 !important; }
  .mk-art-c { background: var(--cream) !important; border: 1px solid #cfc9bd !important; }
  .mk-art-frame > .mk-art-c { position: absolute; inset: 0; overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior: contain; }
  .mk-art-frame > .mk-art-c::-webkit-scrollbar { display: none; }
  .mk-art3 .mk-art-c { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 4px 8px 0 !important; }
  @media (max-width: 860px) { .mk-art-mid { order: -1; } .mk-art-frame { min-height: 0; } .mk-art-frame > .mk-art-c { position: static; overflow: visible; } }
  .mk-art3 { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr) minmax(250px, 330px); gap: 18px; align-items: start; padding-top: 22px; padding-bottom: 8px; }
  .mk-art3 aside { display: grid; gap: 16px; position: sticky; top: 12px; }
  .mk-art3 .mk-card, .mk-art-shop .mk-card { margin: 0 !important; display: flex !important; flex-direction: column; grid-area: auto !important; }
  .mk-art-c h2 { font-size: 1.3rem; font-weight: 500; color: var(--green); margin: 28px 0 10px; line-height: 1.3; }
  .mk-art-c .cta-box h2 { color: #fff; margin-top: 0; }
  .mk-art-c p, .mk-art-c li { font-size: .9rem; line-height: 1.6; } .mk-art-c .article__hook { font-size: .95rem; } .mk-art-c .notice { font-size: .88rem; }
  .mk-art-c { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 28px; min-width: 0; }
  .mk-art-c > h2:first-child, .mk-art-c > p:first-child { margin-top: 0; }
  .mk-art-c .article__hook { margin-top: 0; }
  .mk-art-c .cta-box { margin: 30px 0 18px; }
  .mk-art-shop { padding-top: 6px; padding-bottom: 6px; }
  .mk-art-shop .mk-shop { grid-template-columns: repeat(4, 1fr); }
  @media (max-width: 1150px) { .mk-art3 { grid-template-columns: minmax(220px, 270px) minmax(0, 1fr); } .mk-art-r { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; position: static !important; } .mk-art-shop .mk-shop { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 860px) { .mk-art3 { grid-template-columns: 1fr; } .mk-art-c { order: -1; padding: 18px; } .mk-art3 aside { position: static; } .mk-art-r { grid-template-columns: 1fr; } }
  @media (max-width: 520px) { .mk-art-shop .mk-shop { grid-template-columns: 1fr; } }
  /* užší okno: článek nahoře na celou šířku, boční bloky po dvou vedle sebe (jako na hlavní) */
  @media (max-width: 1150px) { .mk-art3 { grid-template-columns: 1fr 1fr !important; } .mk-art-mid { grid-column: 1 / -1; order: -1; } .mk-art-frame { min-height: 0; } .mk-art-frame > .mk-art-c { position: static !important; overflow: visible !important; }
    .mk-art3 > .mk-art-l, .mk-art3 > .mk-art-r { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; } }
  @media (max-width: 600px) { .mk-art3 { grid-template-columns: 1fr !important; } .mk-art3 > .mk-art-l, .mk-art3 > .mk-art-r { grid-template-columns: 1fr; } }

/* ---------- doplňky šablony (tools/portal.js) ---------- */
.mk-hero .mk-h1 { color: #fff; font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 500; margin: 0 0 14px; line-height: 1.2; }
.mk-hero .mk-h1 em { font-style: normal; color: var(--orange); display: inline-block; margin-top: 2px; }
.mk-burger { display: none; align-items: center; gap: 6px; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 7px 14px; color: var(--green); font: inherit; cursor: pointer; }
.mk-mob { border-top: 1px solid var(--line); background: #fff; padding: 6px 16px 12px; display: grid; }
.mk-mob[hidden] { display: none; }
.mk-mob a { padding: 10px 4px; border-bottom: 1px solid var(--line); color: var(--green); text-decoration: none; }
.mk-empty { margin: 6px 0; font-size: .86rem; color: var(--muted); line-height: 1.5; }
.mk-adr { margin: 24px 0 0; font-size: .82rem; }
.mk-adr a { color: inherit; }
.mk-week li.today time { background: var(--sand); color: #fff; border-color: var(--sand); }
.mk-week li.today time small { color: #fff; }
.mk-art-c > h1 { font-size: clamp(1.3rem, 1.8vw, 1.6rem); font-weight: 500; line-height: 1.25; color: var(--green); margin: 0 0 8px; }
.mk-art-c > .lead { font-size: .88rem; color: var(--muted); margin: 0 0 10px; }
.mk-noimg { grid-row: 1 / span 3; width: 64px; height: 64px; border-radius: 10px; border: 1.5px solid var(--sand); color: var(--sand); background: #fff; display: flex; align-items: center; justify-content: center; }

/* 2026-10-03: karta poptávek — rozpočet vždy, datum · jazyky · počet nabídek */
.mk-ads a.mk-ad { grid-template-rows: auto auto auto auto; } .mk-ads a.mk-ad img, .mk-ads a.mk-ad .mk-noimg { grid-row: 1 / span 4; }
.mk-ads .mk-ad__b { font-style: normal; font-weight: 600; color: var(--green); }
.mk-ads small.mk-ad__i { display: block; margin-top: 3px; font-size: .72rem !important; color: var(--muted); }

/* 2026-10-03: tři sloupce (články, vzory) končí na stejné spodní linii — poslední blok ve sloupci se natáhne, tlačítka a „nejbližší svátek“ dole */
@media (min-width: 1151px) {
  .mk-art3 > aside { display: flex !important; flex-direction: column; }
  .mk-art3 > aside > .mk-card:last-child { flex: 1; }
  .mk-art3 .mk-card > .mk-adbtn, .mk-art3 .mk-card > .mk-next { margin-top: auto; }
}

/* kalendář měsíce pod 7 dny (jen když je volné místo) */
.mk-cal { padding-top: 12px; padding-bottom: 4px; border-top: 1px solid var(--line); }
.mk-cal[hidden] { display: none !important; }
.mk-cal__m { margin: 0 0 8px; font-size: .9rem; font-weight: 600; color: var(--green); }
.mk-cal__g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; font-size: .82rem; }
.mk-cal__g i { font-style: normal; font-size: .7rem; color: var(--muted); text-transform: uppercase; padding-bottom: 2px; }
.mk-cal__g span { padding: 5px 0; border-radius: 8px; color: var(--green); }
.mk-cal__g span.we { color: var(--orange); }
.mk-cal__g span.t { background: var(--sand); color: #fff; font-weight: 600; }
/* kompaktnější kalendář, aby se vešel i do menšího volného místa */
.mk-cal { padding-top: 8px; padding-bottom: 0; }
.mk-cal__m { margin: 0 0 4px; font-size: .82rem; }
.mk-cal__g { gap: 1px 2px; font-size: .74rem; line-height: 1.2; }
.mk-cal__g i { font-size: .62rem; padding-bottom: 1px; }
.mk-cal__g span { padding: 2px 0; border-radius: 6px; }
/* 2026-10-03: na noteboocích a TV menší písmo 7 dní, aby se pod ně vždy vešel kalendář měsíce */
@media (min-width: 1151px) {
  .mk-art3 .mk-week li { padding: 4px 0; gap: 8px; }
  .mk-art3 .mk-week b { font-size: .78rem; line-height: 1.25; }
  .mk-art3 .mk-week span { font-size: .68rem; }
  .mk-art3 .mk-week time { width: 32px; font-size: .8rem; }
  .mk-art3 .mk-week time small { font-size: .58rem; }
  .mk-art3 .mk-next { font-size: .74rem; }
}
/* kalendář vyplní volné místo pod 7 dny: řádky se rovnoměrně roztáhnou, bez prázdného místa pod ním */
@media (min-width: 1151px) {
  .mk-art3 .mk-cal:not([hidden]) { flex: 1; display: flex; flex-direction: column; padding-bottom: 10px; }
  .mk-art3 .mk-cal__g { flex: 1; grid-auto-rows: 1fr; align-items: center; }
  .mk-art3 .mk-cal__g i { align-self: end; }
  .mk-art3 .mk-card > .mk-cal:not([hidden]) + .mk-next { margin-top: 0; }
}
/* 2026-10-03: 12 ikon služeb — rovná mřížka 12 / 6 / 4, kompaktně */
.mk-ico a { flex-basis: calc(100% / 12) !important; }
@media (max-width: 1000px) {
  .mk-ico { padding: 8px 0 !important; row-gap: 8px !important; }
  .mk-ico a { flex-basis: calc(100% / 6) !important; font-size: .7rem !important; gap: 4px !important; padding: 2px !important; }
  .mk-ico i { width: 36px !important; height: 36px !important; }
  .mk-ico i svg { width: 18px; height: 18px; }
}
@media (max-width: 560px) { .mk-ico a { flex-basis: 25% !important; } }/* 2026-10-03: oranžový dovětek v úvodu portálu menší, vždy na druhém řádku (jako u služby Řemeslníci) */
.mk-hero .mk-h1 em { display: block !important; font-size: .72em; margin-top: 4px; }
/* 2026-10-03: ikony služeb při najetí — bílé pozadí, tenký oranžový obrys a oranžová ikona */
.mk-ico a:hover i { background: #fff !important; border: 1.5px solid var(--orange) !important; color: var(--orange) !important; }
.mk-ico a:hover { color: var(--green); }
/* ikona i popisek se při najetí plynule zvětší („vyjede“ k uživateli) */
.mk-ico a { transition: transform .2s ease; will-change: transform; }
.mk-ico i { transition: transform .2s ease, border-width .2s ease, color .2s ease; }
.mk-ico a:hover { transform: scale(1.1); }
.mk-ico a:hover i { transform: scale(1.08); box-shadow: none !important; }
@media (prefers-reduced-motion: reduce) { .mk-ico a, .mk-ico i { transition: none; } .mk-ico a:hover, .mk-ico a:hover i { transform: none; } }

.mk-ico a:hover, .mk-ico a:focus { background: transparent !important; box-shadow: none !important; }
/* tenčí, elegantnější kroužky a čáry ikon služeb */
.mk-ico i { border-width: 1px !important; }
.mk-adbtn .btn, .mk-cab { border-width: 1px !important; }

/* 2026-10-03: všechna světlá tlačítka (oranžový rámeček) při najetí, stisku i zaměření — bílé pozadí, zlatý text, plynulé zvětšení; nikde zelené pozadí */
.mk-adbtn .btn:hover, .mk-adbtn .btn:active, .mk-adbtn .btn:focus-visible,
.btn--ghost:hover, .btn--ghost:active, .product .btn:hover, .product .btn:active, .product-page .variant-buttons .btn:hover, .product-page > .btn:hover,
.cta-card .btn--ghost:hover, .art-btn:hover, .art-btn:active, .mistri .btn.m-soft:hover, .mistri .btn.m-soft:active, .mistri .btn.m-soft:focus-visible,
.mistri .m-ghost:hover, .mistri .m-ghost:active, .mistri .m-coop .btn:hover {
  background: #fff !important; color: var(--sand) !important; border-color: var(--orange) !important; transform: scale(1.06) !important; box-shadow: none !important; }
.mk-adbtn .btn, .art-btn, .mistri .btn.m-soft, .mistri .m-ghost { transition: transform .2s ease, color .2s ease; }.mk-ads .mk-ad__b { color: var(--sand) !important; }
/* 2026-10-03: kroužek a čára ikony stejně silné (1 px — prohlížeč rámeček zaokrouhluje na celé pixely, čáru ne) — zlatě i oranžově při najetí */
/* kroužek a čára ikony 1 px */
.mk-ico i, .mk-ico a:hover i { border-width: 1px !important; }
.mk-ico i svg, .mk-ico i svg * { vector-effect: non-scaling-stroke; stroke-width: 1px !important; }
