/* === LTACP Scoped Reset (chống theme override) === */
.ltacp-wrap, .ltacp-wrap * { box-sizing: border-box; }
.ltacp-wrap svg{ width:18px !important; height:18px !important; max-width:18px !important; max-height:18px !important; }
.ltacp-wrap img{ max-width:100%; height:auto; }

/* LT Agent Contact Pro - Frontend (UI theo mẫu) */
.ltacp-wrap{max-width:98%;margin:16px auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#0f172a}
.ltacp-card.ltacp-ui{
  --ltacp-phone-size: 20px;
  --ltacp-email-size: 18px;
  --ltacp-zalo-size: 18px;
  --ltacp-form-title-size: 26px;

  --ltacp-name-size: 28px;
  --ltacp-role-size: 18px;
  --ltacp-cta-size: 20px;
  --ltacp-text: #0b1220;
  --ltacp-muted: #64748b;
  --ltacp-ff: ui-serif, Georgia, serif;
  --ltacp-wt-name: 900;
  --ltacp-wt-cta: 800;
  --ltacp-align: left;
  --ltacp-name-lh: 1.05;
  --ltacp-role-lh: 1.2;
  --ltacp-cta-lh: 1.2;
  --ltacp-name-ls: 0px;
  --ltacp-role-ls: 0px;
  --ltacp-cta-ls: 0px;

  background:#fff;
  border:1px solid #e6eaf2;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
  overflow:hidden;
}
.ltacp-headbox{padding:18px 18px 10px}
.ltacp-headbox__row{display:flex;gap:14px;align-items:center}
.ltacp-avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;background:#f1f5f9;border:2px solid #fff;box-shadow:0 8px 18px rgba(2,6,23,.12)}
.ltacp-name{letter-spacing:var(--ltacp-name-ls);font-family:var(--ltacp-ff);font-weight:var(--ltacp-wt-name);font-size:var(--ltacp-name-size);line-height:var(--ltacp-name-lh);color:var(--ltacp-text);font-size:18px;color:#64748b;font-weight:600}
.ltacp-hr{height:1px;background:#eef2f7;margin-top:14px}

.ltacp-svg svg{width:18px;height:18px;fill:currentColor;display:block}

.ltacp-ctaList{padding:10px 18px 6px;display:grid;grid-template-columns:1fr;gap:12px}

.ltacp-ctaItem .ltacp-ico{
  width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(15,23,42,.08);
  color:inherit;
}
.ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-cta-size);letter-spacing:.2px}
.ltacp-ctaItem--phone{background:#f6efe2;border-color:#f0e4cd;color:#8b6a1c}
.ltacp-ctaItem--email{background:#eef2f7;border-color:#e3e8f0;color:#0f172a}
.ltacp-ctaItem--zalo{background:#eef6ff;border-color:#dbeafe;color:#1e40af}

.ltacp-divider{height:1px;background:#eef2f7;margin:12px 0}

.ltacp-form--ui{padding:10px 18px 18px}
.ltacp-formTitle{font-family:ui-serif,Georgia,serif;font-weight:900;font-size:26px;margin:10px 0 14px;color:#0b1220}
.ltacp-fieldRow{
  position:relative;
  background:#fff;
  border:1px solid #e5eaf3;
  border-radius:14px;
  padding:0;
  margin:0 0 12px;
  overflow:hidden;
}
.ltacp-inIco{
  position:absolute;left:14px;top:50%;
  transform:translateY(-50%);
  width:22px;height:22px;
  color:#64748b;
  display:flex;align-items:center;justify-content:center;
}
.ltacp-input{
  width:100%;
  border:0;
  padding:18px 14px 18px 50px;
  font-size:18px;
  outline:none;
  background:transparent;
}
.ltacp-fieldRow--textarea .ltacp-inIco{top:18px;transform:none}
.ltacp-textarea{
  width:100%;
  border:0;
  padding:16px 14px 16px 50px;
  font-size:18px;
  min-height:110px;
  outline:none;
  resize:vertical;
  background:transparent;
}
.ltacp-submit{
  width:100%;
  margin-top:6px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  border:0;
  border-radius:14px;
  padding:16px 14px;
  background:#e3b04b;
  color:#0b1220;
  font-weight:900;
  font-size:20px;
  cursor:pointer;
}
.ltacp-submit:hover{filter:brightness(.98)}
.ltacp-submitIco{display:flex;align-items:center;justify-content:center}
.ltacp-submit.is-loading{opacity:.75;cursor:not-allowed}
.ltacp-note2{
  margin-top:12px;
  font-size:14px;
  color:#64748b;
  text-align:center;
  line-height:1.35;
}
.ltacp-toast{margin-top:12px;padding:10px 12px;border-radius:12px;font-size:14px;display:none}
.ltacp-toast.is-ok{display:block;background:#ecfdf5;border:1px solid #86efac;color:#065f46}
.ltacp-toast.is-err{display:block;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}

/* compact */
.ltacp-wrap--compact{max-width:420px}

/* Responsive */
@media(max-width:780px){
  .ltacp-name{letter-spacing:var(--ltacp-name-ls);font-size:22px}
  .ltacp-role{line-height:var(--ltacp-role-lh);letter-spacing:var(--ltacp-role-ls);font-size:16px}
  .ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-cta-size);height:60px}
}


/* === FIX: khóa kích thước icon tránh theme override (svg quá to vỡ layout) === */
.ltacp-svg{display:inline-flex; width:18px; height:18px; line-height:0; flex:0 0 18px;}
.ltacp-svg svg{width:18px !important; height:18px !important; max-width:18px !important; max-height:18px !important;}
.ltacp-ico{overflow:hidden; line-height:0;}
.ltacp-inIco{line-height:0;}
.ltacp-inIco .ltacp-svg{width:18px;height:18px;}
.ltacp-ico .ltacp-svg{width:18px;height:18px;}


/* === Global icon sizing (áp cho mọi vị trí hiển thị agent) === */
.ltacp-card.ltacp-ui{
  --ltacp-icon: 18px;
  --ltacp-iconBox: 42px;
}
.ltacp-svg{display:inline-flex;width:var(--ltacp-icon);height:var(--ltacp-icon);line-height:0;flex:0 0 var(--ltacp-icon);}
.ltacp-svg svg{width:var(--ltacp-icon) !important;height:var(--ltacp-icon) !important;max-width:var(--ltacp-icon) !important;max-height:var(--ltacp-icon) !important;}
.ltacp-ico{
  width:var(--ltacp-iconBox);
  height:var(--ltacp-iconBox);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(15,23,42,.08);
  line-height:0;
  overflow:hidden;
  flex:0 0 var(--ltacp-iconBox);
}
.ltacp-inIco{line-height:0;}
.ltacp-inIco .ltacp-svg{width:18px;height:18px;}

/* === CTA đúng style mẫu (nút liên hệ) === */
.ltacp-ctaList{padding:12px 18px 6px;display:grid;grid-template-columns:1fr;gap:14px}

.ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-cta-size);letter-spacing:.2px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ltacp-ctaItem--phone{background:#f6efe2;border-color:#f0e4cd;color:#8b6a1c}
.ltacp-ctaItem--email{background:#eef2f7;border-color:#e3e8f0;color:#0f172a}
.ltacp-ctaItem--zalo{background:#eef6ff;border-color:#dbeafe;color:#1e40af}

/* === Compact: dùng cho sidebar hoặc widget nhỏ === */
.ltacp-wrap--compact .ltacp-card.ltacp-ui{ --ltacp-icon:16px; --ltacp-iconBox:38px; }
.ltacp-wrap--compact .ltacp-name{letter-spacing:var(--ltacp-name-ls);font-size:22px}
.ltacp-wrap--compact .ltacp-role{line-height:var(--ltacp-role-lh);letter-spacing:var(--ltacp-role-ls);font-size:15px}
.ltacp-wrap--compact .ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-cta-size);
  height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
}
.ltacp-wrap .ltacp-ico{font-size:0 !important;}


/* === FIX: icon trong input bị lệch (chuyển sang flex để luôn căn giữa) === */
.ltacp-fieldRow{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 14px;
}
.ltacp-inIco{
  position:static !important;
  transform:none !important;
  width:auto;
  height:auto;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#64748b;
}
.ltacp-input{
  padding:0 !important;
  flex:1 1 auto;
  min-width:0;
  height:44px;
  line-height:44px;
}
.ltacp-fieldRow--textarea{
  align-items:flex-start;
}
.ltacp-fieldRow--textarea .ltacp-inIco{
  margin-top:2px;
}
.ltacp-textarea{
  padding:0 !important;
  flex:1 1 auto;
  min-width:0;
  line-height:1.35;
}


/* === AUTO-FIT CARD: chống cắt/hỏng khi đặt trong sidebar/column hẹp === */
.ltacp-wrap{width:100%; max-width:100%;}
.ltacp-card.ltacp-ui{width:100%; max-width:100%;}

/* Header tự xuống dòng, không tràn */
.ltacp-headbox__row{flex-wrap:wrap;}
.ltacp-headbox__info{min-width:0;} /* cực quan trọng để text co lại trong flex */
.ltacp-name{letter-spacing:var(--ltacp-name-ls);
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ltacp-role{line-height:var(--ltacp-role-lh);letter-spacing:var(--ltacp-role-ls);
  max-width:100%;
  overflow-wrap:anywhere;
}

/* CTA: không bị cắt, cho phép wrap + line clamp đẹp */

.ltacp-ctaItem .ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);
  min-width:0;
  max-width:100%;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2; /* cho email dài xuống 2 dòng */
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}

/* Khi quá hẹp, giảm font/padding để không vỡ */
@media (max-width:480px){
  
  .ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-cta-size);}
  .ltacp-name{letter-spacing:var(--ltacp-name-ls);font-size:24px;}
  .ltacp-role{line-height:var(--ltacp-role-lh);letter-spacing:var(--ltacp-role-ls);font-size:15px;}
}


/* Card alignment */
.ltacp-card.ltacp-ui{ text-align: var(--ltacp-align); }


/* Alignment (left/center/right) */
.ltacp-card.ltacp-ui{ text-align: var(--ltacp-align);
}
.ltacp-card.ltacp-ui .ltacp-headbox__row{justify-content:flex-start;}
.ltacp-wrap[style*="--ltacp-align:center"] .ltacp-card.ltacp-ui .ltacp-headbox__row{justify-content:center;}
.ltacp-wrap[style*="--ltacp-align:right"] .ltacp-card.ltacp-ui .ltacp-headbox__row{justify-content:flex-end;}
.ltacp-wrap[style*="--ltacp-align:center"] .ltacp-card.ltacp-ui 

.ltacp-ctaItem--phone .ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-phone-size)}
.ltacp-ctaItem--email .ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-email-size)}
.ltacp-ctaItem--zalo .ltacp-ctaText{line-height:var(--ltacp-cta-lh);letter-spacing:var(--ltacp-cta-ls);font-size:var(--ltacp-zalo-size)}
.ltacp-formTitle{font-size:var(--ltacp-form-title-size)}


/* CTA item – stable */
.ltacp-wrap .ltacp-ctaItem{
  display:flex;
  align-items:center;
  gap:14px;
  padding:3px 10px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid transparent;
  font-weight:var(--ltacp-wt-cta, 700);
  box-sizing:border-box;
  min-width:0;
  width:100%;
}


/* === Typography variables enforcement (stable) === */
.ltacp-wrap{
  --ltacp-name-size: var(--ltacp-name-size, 28px);
  --ltacp-role-size: var(--ltacp-role-size, 18px);
  --ltacp-cta-size:  var(--ltacp-cta-size, 20px);

  --ltacp-text: var(--ltacp-text, #0b1220);
  --ltacp-muted: var(--ltacp-muted, #64748b);
  --ltacp-ff: var(--ltacp-ff, ui-serif, Georgia, serif);

  --ltacp-wt-name: var(--ltacp-wt-name, 900);
  --ltacp-wt-cta:  var(--ltacp-wt-cta, 700);

  --ltacp-name-lh: var(--ltacp-name-lh, 1.05);
  --ltacp-role-lh: var(--ltacp-role-lh, 1.2);
  --ltacp-cta-lh:  var(--ltacp-cta-lh, 1.2);

  --ltacp-name-ls: var(--ltacp-name-ls, 0px);
  --ltacp-role-ls: var(--ltacp-role-ls, 0px);
  --ltacp-cta-ls:  var(--ltacp-cta-ls, 0px);

  --ltacp-align: var(--ltacp-align, left);
}

.ltacp-wrap .ltacp-name{
  font-family:var(--ltacp-ff);
  font-weight:var(--ltacp-wt-name);
  font-size:var(--ltacp-name-size);
  line-height:var(--ltacp-name-lh);
  letter-spacing:var(--ltacp-name-ls);
  color:var(--ltacp-text);
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.ltacp-wrap .ltacp-role{
  font-size:var(--ltacp-role-size);
  line-height:var(--ltacp-role-lh);
  letter-spacing:var(--ltacp-role-ls);
  color:var(--ltacp-muted);
  font-weight:600;
  max-width:100%;
  overflow-wrap:anywhere;
}

.ltacp-wrap .ltacp-ctaText{
  font-size:var(--ltacp-cta-size);
  line-height:var(--ltacp-cta-lh);
  letter-spacing:var(--ltacp-cta-ls);
  min-width:0;
  max-width:100%;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}

.ltacp-wrap .ltacp-card.ltacp-ui{ text-align: var(--ltacp-align); }

.ltacp-wrap .ltacp-formTitle{font-size:var(--ltacp-form-title-size, 26px)}
