/* Odstoupení od smlouvy – front office */

.ow-wizard { max-width: 860px; margin: 0 auto; }

/* Indikátor kroků */
.ow-steps {
  display: flex;
  gap: .5rem;
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}
.ow-steps li {
  flex: 1;
  text-align: center;
  padding: .6rem .3rem;
  border-bottom: 3px solid #ddd;
  color: #888;
  font-size: .875rem;
}
.ow-steps li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6em; height: 1.6em;
  border-radius: 50%;
  background: #ddd;
  color: #fff;
  margin-right: .4em;
  font-weight: 700;
}
.ow-steps li.active { border-bottom-color: #2fb5d2; color: #232323; }
.ow-steps li.active span { background: #2fb5d2; }
.ow-steps li.done span { background: #70b580; }

/* Panely */
.ow-panel {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
}
.ow-panel-title { font-size: 1.15rem; margin: 0 0 1rem; }
.ow-intro, .ow-howto { margin-bottom: 1.25rem; }
.ow-muted { color: #777; font-size: .875rem; }
.ow-hidden { display: none; }
.ow-alt-toggle { margin-top: 1rem; }

/* Položky */
.ow-whole-order { display: block; margin-bottom: 1rem; cursor: pointer; }
.ow-items { border-top: 1px solid #eee; }
.ow-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem 0;
  border-bottom: 1px solid #eee;
}
.ow-item-disabled { opacity: .55; }
.ow-item-name { flex: 1; margin: 0; cursor: pointer; }
.ow-item-qty { display: flex; align-items: center; gap: .4rem; white-space: nowrap; }
.ow-qty { width: 4.5rem; text-align: center; }

.ow-badge {
  display: inline-block;
  font-size: .72rem;
  padding: .1em .5em;
  border-radius: 3px;
  margin-left: .4em;
  vertical-align: middle;
}
.ow-badge-info { background: #e7f4fd; color: #17627f; }
.ow-badge-muted { background: #eee; color: #777; }

/* Podání */
.ow-legal { display: block; margin: 1rem 0; cursor: pointer; }
.ow-legal input { margin-right: .5em; }
.ow-submit-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Stavové štítky */
.ow-status {
  display: inline-block;
  padding: .15em .6em;
  border-radius: 3px;
  font-size: .8rem;
  color: #fff;
}
.ow-status-new { background: #25b9d7; }
.ow-status-accepted { background: #fbbb22; }
.ow-status-rejected { background: #f54c3e; }
.ow-status-done { background: #70b580; }

/* Úspěch */
.ow-success { border-color: #70b580; }
.ow-request-ref { font-size: 1.3rem; letter-spacing: .05em; }

/* Blok v detailu objednávky */
.ow-order-block { margin-top: 1.5rem; }
.ow-order-requests { list-style: none; padding: 0; }
.ow-order-requests li { padding: .3rem 0; }

/* Mobil */
@media (max-width: 576px) {
  .ow-panel { padding: 1rem; }
  .ow-steps li { font-size: .72rem; }
  .ow-item { flex-wrap: wrap; }
  .ow-item-name { flex-basis: calc(100% - 3rem); }
  .ow-item-qty { margin-left: 2.2rem; }
  .ow-submit-row { flex-direction: column-reverse; align-items: stretch; }
  .ow-submit-row .btn { width: 100%; }

  .ow-history-table thead { display: none; }
  .ow-history-table tr { display: block; border-bottom: 2px solid #eee; padding: .5rem 0; }
  .ow-history-table td { display: flex; justify-content: space-between; border: 0; padding: .25rem .5rem; }
  .ow-history-table td::before { content: attr(data-label); font-weight: 600; margin-right: 1rem; }
}
