/* Content Locker Custom CSS */
.nqt-locker-container {
    max-width: 500px;
    margin: 2rem auto;
    padding: 2rem;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    text-align: center;
    border: 1px solid #eef0f2;
    transition: all 0.3s ease;
}

.nqt-locker-container:hover {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
}

.nqt-locker-icon { margin-bottom: 1.5rem; }
.nqt-locker-icon img { max-width: 80px; height: auto; display: inline-block; }

.nqt-locker-title {
    font-size: 1.25rem; font-weight: 600; color: #1a202c;
    margin-bottom: 0.5rem; line-height: 1.4;
}
.nqt-locker-desc {
    font-size: 0.95rem; color: #4a5568;
    margin-bottom: 1.5rem; line-height: 1.5;
}

.nqt-locker-form { display: flex; flex-direction: column; gap: 1rem; }
.nqt-locker-input-wrap { position: relative; width: 100%; }

.nqt-locker-input {
    width: 100%; padding: 0.75rem 1rem; font-size: 1rem; color: #2d3748;
    background: #f7fafc; border: 1px solid #cbd5e0; border-radius: 6px;
    transition: all 0.2s ease; box-sizing: border-box; text-transform: uppercase;
}
.nqt-locker-input:focus {
    outline: none; background: #ffffff;
}

.nqt-locker-input.is-invalid {
    border-color: #e53e3e !important; background: #fff5f5 !important;
}

.nqt-locker-btn {
    width: 100%; padding: 0.75rem 1.5rem; font-size: 1rem; font-weight: bold;
    color: #ffffff; border: none; border-radius: 6px; cursor: pointer;
    transition: background-color 0.2s ease;
}

.nqt-locker-error {
    margin-top: 1rem; padding: 0.75rem; font-size: 0.9rem;
    color: #c53030; background: #fff5f5; border: 1px solid #feb2b2;
    border-radius: 6px; text-align: left;
}

@media (min-width: 640px) {
    .nqt-locker-form { flex-direction: row; }
    .nqt-locker-btn { width: auto; white-space: nowrap; }
}

/* =========================================
   STYLE THEMES (Màu sắc)
========================================== */

/* 1. Style Blue (Mặc định) */
.style_blue .nqt-locker-input:focus { border-color: #3182ce; box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.15); }
.style_blue .nqt-locker-btn { background: #3182ce; }
.style_blue .nqt-locker-btn:hover { background: #2b6cb0; }
.style_blue .nqt-step-title { color: #3182ce; }
.style_blue .nqt-step-btn { background: #3182ce; }

/* 2. Style Green (Xanh lá) */
.style_green .nqt-locker-input:focus { border-color: #38a169; box-shadow: 0 0 0 3px rgba(56, 161, 105, 0.15); }
.style_green .nqt-locker-btn { background: #38a169; }
.style_green .nqt-locker-btn:hover { background: #2f855a; }
.style_green .nqt-step-title { color: #38a169; }
.style_green .nqt-step-btn { background: #38a169; }

/* 3. Style Red (Đỏ sẫm) */
.style_red .nqt-locker-input:focus { border-color: #e53e3e; box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.15); }
.style_red .nqt-locker-btn { background: #e53e3e; }
.style_red .nqt-locker-btn:hover { background: #c53030; }
.style_red .nqt-step-title { color: #e53e3e; }
.style_red .nqt-step-btn { background: #e53e3e; }

/* 4. Style Dark Minimal */
.style_dark { background: #1a202c; border-color: #2d3748; color: #e2e8f0; }
.style_dark .nqt-locker-title { color: #f7fafc; }
.style_dark .nqt-locker-desc { color: #a0aec0; }
.style_dark .nqt-locker-input { background: #2d3748; border-color: #4a5568; color: #fff; }
.style_dark .nqt-locker-input:focus { border-color: #a0aec0; box-shadow: 0 0 0 3px rgba(160, 174, 192, 0.2); }
.style_dark .nqt-locker-btn { background: #4a5568; color: #fff; }
.style_dark .nqt-locker-btn:hover { background: #718096; }
.style_dark .nqt-locker-error { background: #742a2a; border-color: #9b2c2c; color: #fed7d7; }
.style_dark .nqt-step-box { background: #2d3748 !important; border-color: #4a5568 !important; color: #e2e8f0 !important; }
.style_dark .nqt-step-title { color: #e2e8f0; }
.style_dark .nqt-step-btn { background: #718096; }
.style_dark .nqt-step-kw { background: #1a202c !important; border-color: #4a5568 !important; color: #f7fafc !important; }
