/* Objednavka (/objednavka) podla navrhu Web.dc.html → stranka "Objednavka"
   (20. 10. 2026): hlavicka webu s pasom vo farbe odboru, vlavo kroky
   (odbor, predplatne, e-mail, suhlas, tlacidlo), vpravo lepiaci suhrn vo
   farbe odboru. Po odoslani: potvrdenie, platobna karta s QR, co bude dalej.
   Vsetko je pod #objednavka, aby sa to nebilo so /stav a pravnymi strankami,
   ktore tiez nacitavaju landing.css. Hlavicka, tlacidla (.lp-btn) a pata su
   z uvod.css. Ziadny natvrdo zapisany hex — farby su z base.css a
   track-colors.css (--track podla data-track na <body>). */

body:has(#objednavka) { height: auto; min-height: 100%; -webkit-font-smoothing: antialiased }
body:has(#objednavka) .lp-top { position: static; background: var(--bg) }
.obj-band { height: 6px; background: var(--track); transition: background .35s }

#objednavka {
  --soft: color-mix(in srgb, var(--track-ink) 13%, transparent);
  --track-15: color-mix(in srgb, var(--track) 15%, transparent);
  max-width: 1280px; padding: 64px 56px 80px;
}
#objednavka .obj-grid,
#objednavka .objform.obj-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 56px;
  align-items: start; max-width: none; margin: 0;
  animation: objIn .35s both;
}
#objednavka .obj-main { display: flex; flex-direction: column; gap: 40px; min-width: 0 }

/* hlavicka: kroky, nadpis, veta */
#objednavka .obj-head { display: flex; flex-direction: column; gap: 12px }
#objednavka .obj-steps {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
  font: 600 13px/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--mut);
}
#objednavka .obj-steps .on { color: var(--track); transition: color .35s }
#objednavka .obj-head h1 { margin: 0; font-size: 64px; line-height: 1; letter-spacing: -.035em; font-weight: 800 }
#objednavka .obj-lede { margin: 0; font-size: 20px; line-height: 1.5; color: var(--ink2) }

/* kroky */
#objednavka .obj-krok { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; border: 0 }
#objednavka .obj-kr { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap }
#objednavka .obj-kh,
#objednavka .objform label.obj-kh { font-size: 20px; font-weight: 800; color: var(--ink); margin: 0; letter-spacing: 0; line-height: 1.2 }
#objednavka .obj-kp { font-size: 15px; color: var(--mut) }

/* 1. odbor — dlazdice ako na uvodnej stranke; --track nastavi [data-track]
   z track-colors.css, zvolena je vyplnena farbou odboru. */
#objednavka .obj-odbory { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px }
#objednavka .obj-tile {
  min-height: 84px; border-radius: 16px; background: var(--panel); color: var(--ink);
  border: 2px solid var(--panel); padding: 10px; display: flex; flex-direction: column; justify-content: space-between; gap: 8px;
  text-align: left; font-family: var(--font-sans); cursor: pointer;
  transition: transform .25s cubic-bezier(.25,1,.5,1), background .2s, border-color .2s;
}
#objednavka .obj-tile .ticon { width: 32px; height: 32px; border-radius: 10px; background: color-mix(in srgb, var(--tid) 15%, transparent); color: var(--tid); display: flex; align-items: center; justify-content: center }
#objednavka .obj-tile .ico { width: 20px; height: 20px }
#objednavka .obj-tile .tname { font-size: 14px; font-weight: 700; line-height: 1.2 }
#objednavka .obj-tile[aria-checked="true"] { background: var(--track); border-color: var(--track); color: var(--track-ink); transform: scale(1.04) }
#objednavka .obj-tile[aria-checked="true"] .ticon { background: var(--soft); color: inherit }
@media (hover: hover) and (pointer: fine) { #objednavka .obj-tile:not([aria-checked="true"]):hover { border-color: var(--track) } }

/* Dalsie odbory a vsetky (27. 10. 2026) */
#objednavka .obj-dalsie { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; padding: 16px; border-radius: 18px; background: var(--panel) }
#objednavka .obj-dalh { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px }
#objednavka .obj-dalt { font-size: 15px; color: var(--ink2); flex: 1 1 260px }
#objednavka .obj-vsetky { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px 0 8px; border-radius: 22px; border: 2px solid var(--line); background: transparent; color: var(--ink); font: 700 15px var(--font-sans); cursor: pointer }
#objednavka .obj-vsetky i { position: relative; width: 38px; height: 22px; border-radius: 11px; background: var(--line); transition: background .2s }
#objednavka .obj-vsetky i::after { content: ''; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 8px; background: var(--ink); transition: transform .2s }
#objednavka .obj-vsetky[aria-checked="true"] { border-color: var(--track) }
#objednavka .obj-vsetky[aria-checked="true"] i { background: var(--track) }
#objednavka .obj-vsetky[aria-checked="true"] i::after { transform: translateX(16px); background: var(--track-ink) }
#objednavka .obj-chipy { display: flex; flex-wrap: wrap; gap: 8px }
#objednavka .obj-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px 0 10px; border-radius: 20px; border: 1.5px solid var(--line); background: transparent; color: var(--ink); font: 600 14px var(--font-sans); cursor: pointer }
#objednavka .obj-chip .obj-chipi { width: 16px; height: 16px; color: var(--tid) }
#objednavka .obj-chip.on { background: color-mix(in srgb, var(--tid) 16%, transparent); border-color: var(--tid) }
#objednavka .obj-odbory.obj-vse .obj-tile { opacity: .55 }
#objednavka .obj-odbory.obj-vse .obj-tile[aria-checked="true"] { opacity: 1 }
@media (prefers-reduced-motion: reduce) { #objednavka .obj-vsetky i, #objednavka .obj-vsetky i::after { transition: none } }

/* 2. predplatne — dve karty s prepinacom */
#objednavka .obj-plany { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px }
#objednavka .obj-plan {
  position: relative; border-radius: 20px; border: 2px solid var(--line); background: var(--panel); color: var(--ink);
  padding: 22px; display: flex; flex-direction: column; align-items: stretch; gap: 6px;
  text-align: left; font-family: var(--font-sans); cursor: pointer; transition: border-color .2s, background .2s, transform .1s;
}
#objednavka .obj-plan:active { transform: scale(.97) }
#objednavka .obj-plan[aria-checked="true"] { border-color: var(--track); background: color-mix(in srgb, var(--track) 12%, var(--panel)) }
#objednavka .obj-prow { display: flex; justify-content: space-between; align-items: center; gap: 10px }
#objednavka .obj-pn { font-size: 16px; font-weight: 700 }
#objednavka .obj-radio { width: 24px; height: 24px; flex: none; border-radius: 12px; border: 2px solid var(--line); display: flex; align-items: center; justify-content: center; transition: border-color .2s }
#objednavka .obj-radio i { width: 12px; height: 12px; border-radius: 6px; background: var(--track); transform: scale(0); transition: transform .25s cubic-bezier(.25,1,.5,1) }
#objednavka .obj-plan[aria-checked="true"] .obj-radio { border-color: var(--track) }
#objednavka .obj-plan[aria-checked="true"] .obj-radio i { transform: scale(1) }
#objednavka .obj-pc { font-size: 38px; font-weight: 800; letter-spacing: -.025em; line-height: 1.1 }
#objednavka .obj-ps { font-size: 15px; color: var(--ink2); line-height: 1.4 }
#objednavka .obj-badge {
  position: absolute; top: -12px; right: 16px; font: 700 11px/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: .02em;
  padding: 4px 8px; border-radius: 6px; background: var(--track); color: var(--track-ink); transition: background .35s;
}

/* 3. e-mail */
#objednavka .obj-emailbox {
  display: flex; align-items: center; gap: 12px; min-height: 60px; border-radius: 14px; background: var(--panel);
  border: 2px solid var(--line); padding: 0 18px; transition: border-color .2s;
}
#objednavka .obj-emailbox:focus-within { border-color: var(--track) }
#objednavka .obj-emailbox.ok { border-color: var(--ok) }
#objednavka .obj-emailbox.zle { border-color: var(--bad) }
#objednavka .obj-emailbox.shake { animation: objShake .4s both }
#objednavka .obj-email {
  flex: 1; min-width: 0; height: 56px; border: 0; outline: none; background: transparent; color: var(--ink);
  padding: 0; font: 500 18px var(--font-sans); border-radius: 0; box-shadow: none;
}
#objednavka .obj-email::placeholder { color: var(--mut) }
#objednavka .obj-emailok { display: none; width: 28px; height: 28px; flex: none; border-radius: 14px; background: var(--ok); color: var(--signalink); align-items: center; justify-content: center; animation: objPop .3s both }
#objednavka .obj-emailok .ico { width: 15px; height: 15px; stroke-width: 3.5 }
#objednavka .obj-emailbox.ok .obj-emailok { display: flex }
#objednavka .obj-tip { margin: 0; font-family: var(--font-sans); font-size: 15px; color: var(--ink2) }
#objednavka .obj-tip:empty { display: none }
#objednavka .obj-tip .linkbtn { color: var(--accent-text); font-weight: 700; min-height: 32px }
#objednavka .obj-pozn { font-size: 15px; color: var(--mut); line-height: 1.5; margin: 0 }
#objednavka .obj-pozn.zle { color: var(--bad-text) }
#objednavka .obj-pozn a { color: var(--accent-text) }

/* suhlas so 14 dnami — cela karta je stitok policka; policko ostava v
   strome pre klavesnicu a citacky, kresli sa .obj-box */
#objednavka .obj-suhlas { gap: 0 }
#objednavka .objform .chk.obj-consent {
  position: relative; margin: 0; border-radius: 18px; background: var(--panel); border: 2px solid var(--line);
  padding: 20px; display: flex; gap: 16px; align-items: flex-start; cursor: pointer; font-size: 18px; color: var(--ink);
  transition: background .2s, border-color .2s;
}
#objednavka .objform .chk .obj-chkin { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none }
#objednavka .obj-box {
  width: 30px; height: 30px; flex: none; border-radius: 9px; border: 2px solid var(--mut); background: transparent; color: var(--track-ink);
  display: flex; align-items: center; justify-content: center; transition: background .2s, border-color .2s;
}
#objednavka .obj-box .ico { width: 18px; height: 18px; stroke-width: 3.5; display: none }
#objednavka .obj-consent:has(.obj-chkin:checked) { border-color: var(--track); background: color-mix(in srgb, var(--track) 10%, var(--panel)) }
#objednavka .obj-consent:has(.obj-chkin:checked) .obj-box { border-color: var(--track); background: var(--track) }
#objednavka .obj-consent:has(.obj-chkin:checked) .obj-box .ico { display: block; animation: objPop .3s both }
#objednavka .obj-consent:has(.obj-chkin:focus-visible) { outline: 2px dashed var(--ink); outline-offset: 3px }
#objednavka .obj-ctxt { display: flex; flex-direction: column; gap: 8px }
#objednavka .obj-ct { font-size: 18px; font-weight: 600; line-height: 1.45 }
#objednavka .obj-cs { font-size: 15px; line-height: 1.5; color: var(--mut) }

/* tlacidlo a chyba */
#objednavka .obj-ctarow { display: flex; align-items: center; gap: 20px; flex-wrap: wrap }
#objednavka .obj-cta { padding: 0 32px; gap: 12px }
#objednavka .obj-cta.muted { background: var(--panel2); color: var(--mut) }
#objednavka .obj-cta:disabled { opacity: .7; cursor: progress }
#objednavka .obj-ctanote { font-size: 15px; color: var(--mut) }
#objednavka .warn {
  margin: 0; background: var(--bad-bg); color: var(--bad-ink); border-radius: 12px;
  padding: 12px 14px; font-size: 14.5px; font-weight: 600;
}

/* suhrn vpravo vo farbe odboru */
#objednavka .obj-suhrn {
  position: sticky; top: 24px; overflow: hidden;
  border-radius: 28px; background: var(--track); color: var(--track-ink);
  padding: 28px; display: flex; flex-direction: column; gap: 18px; transition: background .35s;
}
#objednavka .obj-suhrn > * { position: relative }
#objednavka .obj-suhrn > .lp-hcdeco { position: absolute }
#objednavka .obj-shead { display: flex; align-items: center; gap: 14px }
#objednavka .obj-shead > div { display: flex; flex-direction: column; min-width: 0 }
#objednavka .obj-sicon { width: 56px; height: 56px; flex: none; border-radius: 18px; background: var(--soft); display: flex; align-items: center; justify-content: center }
#objednavka .obj-sicon .ico { width: 30px; height: 30px }
#objednavka .obj-sk { font: 700 12px/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--track-ink) }
#objednavka .obj-sn { font-size: 28px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15 }
#objednavka .obj-incl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px }
#objednavka .obj-incl li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.4 }
#objednavka .obj-ichk { flex: none; margin-top: 1px; display: flex }
#objednavka .obj-ichk .ico { width: 18px; height: 18px; stroke-width: 3 }
#objednavka .obj-words { border-radius: 16px; background: color-mix(in srgb, var(--track-ink) 6%, transparent); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px }
#objednavka .obj-words[hidden] { display: none }
#objednavka .obj-wk { font: 700 11px/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase }
#objednavka .obj-w { display: flex; justify-content: space-between; gap: 10px; font-size: 15px; line-height: 1.4 }
#objednavka .obj-w b { font-weight: 700 }
#objednavka .obj-w span { text-align: right }
#objednavka .obj-stotal { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 14px; border-top: 2px solid var(--soft) }
#objednavka .obj-stotal > div { display: flex; flex-direction: column }
#objednavka .obj-tn { font-size: 15px; font-weight: 600 }
#objednavka .obj-ts { font-size: 13px; opacity: .9 }
#objednavka .obj-price { font-size: 44px; font-weight: 800; letter-spacing: -.03em; line-height: 1; white-space: nowrap }

/* po odoslani */
#objednavka .obj-hotovo .obj-main { gap: 20px }
#objednavka .obj-hotovo .obj-head { margin-bottom: 20px }
#objednavka .obj-ok {
  border-radius: 20px; background: var(--ok-bg); color: var(--ok-ink); padding: 20px 22px;
  display: flex; align-items: center; gap: 14px; animation: objIn .4s both;
}
#objednavka .obj-okic { width: 44px; height: 44px; flex: none; border-radius: 22px; background: var(--ok); color: var(--signalink); display: flex; align-items: center; justify-content: center; animation: objPop .45s both }
#objednavka .obj-okic .ico { width: 24px; height: 24px; stroke-width: 3 }
#objednavka .obj-ok > div { display: flex; flex-direction: column; gap: 2px }
#objednavka .obj-ok b { font-size: 18px; font-weight: 800 }
#objednavka .obj-ok span { font-size: 15px }
#objednavka .platba {
  margin: 0; border-radius: 24px; background: var(--panel); border: 1px solid var(--line); padding: 28px;
  display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 28px; align-items: center;
}
#objednavka .obj-prows { display: flex; flex-direction: column; gap: 18px; min-width: 0 }
#objednavka .pr { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; border: 0 }
#objednavka .prt { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0 }
#objednavka .pk { font-size: 13px; color: var(--mut) }
#objednavka .pv { font: 600 20px/1.3 var(--font-mono); color: var(--ink); overflow-wrap: anywhere }
#objednavka .kopiruj {
  min-height: 44px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 10px; flex: none;
  border: 1px solid var(--line); background: var(--panel2); color: var(--ink); font: 700 14px var(--font-sans); cursor: pointer; transition: background .2s;
}
#objednavka .qrbox { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px }
#objednavka .qrmiesto { width: 200px; height: 200px; border-radius: 16px; background: var(--ink); padding: 8px; display: flex }
#objednavka .qrmiesto svg { width: 100%; height: 100%; display: block }
#objednavka .obj-qrk { font-size: 13px; color: var(--mut); text-align: center }
#objednavka .obj-next { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px }
#objednavka .obj-nx { border-radius: 18px; background: var(--panel); color: var(--ink); padding: 18px; display: flex; flex-direction: column; gap: 6px }
#objednavka .obj-nx.hl { background: var(--track); color: var(--track-ink) }
#objednavka .obj-nn { font: 700 13px/1.3 var(--font-mono); opacity: .8 }
#objednavka .obj-nt { font-size: 16px; font-weight: 700; line-height: 1.35 }
#objednavka .obj-akcie { display: flex; gap: 12px; flex-wrap: wrap }
#objednavka .obj-akcie .lp-btn { min-height: 56px; padding: 0 26px; font-size: 17px }
#objednavka .obj-akcie .lp-btn.ghost { font-size: 16px; padding: 0 22px }

/* faktura na firmu — nepovinne, zbalene */
#objednavka .obj-firma { border: 1px solid var(--line); border-radius: 16px; background: var(--panel) }
#objednavka .obj-firma summary {
  min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 0 18px;
  font-size: 15px; font-weight: 600; color: var(--ink2); cursor: pointer; list-style: none;
}
#objednavka .obj-firma summary::-webkit-details-marker { display: none }
#objednavka .obj-firma summary::before {
  content: ''; width: 7px; height: 7px; flex: none; margin-right: 2px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(-45deg); transition: transform .15s;
}
#objednavka .obj-firma[open] summary::before { transform: rotate(45deg) }
#objednavka .obj-firma summary:hover { color: var(--ink) }
#objednavka .obj-firma summary:focus-visible { outline: 2px dashed var(--ink); outline-offset: 2px; border-radius: 16px }
#objednavka .obj-firma-form {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; padding: 0 18px 18px;
}
#objednavka .obj-firma-form > .obj-pozn,
#objednavka .obj-firma-meno, #objednavka .obj-firma-adresa,
#objednavka .obj-firma-spodok { grid-column: 1 / -1 }
#objednavka .obj-firma-pole { display: flex; flex-direction: column; gap: 4px; min-width: 0 }
#objednavka .obj-firma-pole label { font-size: 13.5px; font-weight: 600; color: var(--ink2) }
#objednavka .obj-firma-pole input,
#objednavka .obj-firma-pole textarea {
  width: 100%; min-height: 44px; border-radius: 10px; background: var(--bg2); color: var(--ink);
  border: 1px solid var(--line); padding: 10px 12px; font: 400 15px/1.4 var(--font-sans); resize: vertical;
}
#objednavka .obj-firma-pole input:focus,
#objednavka .obj-firma-pole textarea:focus { outline: none; border-color: var(--track); box-shadow: 0 0 0 3px var(--track-15) }
#objednavka .obj-firma-spodok { display: flex; flex-wrap: wrap; align-items: center; gap: 12px }
#objednavka .obj-firma-spodok .btn { margin: 0; min-height: 44px; color: var(--ink) }
#objednavka .obj-firma-stav { font-size: 14px; font-weight: 600; color: var(--mut) }
#objednavka .obj-firma-stav.ok { color: var(--ok-text) }
#objednavka .obj-firma-stav.zle { color: var(--bad-text) }

@keyframes objIn { from { opacity: 0; transform: translateY(12px) } to { opacity: 1; transform: none } }
@keyframes objPop { 0% { transform: scale(.6); opacity: 0 } 100% { transform: none; opacity: 1 } }
@keyframes objShake { 0%, 100% { translate: 0 } 20%, 60% { translate: -6px 0 } 40%, 80% { translate: 6px 0 } }
@media (prefers-reduced-motion: reduce) {
  #objednavka .obj-grid, #objednavka .obj-ok, #objednavka .obj-okic, #objednavka .obj-emailbox.shake { animation: none }
}

@media (max-width: 1180px) {
  #objednavka { padding: 48px 40px 64px }
  #objednavka .obj-grid, #objednavka .objform.obj-grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 32px }
  #objednavka .obj-odbory { grid-template-columns: repeat(4, minmax(0, 1fr)) }
  #objednavka .obj-head h1 { font-size: 52px }
}
@media (max-width: 960px) {
  #objednavka { padding: 36px 24px 56px }
  #objednavka .obj-grid, #objednavka .objform.obj-grid { grid-template-columns: minmax(0, 1fr); gap: 32px }
  #objednavka .obj-suhrn { position: relative; top: auto } /* relative, nie static — inak by ozdobny kruh unikol z karty a rozsiril stranku */
  #objednavka .obj-odbory { grid-template-columns: repeat(3, minmax(0, 1fr)) }
  #objednavka .obj-next { grid-template-columns: minmax(0, 1fr) }
  #objednavka .platba { grid-template-columns: minmax(0, 1fr); justify-items: stretch }
  #objednavka .qrbox { align-items: center }
}
@media (max-width: 640px) {
  #objednavka { padding: 24px 16px 48px }
  #objednavka .wrap, #objednavka.wrap { padding-left: 16px; padding-right: 16px }
  #objednavka .obj-main { gap: 28px }
  #objednavka .obj-head h1 { font-size: 40px }
  #objednavka .obj-lede { font-size: 17px }
  #objednavka .obj-odbory { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  #objednavka .obj-tile[aria-checked="true"] { transform: scale(1.02) }
  #objednavka .obj-plany { grid-template-columns: minmax(0, 1fr) }
  #objednavka .obj-plan { padding: 18px }
  #objednavka .obj-pc { font-size: 32px }
  #objednavka .objform .chk.obj-consent { padding: 16px }
  #objednavka .obj-ct { font-size: 16px }
  #objednavka .obj-ctarow .obj-cta { width: 100% }
  #objednavka .obj-suhrn { padding: 22px; border-radius: 22px }
  #objednavka .obj-sn { font-size: 24px }
  #objednavka .obj-price { font-size: 36px }
  #objednavka .platba { padding: 20px; border-radius: 20px }
  #objednavka .pv { font-size: 17px }
  #objednavka .obj-akcie .lp-btn { width: 100% }
  #objednavka .obj-firma-form { grid-template-columns: minmax(0, 1fr) }
}

/* Pozvanka od kolegu (pozvanky.sql) */
.obj-pozvanka { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px;
  background: var(--tint-signal-2, var(--panel)); border: 1px solid var(--signal); color: var(--ink); font-size: 14.5px; line-height: 1.5 }
.obj-pozvanka[hidden] { display: none }
.obj-pozvanka b { color: var(--ink) }
.obj-pozvi { flex: none; width: 20px; height: 20px; color: var(--accent-text); margin-top: 1px }
.obj-tile { hyphens: auto; -webkit-hyphens: auto }

/* Firemna objednavka (?firma=1) */
#objednavka .obj-emaily {
  width: 100%; min-height: 160px; box-sizing: border-box; resize: vertical;
  border-radius: 12px; background: var(--bg2); color: var(--ink); border: 1px solid var(--line);
  padding: 12px 14px; font: 400 15px/1.6 var(--font-mono, ui-monospace, monospace);
}
#objednavka .obj-emaily:focus { outline: none; border-color: var(--track); box-shadow: 0 0 0 3px var(--track-15) }
#objednavka .obj-firma-form.obj-firma-hore { padding: 0 }
.obj-pozn.zle { color: var(--bad-ink, #b42318) }
.obj-firma-hore { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px }
.obj-firma-hore .obj-firma-meno, .obj-firma-hore .obj-firma-adresa { grid-column: 1 / -1 }
.obj-firma-hore label { display: block; font-size: 13.5px; font-weight: 600; margin: 0 0 5px; color: var(--ink2) }
.obj-firma-hore input, .obj-firma-hore textarea { width: 100%; box-sizing: border-box }
@media (max-width: 600px) { .obj-firma-hore { grid-template-columns: 1fr } }
#objednavka .objform .chk.obj-consent.zle { border-color: var(--bad) }
