/* NLKT Core - tra cứu địa danh (từ snippet #11) */
.nlkt-dd-viewport { width: 100%; box-sizing: border-box; }

/* Căn theo tâm viewport, không phụ thuộc container Elementor */
.nlkt-dd-main {
    position: relative;
    left: 50vw;
    transform: translateX(-50%);
    width: min(900px, calc(100vw - 32px));
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box;
    z-index: 100000; /* cao hơn footer để gợi ý không bị che */
}

.nlkt-dd-search-wrap { position: relative; width: 100%; margin: 0 auto 28px; z-index: 100001; }
.nlkt-dd-search-box { display: flex; justify-content: center; align-items: center; gap: 10px; width: 100%; margin: 0 auto; }

.nlkt-dd-search-box input {
    flex: 1 1 auto; min-width: 0; width: 100%;
    padding: 14px 16px; font-size: 18px; line-height: 1.3;
    color: #222; background: #fff; border: 1px solid #bbb; border-radius: 6px; box-sizing: border-box;
}
.nlkt-dd-search-box input:focus { outline: none; border-color: #245c36; box-shadow: 0 0 0 2px rgba(36,92,54,0.12); }

.nlkt-dd-search-box button {
    flex: 0 0 auto; padding: 14px 24px; font-size: 18px; line-height: 1.2; font-weight: 700;
    border: none; border-radius: 6px; background: #245c36; color: #fff; cursor: pointer; white-space: nowrap;
}
.nlkt-dd-search-box button:hover { background: #1b4629; }

#nlkt-dd-suggestions {
    position: absolute; top: calc(100% + 6px); left: 0; right: 130px;
    background: #fff; border: 1px solid #ccc; border-radius: 6px; box-shadow: 0 4px 14px rgba(0,0,0,0.15);
    z-index: 100002; display: none; max-height: 320px; overflow-y: auto;
}
.nlkt-dd-suggestion-item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #eee; font-size: 17px; }
.nlkt-dd-suggestion-item:last-child { border-bottom: none; }
.nlkt-dd-suggestion-item:hover { background: #f2f6e8; }
.nlkt-dd-suggestion-title { font-weight: 700; color: #1f4d2b; }
.nlkt-dd-suggestion-english { margin-top: 2px; font-size: 14px; color: #777; }

#nlkt-dd-results { width: 100%; margin: 0 auto; box-sizing: border-box; }
#nlkt-dd-results > p { font-size: 18px; color: #777; padding: 18px 0; }

.nlkt-dd-item { width: 100%; margin: 0 auto; padding: 24px 0 28px; border-bottom: 1px solid #ddd; box-sizing: border-box; }
.nlkt-dd-title { margin: 0 0 12px; font-size: 28px; line-height: 1.25; font-weight: 700; color: #1f4d2b; text-transform: uppercase; }
.nlkt-dd-english { margin-bottom: 14px; font-size: 18px; color: #666; }
.nlkt-dd-fulltext { width: 100%; font-size: 18px; line-height: 1.8; color: #222; }
.nlkt-dd-fulltext p { margin: 0 0 1em; }
.nlkt-dd-fulltext a { color: #0066cc; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

.nlkt-dd-meta {
    width: 100%; margin: 20px auto 0; padding: 14px 16px;
    background: #f7f7f7; border-left: 4px solid #8aa84f; font-size: 16px; line-height: 1.7; color: #333; box-sizing: border-box;
}
.nlkt-dd-meta a { color: #0066cc; font-weight: 600; }

@media (max-width: 600px) {
    .nlkt-dd-main { width: calc(100vw - 24px); }
    .nlkt-dd-search-box { flex-direction: column; align-items: stretch; }
    .nlkt-dd-search-box button { width: 100%; }
    #nlkt-dd-suggestions { left: 0; right: 0; }
    .nlkt-dd-title { font-size: 24px; }
    .nlkt-dd-fulltext { font-size: 17px; line-height: 1.75; }
}
