/* TS Phone Feng Shui - v1.0.3a */
.ts-pfs { max-width: 980px; margin: 24px auto; padding: 8px; }
.ts-pfs-card { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:24px; box-shadow:0 6px 20px rgba(0,0,0,.06); }
.ts-pfs-title { margin:0 0 10px; font-size:28px; line-height:1.2; font-weight:800; text-align:center; }

.ts-pfs-form { display:grid; grid-template-columns:1fr; gap:12px; }
.ts-field label { display:block; font-weight:600; font-size:14px; color:#374151; margin-bottom:6px; }
.ts-field input[type="tel"] { width:100%; padding:12px 14px; border:1px solid #d1d5db; border-radius:12px; font-size:16px; }

.ts-pfs-opts { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ts-pfs-opts label { font-weight:600; font-size:14px; color:#374151; margin-bottom:6px; display:block; }
.ts-pfs-opts input[type="text"], .ts-pfs-opts input[type="date"] {
  width:100%; padding:12px 14px; border:1px solid #d1d5db; border-radius:12px; font-size:16px;
}

.ts-pfs-btn { width:100%; padding:12px 18px; border-radius:12px; border:none; font-weight:700; cursor:pointer; background:#111827; color:#fff; }
.ts-pfs-btn:hover { opacity:.92; }

.ts-pfs-error { margin-top:12px; background:#fef2f2; color:#991b1b; border:1px solid #fecaca; padding:12px; border-radius:12px; }
.ts-pfs-result { margin-top:18px; }
.ts-grid { display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.ts-card { border:1px solid #e5e7eb; border-radius:12px; padding:16px; background:#fafafa; }
.ts-card h3 { margin:0 0 10px; font-size:18px; }
.ts-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed #e5e7eb; }
.ts-row:last-child { border-bottom:none; }
.ts-list { margin:0; padding-left:18px; }
.ts-bullets p { margin:0 0 8px; color:#111827; font-size:15px; }
.ts-pfs-note { margin-top:14px; font-size:13px; color:#6b7280; }

/* Logo result fade-in */
.ts-logo-result { text-align:center; margin-bottom:14px; opacity:0; transform: translateY(6px); }
.ts-logo-result img { max-width:120px; height:auto; display:inline-block; filter: drop-shadow(0 4px 10px rgba(0,0,0,.12)); }
.ts-logo-result.show { animation: tsFadeIn .6s ease forwards; }
@keyframes tsFadeIn {
  to { opacity:1; transform: translateY(0); }
}

@media (max-width:780px){
  .ts-grid { grid-template-columns:1fr; }
  .ts-pfs-opts { grid-template-columns:1fr; }
}
