/* =====================================================================
   KeytoHome Phase 5 — UI additions
   ===================================================================== */

/* "How to Use" help button */
.kth-howto-btn { font-size: 12px; padding: 2px 10px; line-height: 1.3; }
.kth-howto-btn i { font-size: 13px; }
.kth-howto-body p { margin-bottom: .65rem; }
.kth-howto-body ul { padding-left: 1.1rem; }
.kth-howto-body code { background:#F1F5F9; padding:1px 5px; border-radius:3px; font-size:90%; }

/* Clickable stat cards on dashboards */
.st-card.clickable, .crm-mini.clickable {
  cursor: pointer; transition: transform .15s ease, box-shadow .15s ease;
}
.st-card.clickable:hover, .crm-mini.clickable:hover {
  transform: translateY(-2px); box-shadow: 0 6px 14px rgba(15,23,42,.08);
}
.st-card a, .crm-mini a { text-decoration: none; color: inherit; display: block; }

/* Reports module shared */
.kth-report-filters .form-label { font-size: 11px; font-weight: 600; color: #475569; margin-bottom:2px; }
.kth-report-filters .form-control, .kth-report-filters .form-select { font-size: 13px; padding: 4px 8px; }
.kth-report-toolbar { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.kth-report-toolbar .btn { font-size: 12px; }

/* Owner profile rating stars */
.kth-rating-stars { color:#FBBF24; font-size:14px; letter-spacing:1px; }
.kth-rating-stars .empty { color:#E5E7EB; }

/* Smart suggestions panel */
.kth-suggest-card {
  background: linear-gradient(135deg,#EEF2FF 0%,#F0FDFA 100%);
  border-left: 4px solid #6366F1;
  padding: 14px 18px; border-radius: 8px; margin-bottom: 14px;
}
.kth-suggest-card h6 { color:#312E81; margin-bottom: 8px; font-weight:600; }
.kth-suggest-card .sug-item { padding: 6px 0; border-bottom: 1px dashed #C7D2FE; display:flex; gap:10px; align-items:flex-start; }
.kth-suggest-card .sug-item:last-child { border-bottom:0; }
.kth-suggest-card .sug-icon { color:#4F46E5; }

/* Freshness "Freshen" button */
.btn-freshen { background:#FEF3C7; color:#92400E; border:1px solid #FCD34D; }
.btn-freshen:hover { background:#FDE68A; color:#78350F; }

/* Reports access matrix */
.report-access-tbl td, .report-access-tbl th { vertical-align: middle; }
.report-access-tbl .form-check-input { margin: 0; }

/* Hide bottom-anchored fab when modal is open */
body.modal-open .floating-fab { display:none; }

/* Buyer guides — public */
.bg-hero { background:linear-gradient(180deg,#0F172A 0%,#1E40AF 100%); color:#fff; padding:60px 0 80px; }
.bg-hero h1 { font-weight:700; font-size: clamp(28px,5vw,46px); }
.bg-hero .lead { color:#CBD5E1; max-width:680px; }
.bg-city-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 14px rgba(15,23,42,.06); transition:transform .15s ease; }
.bg-city-card:hover { transform:translateY(-3px); box-shadow:0 8px 22px rgba(15,23,42,.10); }
.bg-city-card .thumb { height:170px; background:#E2E8F0; background-size:cover; background-position:center; }
.bg-city-card .body { padding:16px 18px; }
.bg-city-card h5 { font-weight:600; }

/* Owner landing pages */
.owner-hero { background: linear-gradient(135deg,#1E3A8A 0%,#0891B2 100%); color:#fff; padding:70px 0; }
.owner-hero h1 { font-weight:700; font-size: clamp(30px,5vw,48px); }
.owner-hero .badge-trust { background:rgba(255,255,255,.18); color:#fff; padding:6px 14px; border-radius:50px; font-weight:500; font-size:13px; }
.owner-feature { padding:24px; border-radius:10px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.04); height:100%; }
.owner-feature .icon { width:48px;height:48px;border-radius:10px;background:#DBEAFE;color:#1D4ED8;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px; }
.owner-testimonial { background:#F8FAFC; border-left:4px solid #1D4ED8; padding:18px 22px; border-radius:6px; font-style:italic; }
