/* ============================================================
   taxservice.css — ระบบภาษีท้องถิ่นออนไลน์ (frontpage)
   ============================================================ */
.tx-wrap{--tx-c:#0ea5e9;--tx-cd:#0369a1;}
.tx-head{background:linear-gradient(135deg,var(--tx-c),var(--tx-cd));color:#fff;border-radius:16px;padding:22px 26px;box-shadow:0 8px 22px rgba(2,94,24,.16);margin-bottom:18px;}
.tx-head h2{margin:0;font-size:23px;font-weight:800;display:flex;align-items:center;gap:12px;}
.tx-head p{margin:8px 0 0;font-size:14px;opacity:.95;line-height:1.6;}
.tx-body{background:#fff;border:1px solid #e6e9ef;border-radius:16px;box-shadow:0 2px 12px rgba(20,40,80,.06);padding:22px 24px;}

.tx-fieldset{border:1px solid #e6e9ef;border-radius:14px;padding:16px 18px;margin-bottom:16px;background:#fff;}
.tx-fieldset-title{font-weight:700;color:var(--tx-cd);font-size:15px;margin-bottom:14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #eef1f6;padding-bottom:10px;}
.tx-fieldset-title i{color:var(--tx-c);}

.tx-fg{margin-bottom:14px;}
.tx-fg label{display:block;font-weight:600;color:#334155;font-size:13.5px;margin-bottom:6px;}
.tx-req{color:#dc2626;}
.tx-fg input[type=text],.tx-fg input[type=tel],.tx-fg input[type=email],.tx-fg input[type=number],.tx-fg input[type=date],.tx-fg select,.tx-fg textarea{
	width:100%;border:1px solid #d8dee8;border-radius:9px;padding:9px 12px;font-size:14px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.tx-fg input:focus,.tx-fg select:focus,.tx-fg textarea:focus{border-color:var(--tx-c);box-shadow:0 0 0 3px rgba(14,165,233,.12);outline:none;}
.tx-fg textarea{min-height:80px;resize:vertical;}
.tx-help{font-size:12px;color:#94a3b8;margin-top:4px;}
.tx-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.tx-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}

/* items table (Type A) */
.tx-items{width:100%;border-collapse:collapse;margin-bottom:10px;}
.tx-items th{background:#f4f8fb;color:var(--tx-cd);font-size:12.5px;font-weight:700;padding:9px 8px;text-align:center;border:1px solid #e6e9ef;}
.tx-items td{padding:6px;border:1px solid #eef1f6;text-align:center;vertical-align:middle;}
.tx-items td input,.tx-items td select{width:100%;border:1px solid #d8dee8;border-radius:7px;padding:7px 8px;font-size:13px;}
.tx-items .tx-amt{font-weight:700;color:#1c8301;white-space:nowrap;}
.tx-row-del{background:#fee2e2;color:#dc2626;border:none;border-radius:7px;width:30px;height:30px;cursor:pointer;}
.tx-additem{background:#eef6ff;color:var(--tx-cd);border:1px dashed var(--tx-c);border-radius:9px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:13px;}
.tx-total-box{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:12px;padding:12px 16px;background:#f4f8f2;border:1px solid #d7ead0;border-radius:12px;}
.tx-total-box .lbl{font-weight:700;color:#334155;}
.tx-total-box .val{font-size:24px;font-weight:800;color:#1c8301;}
.tx-total-box .val small{font-size:14px;font-weight:600;color:#64748b;}

.tx-consent{background:#f8fafc;border:1px solid #e6e9ef;border-radius:10px;padding:12px 14px;font-size:13px;color:#475569;line-height:1.6;}
.tx-consent input{margin-right:6px;}
.tx-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:14px;}
.tx-error ul{margin:6px 0 0 18px;}
.tx-success-flash{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:14px;}

.tx-btn-submit{background:linear-gradient(135deg,var(--tx-c),var(--tx-cd));color:#fff;border:none;border-radius:10px;padding:13px 40px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(2,94,24,.18);transition:.15s;}
.tx-btn-submit:hover{filter:brightness(1.05);transform:translateY(-1px);}
.tx-btn-track{display:inline-block;margin-top:12px;color:var(--tx-cd);font-weight:600;text-decoration:none;}
.tx-btn-track:hover{text-decoration:underline;color:var(--tx-cd);}

/* captcha */
.tx-captcha-q{display:inline-block;background:#1a2540;color:#fff;font-weight:800;font-size:18px;letter-spacing:2px;padding:6px 16px;border-radius:9px;margin-right:10px;font-family:monospace;}

/* success */
.tx-ref-card{text-align:center;background:#f4f8f2;border:1px solid #d7ead0;border-radius:14px;padding:22px;margin-bottom:18px;}
.tx-ref-card .lbl{font-size:14px;color:#64748b;}
.tx-ref-card .ref{font-size:30px;font-weight:800;font-family:monospace;color:var(--tx-cd);letter-spacing:1px;margin:6px 0;}
.tx-ref-card .note{font-size:13px;color:#94a3b8;}
.tx-amount-card{background:#fff;border:2px solid var(--tx-c);border-radius:14px;padding:18px 20px;margin-bottom:18px;}
.tx-amount-card .big{font-size:34px;font-weight:800;color:#1c8301;text-align:center;}
.tx-amount-card .big small{font-size:16px;color:#64748b;}
.tx-bank-box{background:#f8fafc;border:1px solid #e6e9ef;border-radius:12px;padding:16px 18px;margin-bottom:18px;}
.tx-bank-box .bk-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #e6e9ef;font-size:14px;}
.tx-bank-box .bk-row:last-child{border-bottom:none;}
.tx-bank-box .bk-row .k{color:#64748b;}
.tx-bank-box .bk-row .v{font-weight:700;color:#1a2540;}
.tx-bank-qr{text-align:center;margin-top:12px;}
.tx-bank-qr img{max-width:200px;border:1px solid #e6e9ef;border-radius:10px;}

.tx-detail-table{width:100%;border-collapse:collapse;margin-bottom:16px;}
.tx-detail-table th{background:#f8fafc;color:#475569;text-align:left;padding:10px 12px;border:1px solid #eef1f6;width:38%;font-size:13.5px;}
.tx-detail-table td{padding:10px 12px;border:1px solid #eef1f6;font-size:13.5px;color:#1a2540;}

/* timeline */
.tx-timeline{list-style:none;margin:10px 0 0;padding:0;}
.tx-timeline li{position:relative;padding:0 0 16px 22px;border-left:2px solid #e6e9ef;}
.tx-timeline li:last-child{border-left-color:transparent;}
.tx-dot{position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--tx-c);border:2px solid #fff;box-shadow:0 0 0 2px var(--tx-c);}
.tx-tl-action{font-weight:700;color:#1a2540;font-size:14px;}
.tx-tl-time{font-size:12px;color:#94a3b8;}
.tx-tl-detail{font-size:13px;color:#475569;margin-top:2px;}

.tx-pill{display:inline-block;color:#fff;font-size:13px;font-weight:600;padding:4px 14px;border-radius:13px;}

@media(max-width:600px){
	.tx-row2,.tx-row3{grid-template-columns:1fr;}
	.tx-items thead{display:none;}
	.tx-items td{display:block;border:none;text-align:left;padding:4px 0;}
	.tx-items tr{display:block;border:1px solid #e6e9ef;border-radius:10px;padding:8px;margin-bottom:10px;}
	.tx-items td:before{content:attr(data-l);font-weight:600;color:#64748b;font-size:12px;display:block;}
}
