.lsfs-public-wrap{max-width:920px;margin:24px auto;padding:0 16px}.lsfs-public-card{background:#fff;border:1px solid #dde7f0;border-radius:18px;padding:24px;box-shadow:0 6px 20px rgba(15,23,42,.05)}.lsfs-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lsfs-public-grid .wide{grid-column:1/-1}.lsfs-public-wrap input,.lsfs-public-wrap select,.lsfs-public-wrap textarea{width:100%}.lsfs-public-success{background:#e8f7ee;border:1px solid #b8e0c3;color:#14532d;padding:12px 14px;border-radius:12px;margin-bottom:16px}.lsfs-public-error{background:#fff1f1;border:1px solid #f5c3c3;color:#8f1d1d;padding:12px 14px;border-radius:12px;margin-bottom:16px}.lsfs-timeline{margin-top:18px}.lsfs-timeline-item{padding:14px;border:1px solid #e5edf5;border-radius:14px;background:#fafcff;margin-bottom:10px}@media(max-width:800px){.lsfs-public-grid{grid-template-columns:1fr}}
.lsfs-faq-list{display:grid;gap:12px}.lsfs-faq-item{border:1px solid #dde7f0;border-radius:16px;background:#fbfdff;overflow:hidden}.lsfs-faq-item summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:700;display:flex;justify-content:space-between;gap:12px;align-items:center}.lsfs-faq-item summary::-webkit-details-marker{display:none}.lsfs-faq-answer{padding:0 18px 18px;border-top:1px solid #ecf1f6}.lsfs-faq-meta{font-size:12px;color:#5d6b82;margin:12px 0}.lsfs-faq-feedback{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.lsfs-faq-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef4ff;color:#2446b3;font-size:12px;font-weight:700}

/* v2.2 appointment booking */
.lsfs-public-card{background:#fff;border:1px solid #dde7f2;border-radius:18px;padding:22px;box-shadow:0 10px 26px rgba(31,61,102,.06);max-width:980px;margin:0 auto 24px}
.lsfs-public-header h2{margin:0 0 8px}.lsfs-public-header p{margin:0 0 18px;color:#5d6b82}
.lsfs-alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.lsfs-alert-success{background:#ecfdf3;color:#166534}.lsfs-alert-error{background:#fef2f2;color:#b91c1c}
.lsfs-public-grid{display:grid;gap:16px}.lsfs-public-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lsfs-public-grid-span-2{grid-column:1/-1}
.lsfs-public-form label{display:block;font-weight:600;margin-bottom:6px}.lsfs-public-form input,.lsfs-public-form select,.lsfs-public-form textarea{width:100%;border:1px solid #d7e2ee;border-radius:12px;padding:12px 14px;box-sizing:border-box}
.lsfs-public-actions{margin-top:18px}.lsfs-public-actions button{background:#2446b3;color:#fff;border:none;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}
@media(max-width:760px){.lsfs-public-grid-2{grid-template-columns:1fr}}

.lsfs-kb-suggest{background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:14px 16px;margin:0 0 18px}.lsfs-kb-suggest-label{font-size:13px;font-weight:700;color:#1d4ed8;margin-bottom:8px}.lsfs-kb-suggest-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lsfs-kb-suggest-list li{background:#fff;border:1px solid #dbeafe;border-radius:12px;padding:10px 12px}.lsfs-kb-suggest-list li strong{display:block;color:#0f172a;margin-bottom:4px}.lsfs-kb-suggest-list li span{display:block;color:#475569;font-size:13px;line-height:1.5}

.lsfs-kb-suggest-list li em{display:block;margin-top:4px;font-size:12px;color:#5b6470;font-style:normal;}
.lsfs-faq-meta{font-size:13px;color:#5b6470;margin-bottom:10px;}
