/* Trung Đồng – Tin đăng. Màu theo bộ nhận diện, dùng biến của theme nếu có. */
:root{
  --tdtd-green: var(--wp--preset--color--accent, #1f6b4f);
  --tdtd-green-soft: var(--wp--preset--color--accent-soft, #e3efe8);
  --tdtd-gold: var(--wp--preset--color--gold, #a8720c);
  --tdtd-gold-soft: var(--wp--preset--color--gold-soft, #fbf1dc);
  --tdtd-red: #b4372b; --tdtd-red-soft: #f8e4e1;
  --tdtd-ink: var(--wp--preset--color--ink, #1d2622);
  --tdtd-muted: var(--wp--preset--color--muted, #5d6a63);
  --tdtd-line: var(--wp--preset--color--line, #dfe4de);
  --tdtd-surface: var(--wp--preset--color--surface, #fff);
  --tdtd-wire: var(--wp--preset--color--wire, #eef1ed);
}

/* ---------- Nhãn ---------- */
.tdtd-pill{ display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:700; line-height:1; padding:5px 9px; border-radius:999px; background:var(--tdtd-wire); color:var(--tdtd-muted); white-space:nowrap; }
.tdtd-st-con{ background:var(--tdtd-green-soft); color:var(--tdtd-green); }
.tdtd-st-het-han, .tdtd-st-da-thue, .tdtd-st-da-ban, .tdtd-st-da-xong{ background:var(--tdtd-wire); color:var(--tdtd-muted); }
.tdtd-verified{ background:var(--tdtd-green); color:#fff; }
.tdtd-date{ font-size:13px; color:var(--tdtd-muted); }

/* ---------- Thẻ thông tin trong trang tin ---------- */
.tdtd-card{ border:1px solid var(--tdtd-line); border-radius:12px; background:var(--tdtd-surface); padding:18px; display:grid; gap:14px; margin-bottom:24px; }
.tdtd-badges{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.tdtd-gallery{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.tdtd-gallery a:first-child{ grid-column:1 / -1; }
.tdtd-gallery img{ width:100%; height:auto; border-radius:8px; display:block; aspect-ratio:4/3; object-fit:cover; }
.tdtd-gallery .tdtd-main-img{ aspect-ratio:16/10; }
.tdtd-info{ margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; }
.tdtd-row{ display:grid; gap:2px; min-width:0; }
.tdtd-row dt{ font-size:13px; color:var(--tdtd-muted); }
.tdtd-row dd{ margin:0; font-weight:600; overflow-wrap:anywhere; }
.tdtd-amenities{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.tdtd-amenities li{ font-size:13px; padding:4px 10px; border-radius:999px; background:var(--tdtd-green-soft); color:var(--tdtd-green); font-weight:600; }
.tdtd-contact{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.tdtd-contact .tdtd-help{ flex-basis:100%; }
.tdtd-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:8px; font-weight:700; text-decoration:none !important; }
.tdtd-call{ background:var(--tdtd-green); color:#fff !important; }
.tdtd-zalo{ background:#0068ff; color:#fff !important; }
.tdtd-closed{ padding:12px 14px; border-radius:8px; background:var(--tdtd-wire); color:var(--tdtd-muted); }
.tdtd-h{ font-size:22px; }
.tdtd-safety{ margin-top:24px; padding:14px 16px; border-radius:10px; background:var(--tdtd-gold-soft); border-left:4px solid var(--tdtd-gold); }
.tdtd-safety p{ margin:4px 0 0; }
.tdtd-report{ font-size:14px; color:var(--tdtd-muted); }

/* ---------- Bộ lọc và danh sách ---------- */
.tdtd-filter{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px 12px; padding:14px; border:1px solid var(--tdtd-line); border-radius:12px; background:var(--tdtd-surface); margin:8px 0 18px; }
.tdtd-filter label{ display:grid; gap:4px; font-size:13px; color:var(--tdtd-muted); }
.tdtd-filter select{ min-height:42px; padding:0 10px; border:1px solid var(--tdtd-line); border-radius:8px; background:#fff; font:inherit; color:var(--tdtd-ink); min-width:150px; }
.tdtd-filter .tdtd-inline{ display:flex; align-items:center; gap:6px; min-height:42px; }
.tdtd-filter button{ min-height:42px; }
.tdtd-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tdtd-li-link{ display:grid; grid-template-columns:132px minmax(0,1fr); gap:14px; padding:12px; border:1px solid var(--tdtd-line); border-radius:12px; background:var(--tdtd-surface); color:inherit; text-decoration:none; height:100%; }
.tdtd-li-link:hover, .tdtd-li-link:focus-visible{ border-color:var(--tdtd-green); }
.tdtd-li-img{ width:132px; height:100px; object-fit:cover; border-radius:8px; display:block; }
.tdtd-li-noimg{ background:var(--tdtd-green-soft); }
.tdtd-li-body{ display:grid; gap:4px; align-content:start; min-width:0; }
.tdtd-li-title{ font-weight:700; line-height:1.35; }
.tdtd-li-main{ font-weight:800; color:var(--tdtd-green); }
.tdtd-li-sub{ font-size:13px; color:var(--tdtd-muted); }
.tdtd-li-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:2px; }
.tdtd-li-closed{ opacity:.65; }
.tdtd-empty{ padding:14px; border-radius:10px; background:var(--tdtd-wire); color:var(--tdtd-muted); }

/* Khối gọn trên trang chủ */
.tdtd-mini{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.tdtd-mini li{ display:grid; justify-items:start; gap:4px; border-top:1px dashed var(--tdtd-line); padding-top:10px; }
.tdtd-mini li:first-child{ border-top:0; padding-top:0; }
.tdtd-mini a{ display:grid; gap:2px; text-decoration:none; color:inherit; min-width:0; }
.tdtd-mini-title{ font-weight:600; }
.tdtd-mini-sub{ font-size:13px; color:var(--tdtd-muted); }
.tdtd-mini-sub b{ color:var(--tdtd-green); }

/* ---------- Form gửi tin ---------- */
.tdtd-form{ display:grid; gap:20px; }
.tdtd-form fieldset{ border:1px solid var(--tdtd-line); border-radius:12px; background:var(--tdtd-surface); padding:16px 18px 18px; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.tdtd-form legend{ font-weight:800; font-size:17px; padding:0 6px; }
.tdtd-private{ font-size:12px; font-weight:700; color:var(--tdtd-red); background:var(--tdtd-red-soft); border-radius:999px; padding:3px 8px; margin-left:6px; }
.tdtd-field{ display:grid; gap:6px; min-width:0; align-content:start; }
.tdtd-wide, .tdtd-field:has(> #tdtd_title){ grid-column:1 / -1; }
.tdtd-field > label, .tdtd-label{ font-weight:600; font-size:15px; }
.tdtd-field .req{ color:var(--tdtd-red); }
.tdtd-form input[type=text], .tdtd-form input[type=tel], .tdtd-form input[type=email], .tdtd-form input[type=number], .tdtd-form input[type=date], .tdtd-form select, .tdtd-form textarea{ width:100%; min-height:46px; padding:10px 12px; border:1px solid #c9d2cb; border-radius:8px; background:#fff; font:inherit; font-size:16px; color:var(--tdtd-ink); }
.tdtd-form textarea{ min-height:110px; }
.tdtd-form input:focus, .tdtd-form select:focus, .tdtd-form textarea:focus{ outline:2px solid var(--tdtd-green); outline-offset:1px; border-color:var(--tdtd-green); }
.tdtd-form [aria-invalid=true]{ border-color:var(--tdtd-red); }
.tdtd-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.tdtd-chip{ display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border:1px solid var(--tdtd-line); border-radius:999px; font-size:14px; cursor:pointer; }
.tdtd-chip:has(input:checked){ background:var(--tdtd-green-soft); border-color:var(--tdtd-green); color:var(--tdtd-green); font-weight:600; }
.tdtd-check label{ display:flex; gap:10px; align-items:flex-start; font-weight:500; }
.tdtd-check input{ width:20px; height:20px; margin-top:2px; flex:none; }
.tdtd-help{ margin:0; font-size:13px; color:var(--tdtd-muted); }
.tdtd-err{ margin:0; font-size:13px; font-weight:600; color:var(--tdtd-red); }
.tdtd-alert{ padding:12px 14px; border-radius:10px; background:var(--tdtd-red-soft); color:var(--tdtd-red); font-weight:600; margin-bottom:12px; }
.tdtd-ok{ padding:14px 16px; border-radius:10px; background:var(--tdtd-green-soft); color:var(--tdtd-green); margin-bottom:12px; }
.tdtd-note{ font-size:14px; color:var(--tdtd-muted); margin:0; }
.tdtd-submit{ min-height:50px; padding:0 28px !important; font-size:16px !important; }
.tdtd-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

@media (max-width:700px){
  .tdtd-info, .tdtd-form fieldset, .tdtd-list{ grid-template-columns:1fr; }
  .tdtd-li-link{ grid-template-columns:96px minmax(0,1fr); gap:10px; }
  .tdtd-li-img{ width:96px; height:80px; }
  .tdtd-gallery{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tdtd-btn{ flex:1 1 auto; }
}
