/* Khối "Câu hỏi thường gặp + form tư vấn" dùng chung: cuối trang danh mục (#faq) và sản phẩm (#bao-gia).
   Tự chứa — không phụ thuộc biến của category.css; ghi đè rule #faq / #bao-gia cũ trong main.css. */
.tp-request-section,.tp-request-section:is(#bao-gia,#faq){--rq-ink:#173731;--rq-muted:#526762;--rq-line:#dce5e1;--rq-accent:#ef6b2e;--rq-cta:#b94b1a;
  padding:76px 0 82px!important;background:#fffdfa!important;border-top:1px solid var(--rq-line)!important;color:var(--rq-ink)}
.tp-request-section .wrap{width:min(1240px,calc(100% - 48px));margin:auto}
.tp-request-section .f2-faq-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:64px;align-items:start}
.tp-request-section #faq{background:transparent!important;border:0!important;scroll-margin-top:80px}
.tp-request-section .kicker{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--rq-accent);font-family:var(--font-heading);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.tp-request-section .kicker:before{content:"";width:32px;height:2px;background:var(--rq-accent)}
.tp-request-section .faq-column h2{max-width:620px;margin:0 0 22px;font-family:var(--font-heading);font-size:clamp(30px,3vw,42px);line-height:1.15;letter-spacing:-.025em;color:var(--rq-ink)}

/* FAQ */
.tp-request-section .faq-list{border-top:1px solid var(--rq-line)}
.tp-request-section .faq-list details{margin:0;padding:0!important;border:0;border-bottom:1px solid var(--rq-line)}
.tp-request-section .faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:62px;list-style:none;cursor:pointer;color:var(--rq-ink);font-family:var(--font-heading);font-size:16px;font-weight:650;line-height:1.35}
.tp-request-section .faq-list summary::-webkit-details-marker{display:none}
.tp-request-section .faq-list summary::after{content:'+';flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border:1px solid #d7e1dc;border-radius:50%;color:var(--rq-cta);font-size:19px;line-height:1}
.tp-request-section .faq-list details[open] summary{color:#a84216}
.tp-request-section .faq-list details[open] summary::after{content:'−';border-color:#efb493;background:#fff5ef}
.tp-request-section .faq-list details p{margin:0;padding:0 38px 18px 0;color:var(--rq-muted);font-size:14px;line-height:1.65}

/* Cột trái khi không có FAQ */
.tp-request-intro{margin:0 0 18px;color:var(--rq-muted);font-size:16px;line-height:1.6;max-width:46ch}
.tp-request-points{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:10px;font-size:15px}
.tp-request-points li{display:flex;gap:10px;align-items:flex-start}
.tp-request-points li:before{content:'✓';color:var(--rq-cta);font-weight:700}
.tp-request-actions{display:flex;flex-wrap:wrap;gap:12px}
.tp-request-actions a{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:8px;font-family:var(--font-heading);font-size:14px;font-weight:700;text-decoration:none}
.tp-request-call{background:var(--rq-cta);color:#fff!important}
.tp-request-call:hover{background:#9f3e14}
.tp-request-zalo{border:1px solid #cadad3;background:#fff;color:var(--rq-ink)!important}

/* Form */
.tp-request-section .f2-request-form{margin:0;padding:30px;border:1px solid #d8e3de;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(23,55,49,.06)}
.tp-request-section .f2-request-form h3{margin:0 0 8px;color:var(--rq-ink);font-family:var(--font-heading);font-size:25px;line-height:1.28;font-weight:700}
.tp-request-section .f2-request-form>p:not(.form-help){margin:0 0 22px;color:var(--rq-muted);font-size:14px;line-height:1.6}
.tp-request-section .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tp-request-section .form-grid .full{grid-column:1/-1}
.tp-request-section .form-grid label{display:flex;flex-wrap:wrap;column-gap:4px;row-gap:7px;margin:0;color:#31534c;font-family:var(--font-heading);font-size:13px;font-weight:650;letter-spacing:.02em}
.tp-request-section .form-grid em{color:var(--rq-cta);font-style:normal}
.tp-request-section .form-grid input,.tp-request-section .form-grid select,.tp-request-section .form-grid textarea{flex:0 0 100%;width:100%;min-height:46px;padding:11px 13px;border:1px solid #cadad3;border-radius:8px;background:#fffdfa;color:var(--rq-ink);font:400 14px/1.45 var(--font-body,inherit);box-shadow:none}
.tp-request-section .form-grid textarea{min-height:104px;resize:vertical}
.tp-request-section .form-grid input:focus,.tp-request-section .form-grid select:focus,.tp-request-section .form-grid textarea:focus{border-color:var(--rq-cta);outline:2px solid rgba(185,75,26,.16);outline-offset:1px}
.tp-request-section .form-help{margin:14px 0 16px;padding-top:14px;border-top:1px solid #e5ece8;color:#62756f;font-size:13px;line-height:1.55}
.tp-request-section .f2-request-form button{width:100%;min-height:48px;margin:0;padding:0 16px;border:0;border-radius:8px;background:var(--rq-cta);color:#fff;font-family:var(--font-heading);font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(185,75,26,.2)}
.tp-request-section .f2-request-form button:hover{background:#9f3e14}
.tp-request-section .f2-request-form button+*{padding-left:14px!important}

@media(max-width:900px){
  .tp-request-section,.tp-request-section:is(#bao-gia,#faq){padding:60px 0!important}
  .tp-request-section .f2-faq-form{grid-template-columns:1fr;gap:38px}
  .tp-request-section .f2-request-form{max-width:680px}
}
@media(max-width:680px){
  .tp-request-section,.tp-request-section:is(#bao-gia,#faq){padding:48px 0 56px!important}
  .tp-request-section .wrap{width:calc(100% - 28px)}
  .tp-request-section .kicker{font-size:11px}
  .tp-request-section .faq-column h2{font-size:29px}
  .tp-request-section .faq-list summary{min-height:58px;font-size:15px}
  .tp-request-section .faq-list details p{padding-bottom:16px;font-size:13.5px}
  .tp-request-section .f2-request-form{padding:22px 18px}
  .tp-request-section .f2-request-form h3{font-size:22px}
  .tp-request-section .form-grid{grid-template-columns:1fr;gap:14px}
  .tp-request-section .form-grid .full{grid-column:auto}
  .tp-request-actions a{flex:1 1 100%;justify-content:center}
}
