/* ==========================================================================
   TRANG CỤ THỂ — lưu trữ, tìm kiếm, 404, biểu mẫu, thanh bên
   ========================================================================== */

/* --------------------------------------------------------------------------
   Danh sách bài (blog, chuyên mục, thẻ, tìm kiếm)
   -------------------------------------------------------------------------- */

.dvs2026 .blog-archive .page-wrapper { padding-top: var(--s-5); }

.dvs2026 .post-item { padding-bottom: var(--s-3); }
.dvs2026 .post-item .col-inner {
	height: 100%;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--r);
	overflow: hidden;
}
.dvs2026 .post-item .box-image { border-radius: 0; }
.dvs2026 .post-item .box-text { padding: var(--s-2) var(--s-2) var(--s-3); text-align: left; }
.dvs2026 .post-item .post-title {
	font-size: var(--t-md);
	line-height: 1.4;
	margin-bottom: 6px;
	color: var(--c-ink);
}
.dvs2026 .post-item .post-title:hover { color: var(--c-primary-700); }
.dvs2026 .post-item .from_the_blog_excerpt { font-size: var(--t-base); color: var(--c-muted); line-height: 1.65; }
.dvs2026 .post-item .post-meta { font-size: var(--t-xs); color: var(--c-muted); }
.dvs2026 .badge-square .badge-inner { background: var(--c-primary-600); border-radius: var(--r); }

.dvs2026 .page-numbers li > * {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--r);
	font-size: var(--t-base);
}
.dvs2026 .page-numbers li .current { background: var(--c-primary-600); color: #fff; border-color: var(--c-primary-600); }

/* --------------------------------------------------------------------------
   Thanh bên
   -------------------------------------------------------------------------- */

.dvs2026 .sidebar-inner .widget { margin-bottom: var(--s-4); }
.dvs2026 .sidebar-inner .widget-title {
	display: block;
	margin-bottom: var(--s-2);
	padding-bottom: 10px;
	border-bottom: 2px solid var(--c-primary-600);
	font-size: var(--t-md);
	font-weight: 700;
	color: var(--c-ink);
	text-transform: none;
	letter-spacing: 0;
}
.dvs2026 .sidebar-inner ul { padding-left: 0; list-style: none; }
.dvs2026 .sidebar-inner li {
	padding: 9px 0;
	border-bottom: 1px solid var(--c-line);
	font-size: var(--t-base);
	line-height: 1.5;
}
.dvs2026 .sidebar-inner a { color: var(--c-body); }
.dvs2026 .sidebar-inner a:hover { color: var(--c-primary-700); }

/* Khối mời gửi mẫu ở thanh bên — thay chỗ của banner quảng cáo mẫu cũ. */
.dvs-tb-moi {
	padding: var(--s-3);
	background: var(--c-primary-900);
	border-radius: var(--r);
}
.dvs-tb-moi h3 { color: #fff; font-size: var(--t-md); margin-bottom: 8px; }
.dvs-tb-moi p { color: var(--c-on-dark-soft); font-size: var(--t-base); margin-bottom: var(--s-2); }
.dvs-tb-moi .dvs-nut { width: 100%; }

/* --------------------------------------------------------------------------
   Hộp tác giả
   -------------------------------------------------------------------------- */

.dvs-tac-gia {
	display: flex;
	gap: var(--s-3);
	padding: var(--s-3);
	background: var(--c-panel);
	border-radius: var(--r);
}
.dvs-tac-gia img { width: 72px; height: 72px; border-radius: var(--r-pill); flex: 0 0 auto; object-fit: cover; }
.dvs-tac-gia h3 { margin: 0 0 4px; font-size: var(--t-md); }
.dvs-tac-gia h3 a { display: inline-block; padding: 11px 0; }
.dvs-tac-gia p { margin: 0; font-size: var(--t-base); color: var(--c-muted); line-height: 1.7; }
@media (max-width: 560px) { .dvs-tac-gia { flex-direction: column; } }

/* --------------------------------------------------------------------------
   Biểu mẫu Contact Form 7
   -------------------------------------------------------------------------- */

.dvs-form { max-width: 720px; }
.dvs-form .dvs-hang { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); }
@media (max-width: 640px) { .dvs-form .dvs-hang { grid-template-columns: minmax(0, 1fr); } }
.dvs-form label { display: block; margin-bottom: var(--s-2); font-size: var(--t-base); font-weight: 600; color: var(--c-ink); }
.dvs-form label span.bat-buoc { color: #b3261e; }
.dvs2026 .wpcf7 form .wpcf7-response-output {
	margin: var(--s-2) 0 0;
	padding: 12px 14px;
	border-width: 1px;
	border-radius: var(--r);
	font-size: var(--t-base);
}
.dvs2026 .wpcf7-not-valid-tip { font-size: var(--t-sm); color: #b3261e; }
.dvs2026 .wpcf7 input[type=submit] {
	min-height: 48px;
	padding: 12px 28px;
	border: 0;
	border-radius: var(--r);
	background: var(--c-accent-400);
	color: var(--c-ink);
	font-family: var(--f-sans);
	font-size: var(--t-base);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
}
.dvs2026 .wpcf7 input[type=submit]:hover { background: var(--c-accent-500); }

/* --------------------------------------------------------------------------
   Trang 404
   -------------------------------------------------------------------------- */

.dvs-404 { padding: var(--s-10) 0; text-align: left; }
.dvs-404 h1 { font-size: var(--t-3xl); margin-bottom: var(--s-2); }
.dvs-404 p { font-size: var(--t-lg); color: var(--c-muted); max-width: 62ch; }
.dvs-404-ds { margin-top: var(--s-5); }

/* --------------------------------------------------------------------------
   Trang liên hệ — lưới cơ sở
   -------------------------------------------------------------------------- */

.dvs-co-so-luoi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
@media (max-width: 900px) { .dvs-co-so-luoi { grid-template-columns: minmax(0, 1fr); } }
.dvs-co-so {
	padding: var(--s-3);
	background: var(--c-panel);
	border-radius: var(--r);
	border-top: 3px solid var(--c-primary-600);
}
.dvs-co-so h3 { margin: 0 0 8px; font-size: var(--t-md); }
.dvs-co-so p { margin: 0 0 6px; font-size: var(--t-base); color: var(--c-body); line-height: 1.65; }
.dvs-co-so .dvs-cs-nhan { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .07em; color: var(--c-muted); }

/* --------------------------------------------------------------------------
   Trang sơ đồ
   -------------------------------------------------------------------------- */

.dvs-so-do-cot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); }
@media (max-width: 900px) { .dvs-so-do-cot { grid-template-columns: minmax(0, 1fr); } }

/* --------------------------------------------------------------------------
   Mục lục của plugin Fixed TOC — sơn lại theo hệ màu, không để nó tự do
   -------------------------------------------------------------------------- */

.dvs2026 #ftwp-postcontent .ftwp-heading { background: var(--c-primary-600) !important; }
.dvs2026 #ftwp-container-outer { font-family: var(--f-sans) !important; }

/* --------------------------------------------------------------------------
   Hồ sơ người biên soạn
   -------------------------------------------------------------------------- */

.dvs-ho-so { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--s-5); align-items: start; }
.dvs-ho-so-anh img { width: 100%; border-radius: var(--r); }
.dvs-ho-so-chu h1,
.dvs-ho-so-chu h2 { margin: 0 0 6px; font-size: clamp(24px, 2vw, 30px); line-height: 1.25; }
.dvs-ho-so-vai { margin: 0 0 var(--s-3); font-size: var(--t-lg); color: var(--c-muted); }
.dvs-ho-so-mxh { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: var(--s-3) 0 0; padding: 0; list-style: none; }
.dvs-ho-so-mxh li { margin: 0; }
.dvs-ho-so-mxh a {
	display: inline-block;
	padding: 7px 14px;
	border: 1px solid var(--c-line-dam);
	border-radius: var(--r-pill);
	font-size: var(--t-sm);
	font-weight: 600;
}
.dvs-ho-so-mxh a:hover { border-color: var(--c-primary-600); text-decoration: none; }
@media (max-width: 700px) { .dvs-ho-so { grid-template-columns: minmax(0, 1fr); } .dvs-ho-so-anh { max-width: 180px; } }

/* Ảnh đại diện của bài viết */
.dvs-anh-bai { margin: 0 0 var(--s-5); }
.dvs-anh-bai img { width: 100%; border-radius: var(--r); }

/* Sơ đồ trang */
.dvs-so-do-o h2 { font-size: var(--t-lg); padding-bottom: 10px; border-bottom: 2px solid var(--c-primary-600); }
.dvs-so-do-td2 { margin-top: var(--s-5); }
.dvs-so-do-o ul { padding-left: 0; list-style: none; }
.dvs-so-do-o > ul > li { margin-bottom: 14px; font-weight: 600; font-size: var(--t-base); }
.dvs-so-do-o ul ul { margin-top: 6px; padding-left: 14px; border-left: 2px solid var(--c-line); }
.dvs-so-do-o ul ul li { margin-bottom: 5px; font-weight: 400; font-size: var(--t-sm); }
.dvs-so-do-o a { color: var(--c-body); }
.dvs-so-do-o a:hover { color: var(--c-primary-700); }

/* --------------------------------------------------------------------------
   Trang tìm kiếm
   -------------------------------------------------------------------------- */

.dvs-tim-dem { margin: 0 0 var(--s-4); font-size: var(--t-lg); color: var(--c-muted); }
.dvs-tim-dem strong { color: var(--c-ink); }

.dvs-tim-rong { max-width: 74ch; }
.dvs-tim-rong h2 { margin: 0 0 var(--s-2); }

.dvs-tim-lai { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-4); }
.dvs-tim-lai input[type=search] { flex: 1 1 280px; }
.dvs-tim-lai .dvs-nut { flex: 0 0 auto; }

.dvs-phan-trang { margin-top: var(--s-6); }
.dvs-phan-trang ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dvs-phan-trang li { margin: 0; }
.dvs-phan-trang .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--c-line-dam);
	border-radius: var(--r);
	font-size: var(--t-base);
	font-weight: 600;
	color: var(--c-body);
}
.dvs-phan-trang .page-numbers:hover { border-color: var(--c-primary-600); color: var(--c-primary-700); text-decoration: none; }
.dvs-phan-trang .page-numbers.current { background: var(--c-primary-600); border-color: var(--c-primary-600); color: #fff; }

/* --------------------------------------------------------------------------
   Biểu mẫu hai cột
   -------------------------------------------------------------------------- */

.dvs-form-hang { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; }
@media (max-width: 900px) { .dvs-form-hang { grid-template-columns: minmax(0, 1fr); gap: var(--s-5); } }

.dvs-form { max-width: none; }

.dvs-form-ben { padding: var(--s-4); background: var(--c-primary-900); border-radius: var(--r); }
.dvs-form-ben h3 { color: #fff; margin: 0 0 var(--s-3); font-size: var(--t-lg); }
.dvs-form-buoc { counter-reset: dvs-fb; list-style: none; margin: 0 0 var(--s-4); padding: 0; }
.dvs-form-buoc li {
	counter-increment: dvs-fb;
	position: relative;
	padding-left: 38px;
	margin-bottom: var(--s-3);
	font-size: var(--t-base);
	line-height: 1.7;
	color: var(--c-on-dark-soft);
}
.dvs-form-buoc li strong { color: #fff; }
.dvs-form-buoc li:before {
	content: counter(dvs-fb);
	position: absolute; left: 0; top: 1px;
	display: flex; align-items: center; justify-content: center;
	width: 26px; height: 26px;
	border-radius: var(--r);
	background: var(--c-accent-400);
	color: var(--c-ink);
	font-size: var(--t-sm);
	font-weight: 700;
	line-height: 1;
}
.dvs-form-goi {
	margin: 0;
	padding-top: var(--s-3);
	border-top: 1px solid var(--c-on-dark-line);
	font-size: var(--t-base);
	color: var(--c-on-dark-soft);
}
.dvs-form-sdt { display: inline-block; margin-top: 4px; font-size: var(--t-2xl); font-weight: 700; color: var(--c-accent-400); }
.dvs-form-sdt:hover { color: var(--c-accent-100); text-decoration: none; }
.dvs-form-goi span { display: block; margin-top: 4px; font-size: var(--t-sm); }

/* Ô trống khi bài chưa có ảnh đại diện: cho nó một dáng cố ý thay vì mảng xám. */
.dvs-the-trong {
	position: relative;
	background: var(--c-primary-100);
}
.dvs-the-trong:after {
	content: "Dịch Vụ Sấy";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--t-sm);
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-primary-500);
}

/* --------------------------------------------------------------------------
   Ô tìm kiếm của theme mẹ khi nằm trong nội dung (trang 404)
   -------------------------------------------------------------------------- */

.dvs2026 #content .searchform { max-width: 560px; }
.dvs2026 #content .searchform .flex-row { gap: 8px; }
.dvs2026 #content .searchform .button.icon {
	width: 48px;
	min-width: 48px;
	height: 48px;
	margin: 0;
	border: 0;
	border-radius: var(--r);
	background: var(--c-accent-400) !important;
	color: var(--c-ink) !important;
}
.dvs2026 #content .searchform .button.icon:hover { background: var(--c-accent-500) !important; }

/* Bảng thông tin pháp nhân */
.dvs-bang-phap-nhan { background: #fff; border-radius: var(--r); overflow: hidden; }
.dvs-bang-phap-nhan tbody th { width: 210px; background: var(--c-panel); font-weight: 600; }
.dvs-nen-panel .dvs-bang-phap-nhan tbody th { background: var(--c-primary-50); }
@media (max-width: 620px) { .dvs-bang-phap-nhan tbody th { width: 40%; } }

/* Nhóm trong cột chính sách của sơ đồ trang */
.dvs-so-do-nhom {
	margin: var(--s-3) 0 6px;
	font-size: var(--t-xs);
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--c-primary-600);
}

/* Liên kết trong ô bảng (điện thoại, email ở bảng pháp nhân) chỉ cao bằng dòng
   chữ; cho đệm dọc để đủ vùng chạm. */
.dvs-bang-phap-nhan td a { display: inline-block; padding: 11px 0; }
