/* City of Tzfat – claim verification wizard */
.ctz-claim { --ctz-blue: #1F4E8C; --ctz-navy: #14335E; --ctz-gold: #B08A2E; --ctz-line: #D8CCB4; --ctz-muted: #5A6472; }
.ctz-claim-progress { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; counter-reset: none; }
.ctz-claim-progress li { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 12px; color: var(--ctz-muted); text-align: center; line-height: 1.2; }
.ctz-claim-progress .ctz-num { width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--ctz-line); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; background: #fff; }
.ctz-claim-progress li.active { color: var(--ctz-navy); font-weight: 600; }
.ctz-claim-progress li.active .ctz-num { border-color: var(--ctz-blue); background: var(--ctz-blue); color: #fff; }
.ctz-claim-progress li.done .ctz-num { border-color: var(--ctz-gold); background: var(--ctz-gold); color: #fff; }
.ctz-step-title { font-size: 1rem; font-weight: 600; color: var(--ctz-navy); margin: 0 0 .75rem; outline: none; }
.ctz-hint { font-size: 13px; color: var(--ctz-muted); margin: 0 0 .5rem; }
.ctz-slot { border: 1px dashed var(--ctz-line); border-radius: 8px; padding: 12px; }
.ctz-slot-label { font-weight: 600; margin-bottom: 2px; }
.ctz-files { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ctz-files:empty { display: none; }
.ctz-file { display: flex; align-items: center; gap: 10px; background: #F7F3EA; border-radius: 6px; padding: 6px 8px; }
.ctz-thumb { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 4px; background: #E9E1D0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: var(--ctz-navy); overflow: hidden; }
.ctz-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ctz-meta { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.ctz-name { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ctz-status { font-size: 12px; color: var(--ctz-muted); }
.ctz-file.is-done .ctz-status { color: #1E6B3A; }
.ctz-file.is-error .ctz-status { color: #A3261B; }
.ctz-file.is-uploading .ctz-status::after { content: ''; display: inline-block; width: 10px; height: 10px; margin-inline-start: 6px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: ctz-spin .8s linear infinite; vertical-align: -1px; }
@keyframes ctz-spin { to { transform: rotate(360deg); } }
.ctz-add { min-height: 40px; display: inline-flex; align-items: center; }
.ctz-remove { padding: 4px 6px; min-height: 36px; }
.ctz-doc-types .form-check { margin-bottom: 6px; }
.ctz-doc-types .form-check-label { font-size: 14px; }
.ctz-privacy { font-size: 12px; color: var(--ctz-muted); margin: .5rem 0 0; }
.ctz-package-note { font-weight: 600; color: var(--ctz-navy); margin: 0 0 .75rem; }
.ctz-claim-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: .75rem; }
.ctz-claim-nav .btn { min-height: 40px; min-width: 88px; }
.ctz-stepof { font-size: 12px; color: var(--ctz-muted); margin-inline: auto; }
.ctz-back[hidden] + .ctz-stepof { margin-inline-start: 0; }
.geodir-post-claim-form .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ctz-claim [hidden], .geodir-claim-form-footer[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .ctz-file.is-uploading .ctz-status::after { animation: none; } }
