/* RKETA Certificate Verification - Public Styles */
/* Theme colors: dark red #991b1b + dark blue #1e3a8a */

.rketa-cv-wrap {
        max-width: 720px;
        margin: 2rem auto;
        padding: 0 1rem;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
        color: #1f2937;
        line-height: 1.6;
        box-sizing: border-box;
}

.rketa-cv-wrap *,
.rketa-cv-wrap *::before,
.rketa-cv-wrap *::after {
        box-sizing: border-box;
}

.rketa-cv-card {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        padding: 2rem;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
}

.rketa-cv-logo {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 1.25rem;
}

.rketa-cv-logo img {
        display: block;
        max-width: 100%;
        height: auto;
}

.rketa-cv-title {
        margin: 0 0 1.5rem 0;
        font-size: 1.5rem;
        font-weight: 600;
        color: #1e3a8a; /* dark blue */
        text-align: center;
}

.rketa-cv-required {
        color: #991b1b; /* dark red */
        font-weight: 600;
}

.rketa-cv-form {
        display: flex;
        flex-direction: column;
        gap: 1rem;
}

.rketa-cv-form-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
}

@media (min-width: 601px) {
        .rketa-cv-form-grid {
                grid-template-columns: 1fr 1fr 1fr;
        }
}

.rketa-cv-field {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
}

.rketa-cv-label {
        font-size: 0.9rem;
        font-weight: 500;
        color: #374151;
}

.rketa-cv-input {
        width: 100%;
        padding: 0.7rem 0.9rem;
        font-size: 0.95rem;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        background: #fff;
        color: #111827;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
        -webkit-appearance: none;
        appearance: none;
}

.rketa-cv-input:focus {
        outline: none;
        border-color: #1e3a8a;
        box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.15);
}

.rketa-cv-form-actions {
        display: flex;
        justify-content: center;
        margin-top: 0.5rem;
}

.rketa-cv-form-note {
        margin: 0.75rem 0 0 0;
        text-align: center;
        font-size: 0.78rem;
        color: #6b7280;
}

.rketa-cv-button {
        padding: 0.85rem 2.5rem;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        color: #ffffff;
        background: #991b1b; /* dark red */
        border: 1px solid #7f1d1d;
        border-radius: 8px;
        cursor: pointer;
        transition: background 0.15s ease, transform 0.05s ease;
        -webkit-appearance: none;
        appearance: none;
}

.rketa-cv-button:hover {
        background: #7f1d1d;
}

.rketa-cv-button:active {
        transform: translateY(1px);
}

.rketa-cv-button:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(153, 27, 27, 0.25);
}

/* PDF / Print action buttons */
.rketa-cv-actions-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem;
        margin-top: 1.25rem;
}

.rketa-cv-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.5rem 1.1rem;
        font-size: 0.9rem;
        font-weight: 600;
        border-radius: 6px;
        cursor: pointer;
        background: #ffffff;
        border: 1.5px solid;
        transition: background 0.15s ease, color 0.15s ease;
        -webkit-appearance: none;
        appearance: none;
}

.rketa-cv-btn-blue {
        color: #1e3a8a;
        border-color: #1e3a8a;
}

.rketa-cv-btn-blue:hover {
        background: #1e3a8a;
        color: #ffffff;
}

.rketa-cv-btn-red {
        color: #991b1b;
        border-color: #991b1b;
}

.rketa-cv-btn-red:hover {
        background: #991b1b;
        color: #ffffff;
}

/* Result boxes */
.rketa-cv-result {
        margin-top: 1.5rem;
        padding: 1.5rem;
        border-radius: 10px;
        border: 1px solid transparent;
        text-align: center;
}

.rketa-cv-result-icon {
        font-size: 2.5rem;
        font-weight: 700;
        margin-bottom: 0.5rem;
        line-height: 1;
}

.rketa-cv-result-title {
        margin: 0 0 0.5rem 0;
        font-size: 1.25rem;
        font-weight: 600;
}

.rketa-cv-result-desc {
        margin: 0 0 1rem 0;
        color: #4b5563;
        font-size: 0.95rem;
}

.rketa-cv-result-valid {
        background: #eff6ff;
        border-color: #bfdbfe;
}

.rketa-cv-result-valid .rketa-cv-result-icon,
.rketa-cv-result-valid .rketa-cv-result-title {
        color: #1e3a8a; /* dark blue */
}

.rketa-cv-result-cancelled {
        background: #fef2f2;
        border-color: #fecaca;
}

.rketa-cv-result-cancelled .rketa-cv-result-icon,
.rketa-cv-result-cancelled .rketa-cv-result-title,
.rketa-cv-result-cancelled .rketa-cv-result-desc {
        color: #991b1b; /* dark red */
}

.rketa-cv-result-notfound {
        background: #fffbeb;
        border-color: #fde68a;
}

.rketa-cv-result-notfound .rketa-cv-result-icon,
.rketa-cv-result-notfound .rketa-cv-result-title {
        color: #b45309;
}

.rketa-cv-result-error {
        background: #fef2f2;
        border-color: #fecaca;
}

.rketa-cv-result-error .rketa-cv-result-desc {
        color: #991b1b;
}

/* Fields list */
.rketa-cv-result-fields {
        margin: 1.25rem 0 0 0;
        padding: 0;
        text-align: left;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
}

.rketa-cv-field-row {
        display: grid;
        grid-template-columns: 1fr 1.5fr;
        gap: 0.5rem;
        padding: 0.6rem 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.rketa-cv-field-row:last-child {
        border-bottom: none;
}

.rketa-cv-field-label {
        font-weight: 600;
        color: #374151;
        margin: 0;
        font-size: 0.9rem;
        word-break: break-word;
}

.rketa-cv-field-value {
        margin: 0;
        color: #111827;
        font-size: 0.95rem;
        word-break: break-word;
        white-space: pre-wrap;
}

/* Responsive */
@media (max-width: 600px) {
        .rketa-cv-card {
                padding: 1.25rem;
        }
        .rketa-cv-title {
                font-size: 1.25rem;
        }
        .rketa-cv-field-row {
                grid-template-columns: 1fr;
                gap: 0.1rem;
        }
        .rketa-cv-field-label {
                font-size: 0.8rem;
        }
        .rketa-cv-actions-row {
                flex-direction: column;
        }
        .rketa-cv-btn {
                width: 100%;
                justify-content: center;
        }
}
