/* KRYPTEK COD front-end. Uses the KRYPTEK theme variables, with fallbacks for any theme. */
.kt-qo { --qo-bg: var(--surface-raised, #111); --qo-ink: var(--ink, #fff); --qo-muted: var(--ink-muted, #a3a3a3); --qo-line: var(--line, #2a2a2a); --qo-lime: var(--lime, #c6ff33);
	background: var(--qo-bg); color: var(--qo-ink); border: 2px solid var(--qo-ink); padding: 24px; display: flex; flex-direction: column; gap: 16px; margin: 24px 0; box-shadow: 8px 8px 0 0 var(--violet, #7d39eb); font-family: var(--font-sans, Arial, sans-serif); }
.kt-qo[hidden] { display: none; }
.kt-qo__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.kt-qo__title { font-family: var(--font-display, 'Arial Black', sans-serif); font-weight: 800; font-size: 22px; text-transform: uppercase; letter-spacing: -0.01em; }
.kt-qo__sub, .kt-qo__note, .kt-qo__label, .kt-qo__eyebrow, .kt-qo__field > span, .kt-qo__field legend { font-family: var(--font-mono, monospace); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.kt-qo__sub, .kt-qo__note { color: var(--qo-muted); }
.kt-qo__note { text-align: center; margin: 0; }
.kt-qo__two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kt-qo__field { display: flex; flex-direction: column; gap: 8px; margin: 0; border: 0; padding: 0; min-width: 0; }
.kt-qo__field[hidden] { display: none; }
.kt-qo__field > span, .kt-qo__field legend { font-weight: 600; padding: 0; margin-bottom: 0; }
.kt-qo__field small { color: var(--qo-muted); font-size: 12px; }
.kt-qo input[type=text], .kt-qo input[type=tel], .kt-qo select { height: 48px; width: 100%; box-sizing: border-box; background: var(--qo-bg); color: var(--qo-ink); border: 2px solid var(--qo-ink); border-radius: 0; padding: 0 12px; font: 16px var(--font-sans, Arial, sans-serif); }
.kt-qo input:focus-visible, .kt-qo select:focus-visible, .kt-qo button:focus-visible { outline: 2px solid var(--focus, #c6ff33); outline-offset: 2px; }
.kt-qo__delivery legend { margin-bottom: 8px; }
.kt-qo__opt { position: relative; min-height: 64px; padding: 10px 14px; border: 2px solid var(--qo-line); background: var(--qo-bg); display: flex; flex-direction: column; gap: 2px; cursor: pointer; }
.kt-qo__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
.kt-qo__opt.is-on { border-color: var(--qo-lime); background: var(--violet-soft, #1c0f33); }
.kt-qo__opt:has(input:focus-visible) { outline: 2px solid var(--focus, #c6ff33); outline-offset: 2px; }
.kt-qo__opt:has(input:disabled) { opacity: .45; cursor: not-allowed; }
.kt-qo__optname { font-weight: 600; font-size: 15px; }
.kt-qo__optprice { font-family: var(--font-mono, monospace); font-size: 12px; color: var(--qo-muted); }
.kt-qo__qtyrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.kt-qo__qty { display: flex; border: 2px solid var(--qo-ink); }
.kt-qo__qty button { width: 44px; height: 44px; background: transparent; color: var(--qo-ink); border: 0; font: 700 18px var(--font-mono, monospace); cursor: pointer; }
.kt-qo__qty input { width: 48px; height: 44px; text-align: center; background: transparent; color: var(--qo-ink); border: 0; border-left: 2px solid var(--qo-ink); border-right: 2px solid var(--qo-ink); font: 700 16px var(--font-mono, monospace); -moz-appearance: textfield; }
.kt-qo__qty input::-webkit-outer-spin-button, .kt-qo__qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kt-qo__sum { border-top: 1px solid var(--qo-line); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.kt-qo__sum > div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.kt-qo__sum > div span:first-child { color: var(--qo-muted); }
.kt-qo__sum > div span:last-child { font-family: var(--font-mono, monospace); }
.kt-qo__sum .is-free { color: var(--lime-text, #c6ff33); }
.kt-qo__total { align-items: baseline; }
.kt-qo__total span:first-child { color: var(--qo-ink) !important; font-weight: 600; }
.kt-qo__total span:last-child { font-size: 26px; font-weight: 700; color: var(--lime-text, #c6ff33); }
.kt-qo__sum small { color: var(--qo-muted); font-size: 13px; }
.kt-qo__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kt-qo__error { margin: 0; padding: 12px; border: 2px solid var(--danger, #ff6b4a); color: var(--danger, #ff6b4a); font-weight: 600; font-size: 14px; }
.kt-qo__error[hidden] { display: none; }
.kt-qo__submit { height: 56px; font-size: 14px; }
.kt-qo--done { border-color: var(--qo-lime); }
.kt-qo__eyebrow { color: var(--lime-text, #c6ff33); font-weight: 700; margin: 0; }
.kt-qo__big { font-family: var(--font-display, 'Arial Black', sans-serif); font-weight: 800; font-size: 36px; line-height: 1; text-transform: uppercase; margin: 0; }
.kt-qo--done p { margin: 0; color: var(--qo-muted); line-height: 24px; }
.kt-qo--done strong { color: var(--qo-ink); }
.kt-qo--soldout { box-shadow: none; }

.kt-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 12px; align-items: end; max-width: 760px; }
.kt-track input { height: 48px; width: 100%; box-sizing: border-box; background: var(--surface-raised, #111); color: var(--ink, #fff); border: 2px solid var(--ink, #fff); padding: 0 12px; font: 16px var(--font-sans, Arial, sans-serif); }
.kt-track__result { margin-top: 32px; border: 2px solid var(--ink, #fff); padding: 24px; max-width: 760px; background: var(--surface-raised, #111); }
.kt-track__status { font-family: var(--font-display, 'Arial Black', sans-serif); font-weight: 800; font-size: 24px; text-transform: uppercase; margin: 8px 0 16px; }
.kt-track__items { margin: 0 0 12px; padding-left: 18px; }
.kt-track__msg { margin-top: 24px; color: var(--ink-muted, #a3a3a3); }
.kt-thanks { border: 2px solid var(--lime, #c6ff33); padding: 24px; margin-bottom: 32px; }
.kt-thanks__eyebrow { font-family: var(--font-mono, monospace); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--lime-text, #c6ff33); margin: 0 0 8px; }
.kt-thanks__msg { margin: 0; font-size: 18px; line-height: 28px; }
.kt-hidden { display: none !important; }

@media (max-width: 600px) {
	.kt-qo { padding: 16px; box-shadow: 4px 4px 0 0 var(--violet, #7d39eb); }
	.kt-qo__two, .kt-track { grid-template-columns: minmax(0, 1fr); }
}
