/* Next.js application additions. Existing theme styles remain in their original files. */
.mobile-nav-toggle { display: none; border: 0; background: transparent; color: inherit; font-size: 1.25rem; cursor: pointer; }
.admin-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 24px; box-shadow: 0 12px 35px rgba(15,23,42,.06); }
.admin-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 22px; }
.admin-form { display: grid; gap: 14px; }
.admin-form label { display: grid; gap: 7px; color: #475569; font-weight: 700; font-size: .9rem; }
.admin-form input, .admin-form textarea, .admin-form select { width: 100%; border: 1px solid #dbe2ea; border-radius: 9px; padding: 11px 12px; font: inherit; color: #1e293b; }
.admin-form textarea { min-height: 220px; resize: vertical; }
.admin-button { border: 0; border-radius: 9px; padding: 12px 18px; background: #f87316; color: #fff; font-weight: 800; cursor: pointer; }
.admin-button.secondary { background: #eef2f7; color: #334155; }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 12px 10px; border-bottom: 1px solid #eef2f7; text-align: left; vertical-align: top; }
.admin-table th { color: #64748b; font-size: .83rem; }
.admin-alert { padding: 12px 14px; border-radius: 9px; margin-bottom: 18px; background: #fff7ed; color: #9a3412; }
.rich-preview { line-height: 1.75; }
.rich-preview img { max-width: 100%; height: auto; }
@media (max-width: 900px) { .main-navigation { display: none; } .main-navigation.is-open { display: block; position: absolute; top: 70px; left: 0; right: 0; background: #fff; padding: 18px 24px; box-shadow: 0 14px 24px rgba(0,0,0,.1); z-index: 20; } .main-navigation.is-open ul { display: grid; gap: 12px; } .mobile-nav-toggle { display: block; margin-left: 10px; } .admin-grid { grid-template-columns: 1fr; } }

.post-editor-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; font-weight:800; }
.post-editor-toolbar > div { display:flex; gap:8px; }
.post-editor-form .admin-grid { grid-template-columns:minmax(0,1fr) 300px; align-items:start; }
.post-editor-main { display:grid; gap:18px; }
.post-editor-main .post-title-input { border:0; border-bottom:1px solid #e5e7eb; border-radius:0; font-size:1.8rem; font-weight:800; padding:10px 0 18px; }
.post-editor-main .post-title-input:focus { outline:0; border-bottom-color:#f87316; }
.post-editor-controls { display:flex; flex-wrap:wrap; gap:5px; padding:6px; border:1px solid #e5e7eb; border-radius:10px; background:#f8fafc; }
.post-editor-controls button { border:0; border-radius:6px; background:transparent; padding:7px 10px; color:#334155; font:inherit; cursor:pointer; }
.post-editor-controls button:hover { background:#e5e7eb; }
.post-visual-editor,.post-html-editor { min-height:520px; padding:18px; border:1px solid #e5e7eb; border-radius:10px; outline:none; font-size:16px; line-height:1.8; }
.post-visual-editor:focus,.post-html-editor:focus { border-color:#f87316; }
.post-visual-editor:empty:before { content:attr(data-placeholder); color:#94a3b8; }
.post-html-editor { font-family:Consolas,monospace; }
.post-editor-sidebar { display:grid; gap:18px; }
.post-editor-sidebar h2 { margin:0; font-size:1rem; }
.post-image-preview { width:100%; height:auto; max-height:190px; object-fit:cover; border-radius:8px; }
@media (max-width:900px) { .post-editor-form .admin-grid { grid-template-columns:1fr; } .post-editor-toolbar { flex-wrap:wrap; } }

.qa-question { width:100%; border:0; background:#fff; text-align:left; box-shadow:none; }
.qa-question:hover { background:#fff; color:#333; transform:none; }
.qa-search-bar input[type="search"] { width:100%; border:0; border-radius:60px; box-shadow:none; -webkit-appearance:none; appearance:none; }
.faq-gemini-chat__bubble a { color:#e66a14; font-weight:700; text-decoration:underline; }
.faq-gemini-chat__message[data-state="error"] .faq-gemini-chat__bubble { color:#b42318; background:#fff1f0; }

.faq-gemini-chat__source-label { display:block; margin-bottom:8px; color:#9a4c15; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }

.contact-hero h1 { color: #fff; }

/* Phạt nguội: FAQ under the result (inline styles of page-phat-nguoi.php) */
#faq-phat-nguoi-wrapper { margin-top: 30px; width: 100%; text-align: left; }
#faq-phat-nguoi-wrapper .inline-faq-title { font-size: .85rem; color: #f87316; font-weight: 800; text-transform: uppercase; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
#faq-phat-nguoi-wrapper .qa-item { background: #fff; border: 1px solid #eee; border-radius: 12px; margin-bottom: 10px; transition: all .3s ease; overflow: hidden; }
#faq-phat-nguoi-wrapper .qa-question { padding: 15px 20px; margin: 0; font-size: 16px; font-weight: 700; cursor: pointer; display: flex; align-items: center; color: #333; line-height: 1.4; }
#faq-phat-nguoi-wrapper .icon-toggle { margin-right: 12px; color: #f87316; font-weight: bold; transition: .3s; }
#faq-phat-nguoi-wrapper .qa-answer { padding: 15px 20px 20px 48px; color: #555; line-height: 1.6; display: none; font-size: 15px; border-top: 1px solid #f9f9f9; }
#faq-phat-nguoi-wrapper .qa-item.active { border-color: #f87316; box-shadow: 0 4px 12px rgba(248,115,22,.1); }
#faq-phat-nguoi-wrapper .qa-item.active .qa-answer { display: block; }
#faq-phat-nguoi-wrapper .qa-item.active .icon-toggle { transform: rotate(45deg); }
.lookup-error { max-width: 720px; margin: 20px auto 0; padding: 14px 18px; border-radius: 12px; background: #fef2f2; border: 1px solid #fecaca; color: #b42318; font-weight: 600; text-align: center; line-height: 1.5; }
