/* OK Stavby – accessible contact modal, intentionally scoped to avoid modifying theme. */
.oksc-overlay[hidden], .oksc-attachment[hidden], .oksc-status[hidden] { display: none !important; }
.oksc-overlay { position: fixed; inset: 0; z-index: 2100; display: grid; place-items: center; padding: 22px; }
.oksc-shade { position: absolute; inset: 0; background: rgba(8,6,7,.87); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.oksc-modal { width: min(100%, 660px); max-height: min(92dvh, 960px); overflow: auto; position: relative; isolation: isolate; padding: clamp(24px, 4vw, 42px); border: 1px solid rgba(243,238,228,.18); border-top: 3px solid #9e2b43; border-radius: 3px; box-shadow: 0 30px 90px rgba(0,0,0,.58); background: radial-gradient(ellipse at 100% 0, rgba(110,26,46,.25), transparent 52%), #1b1618; color: #f3eee4; font-family: 'Manrope',sans-serif; }
.oksc-close { position: absolute; top: 11px; right: 15px; display: grid; place-items: center; color: #f3eee4; cursor: pointer; border: none; background: transparent; width: 38px; height: 38px; padding: 0; font-size: 34px; font-family: sans-serif; line-height: 1; }
.oksc-close:hover { color: #f2a7b9; }
.oksc-eyebrow { color: #be465d; font-family: 'Archivo',sans-serif; font-size: .66rem; font-weight: 800; letter-spacing: .21em; margin-bottom: 12px; }
.oksc-modal h2 { font-family: 'Archivo Black','Archivo',sans-serif; font-size: clamp(26px, 4vw, 36px); font-weight: 900; line-height: 1.08; letter-spacing: -.035em; margin: 0 30px 12px 0; color: #f3eee4; }
.oksc-modal h2 em { color: #a32b46; font-style: italic; }
.oksc-intro { color: #c8c0b2; font-size: .9rem; line-height: 1.6; margin: 0 0 26px; }
.oksc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.oksc-field { margin: 0 0 14px; }
.oksc-field > label { display: block; margin: 0 0 7px; font-family: 'Archivo',sans-serif; color: #e5ded4; font-size: .76rem; font-weight: 700; letter-spacing: .025em; }
.oksc-field label span { color: #d3425e; }
.oksc-field label small { color: #a79f94; font-size: .77rem; font-weight: 400; }
.oksc-field input:not([type="file"]), .oksc-field textarea { box-sizing: border-box; width: 100%; display: block; background: #120e10; color: #f3eee4; border: 1px solid rgba(243,238,228,.24); border-radius: 2px; box-shadow: none; padding: 12px 14px; min-height: 46px; font: 400 .91rem/1.45 'Manrope',sans-serif; outline: none; }
.oksc-field textarea { resize: vertical; min-height: 112px; }
.oksc-field input[readonly] { color: #e9b8c2; background: rgba(110,26,46,.16); cursor: default; }
.oksc-field input::placeholder, .oksc-field textarea::placeholder { color: #8d8387; }
.oksc-field input:focus:not([readonly]), .oksc-field textarea:focus { border-color: #c74560; box-shadow: 0 0 0 2px rgba(158,43,67,.18); }
.oksc-field input[type="file"] { color: #c8c0b2; font-size: .82rem; width: 100%; max-width: 100%; border: 1px dashed rgba(243,238,228,.24); padding: 12px; background: #120e10; }
.oksc-field input[type="file"]::file-selector-button { cursor: pointer; color: #f3eee4; background: #6e1a2e; border: none; padding: 8px 11px; margin-right: 12px; }
.oksc-privacy { font: 400 .73rem/1.65 'Manrope',sans-serif; color: #aea59d; margin: 2px 0 18px; }
.oksc-privacy a { color: #e4abb7; text-decoration: underline; }
.oksc-submit { border: 0; border-radius: 2px; background: #8a2039; padding: 15px 20px; color: #fff; width: 100%; font: 800 .82rem/1.2 'Archivo',sans-serif; letter-spacing: .055em; display: flex; justify-content: space-between; align-items: center; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.oksc-submit:hover { background: #a32b46; transform: translateY(-1px); }
.oksc-submit:disabled { opacity: .6; cursor: progress; transform: none; }
.oksc-submit span { font-size: 1.2rem; }
.oksc-required { color: #8f8778; margin: 9px 0 0; font-size: .7rem; }
.oksc-status { font: 600 .84rem/1.5 'Manrope',sans-serif; padding: 12px 13px; border: 1px solid; margin: 0 0 15px; }
.oksc-status.is-success { background: rgba(45,120,75,.16); border-color: #477f5d; color: #c9ecd4; }
.oksc-status.is-error { background: rgba(158,43,67,.16); border-color: #b03950; color: #ffe0e7; }
.oksc-trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 540px) { .oksc-overlay { padding: 8px; } .oksc-modal { max-height: 96dvh; padding: 26px 18px; } .oksc-two { grid-template-columns: 1fr; gap: 0; } .oksc-intro { margin-bottom: 20px; } }
@media (prefers-reduced-motion: reduce) { .oksc-submit { transition: none; } }
