.video-container {
    position: relative;
    width: 100%;
    max-width: 640px;
    aspect-ratio: 85.6/54;
    margin-bottom: 16px;
    border: 1px dashed;
}
#video {
    width: 100%;
    height: 100%;
    background-color: #000;
    display: block;
    object-fit: cover;
}
#reticle-for-name {
    position: absolute;
    display: none;
    border: 1px solid gray;
    pointer-events: none;
    border-radius: 2px;
}

.reticle-scanning {
  border: 5px solid;
  border-image-slice: 1;
  border-radius: 8px;
  animation: 4s rotate linear infinite;
  border-image: linear-gradient(var(--angle), darkred, red, lightpink) 8;
}
.reticle-success {
  border: 5px solid;
  border-image-slice: 1;
  border-radius: 8px;
  animation: 2s rotate linear infinite;
  border-image: linear-gradient(var(--angle), darkgreen, green, lightgreen) 8;
}

#reticle-for-card {
    position: absolute;
    top: 10%;
    left: 10%;
    width: 80%;
    aspect-ratio: 85.6/54;
    pointer-events: none;
    border-radius: 8px;
    --angle: 0deg;
    border-width: 3px;
}

@keyframes rotate {
    to {
        --angle: 360deg;
    }
}

@property --angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

#reticle-blur-4 {
    height: calc(80% - 5px);
    right: 0;
    top: calc(10% + 3px);
    width: calc(10% + 3px);
    background: #ffffffa1;
    position: absolute;
    pointer-events: none;
}

#reticle-blur-1 {
    bottom: 0;
    height: calc(10% + 2px);
    background: #ffffffa1;
    position: absolute;
    width: 100%;
    pointer-events: none;
}

#reticle-blur-2 {
    top: 0%;
    bottom: 0%;
    height: calc(10% + 3px);
    background: #ffffffa1;
    position: absolute;
    width: 100%;
    pointer-events: none;
}

#reticle-blur-3 {
    height: calc(80% - 5px);
    top: calc(10% + 3px);
    width: calc(10% + 3px);
    background: #ffffffa1;
    position: absolute;
    pointer-events: none;
}

#id_card_number {
  pointer-events: none;
}
#id_last_name {
  pointer-events: none;
}
#id_first_name {
  pointer-events: none;
}
#camera-captured-container {
    border: 1px dashed #ddd;
}
#cropped-image-name, #cropped-image-number, #captured-image {
    display: none;
    max-width: 100%;
}
.result-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 640px;
}

/* Pure CSS spinner */
.lds-dual-ring {
  color: #1c4c5b
}
.lds-dual-ring,
.lds-dual-ring:after {
  box-sizing: border-box;
}
.lds-dual-ring {
  display: inline-block;
  width: 80px;
  height: 80px;
}
.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6.4px solid currentColor;
  border-color: currentColor transparent currentColor transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.scan-modal {
    display: block;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.5);
    animation: fadeIn 0.3s;
    font-family: 'Livvic', serif;
}

.scan-modal-content {
    background-color: #fff;
    margin: 5% auto;
    padding: 15px;
    border-radius: 25px;
    width: 80%;
    max-width: 500px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    position: relative;
}

.scan-modal-close:hover {
    color: #333;
}

.scan-instructions {
    margin: 20px 0;
}

.scan-instruction-item {
    display: flex;
    align-items: center;
}

.scan-instruction-number {
    background-color: var(--korrigo1);
    color: #000;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 15px;
    flex-shrink: 0;
}

@keyframes fadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}
