/* PTC Tứ Trụ Plugin – tutru.css */
#ptc-tutru-wrap { font-family:'Segoe UI',Arial,sans-serif; max-width:1000px; margin:0 auto; color:#222; }
.ptc-tutru-title { 
	color: #333;
  border-bottom: 2px solid #a21313;
  padding-bottom: 8px;
  margin-bottom: 20px;
  font-size: 1.5rem;
  margin-top: 30px;
}
.ptc-tutru-title span { 
	color:#c00; font-weight:bold; 
}

/* Form rows */
.ptc-tt-row { display:flex; align-items:flex-start; margin-bottom:12px; gap:12px; flex-wrap:wrap; }
.ptc-tt-control { flex:1; min-width:0; }
.ptc-tt-sublabel { display:block; font-size:.78rem; color:#888; margin-bottom:4px; font-weight:600; }
.ptc-tt-input,.ptc-tt-select { width:100%; box-sizing:border-box; padding:8px 10px; border:1px solid #ddd; border-radius:4px; font-size:.9rem; background:#fff; outline:none; }
.ptc-tt-input:focus,.ptc-tt-select:focus { border-color:#8b0000; }
.ptc-tt-select-wide { max-width:100%; }

/* 3-column and 2-column grid inside control */
.ptc-tt-cols3 { display:flex; gap:10px; flex-wrap:wrap; }
.ptc-tt-cols3 .ptc-tt-col { min-width:80px; }
.ptc-tt-cols2 { display:flex; gap:10px; flex-wrap:wrap; }
.ptc-tt-cols2 .ptc-tt-col { min-width:100px; }
.ptc-tt-col .ptc-tt-select { width:100%; }

.ptc-tt-actions { margin-top:18px; text-align:left; }
.ptc-tt-btn-primary {
    background: #a21313;
    color: white;
    border: #a21313;
    padding: 8px 24px;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    transition: background .2s;
}
.ptc-tt-btn-primary:hover { background:#5a0000; }
.ptc-tt-btn-sec { background:#555; color:#fff; border:none; padding:7px 16px; border-radius:5px; font-size:.85rem; cursor:pointer; margin-right:8px; transition:background .2s; }
.ptc-tt-btn-sec:hover { background:#333; }

/* Loading */
#ptc-tutru-loading { text-align:center; padding:30px; color:#8b0000; }
.ptc-tt-spinner { width:42px; height:42px; border:5px solid #f3f3f3; border-top:5px solid #8b0000; border-radius:50%; animation:ttSpin .8s linear infinite; margin:0 auto 10px; }
@keyframes ttSpin { to { transform:rotate(360deg); } }
.ptc-tt-result-actions { margin:12px 0; }

/* ═══ MAIN CHART ═══ */
#ptc-tutru-chart { overflow-x:auto; }
.tt-chart-title { text-align:center; font-size:1.1rem; font-weight:bold; color:#8b0000; margin-bottom:10px; }

/* Header info strip */
.tt-info-strip { display:flex; gap:16px; background:#fff8f0; border:1px solid #e0c090; border-radius:6px; padding:10px 16px; margin-bottom:12px; flex-wrap:wrap; font-size:.85rem; }
.tt-info-strip .tt-info-item { display:flex; flex-direction:column; }
.tt-info-strip .tt-info-label { color:#888; font-size:.75rem; }
.tt-info-strip .tt-info-val { font-weight:600; color:#333; }

/* 4-Pillar table */
.tt-bat-tu { border-collapse:collapse; width:100%; min-width:520px; }
.tt-bat-tu th,.tt-bat-tu td { border:1px solid #c0a060; padding:7px 10px; text-align:center; font-size:.85rem; }
.tt-bat-tu th { background:#8b0000; color:#fff; font-size:.9rem; font-weight:bold; }
.tt-bat-tu tr:nth-child(even) td { background:#fff8f0; }
.tt-bat-tu tr:nth-child(odd)  td { background:#fff; }
.tt-row-label { background:#f5e8d0 !important; font-weight:600; color:#555; text-align:left !important; width:110px; }

/* Can Chi big display */
.tt-can { font-size:1.4rem; font-weight:bold; line-height:1.2; }
.tt-chi { font-size:1.4rem; font-weight:bold; line-height:1.2; }
.tt-can-duong { color:#c00; } .tt-can-am { color:#1a56c4; }
.tt-chi-moc  { color:#1a7a1a; } .tt-chi-hoa  { color:#c00; }
.tt-chi-tho  { color:#8a5a00; } .tt-chi-kim  { color:#c8860a; }
.tt-chi-thuy { color:#1a56c4; }
.tt-nhatchu { background:#fff3cd !important; }
.tt-thapThan { font-size:.78rem; color:#333; }
.tt-tangAn { font-size:.75rem; color:#555; line-height:1.6; }
.tt-truongSinh { font-size:.78rem; color:#c00; font-weight:600; }
.tt-napam { font-size:.73rem; color:#888; }

/* Đại Vận */
.tt-daivan-wrap { margin-top:18px; }
.tt-daivan-title { font-weight:bold; color:#8b0000; margin-bottom:8px; font-size:.95rem; }
.tt-daivan-list { display:flex; flex-wrap:wrap; gap:6px; }
.tt-daivan-item { border:1.5px solid #c0a060; border-radius:5px; padding:6px 10px; text-align:center; min-width:68px; background:#fff; font-size:.78rem; }
.tt-daivan-item .tt-dv-cc { font-weight:bold; font-size:.95rem; margin-bottom:2px; }
.tt-daivan-item .tt-dv-age { color:#8b0000; }
.tt-daivan-item .tt-dv-year { color:#888; font-size:.7rem; }
.tt-daivan-item.tt-dv-current { border-color:#8b0000; background:#fff8f0; }

/* Lưu Niên */
.tt-luunien-wrap { margin-top:14px; }
.tt-luunien-title { font-weight:bold; color:#8b0000; margin-bottom:8px; font-size:.95rem; }
.tt-luunien-table { border-collapse:collapse; width:100%; min-width:520px; font-size:.75rem; }
.tt-luunien-table td { border:1px solid #ddd; padding:4px 6px; text-align:center; }
.tt-luunien-table .tt-ln-year { background:#f5e8d0; font-weight:600; }
.tt-luunien-table .tt-ln-cur { background:#fff3cd; font-weight:bold; }

#ptc-tutru-form :is(button, fieldset, input, select, textarea) {
	margin-bottom: 0 !important;
}
#ptc-tutru-form #tt-loailich {
	width: 99px;
    padding: 4px 13px;
}
#ptc-tutru-form #tt-hoten {
	width: 30%;
}
#ptc-tutru-form #tt-hoten {
	width: 30%;
}
/* Responsive */
@media(max-width:600px){
  .tt-bat-tu { min-width:400px; font-size:.72rem; }
  .tt-can,.tt-chi { font-size:1.1rem; }
  .tt-info-strip { font-size:.78rem; }
}
