.pf-hero{padding:28px;background:#fff;border:1px solid #eee;border-radius:16px}
.pf-hero h1{font-size:36px;line-height:1.1;margin:0}
.pf-sub{font-size:18px;margin-top:10px;color:#333}
.pf-cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.pf-btn{display:inline-block;padding:10px 14px;border-radius:12px;text-decoration:none;border:1px solid #ddd}
.pf-btn-primary{background:#111;color:#fff;border-color:#111}
.pf-btn-secondary{background:#fff;color:#111}
.pf-trust{margin-top:14px;font-size:13px;color:#555}
.pf-grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.pf-grid{grid-template-columns:1fr}}
.pf-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:18px}
.pf-section{margin-top:22px}
.pf-row{display:flex;gap:10px}.pf-row label{flex:1}
.pf-ul{margin:0;padding-left:18px}
.pf-msg{margin-left:10px;font-size:13px;color:#555}
.pf-listgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.pf-listgrid{grid-template-columns:1fr}}
.pf-spotcard{display:block;background:#fff;border:1px solid #eee;border-radius:16px;padding:16px;text-decoration:none;color:#111}
.pf-spotcard:hover{border-color:#ddd}
.pf-spotcard-title{font-weight:700}
.pf-spotcard-meta{font-size:13px;color:#555;margin-top:6px}
.pf-spotcard-price{margin-top:10px;font-weight:600}
.pf-qr{display:inline-block;padding:12px;background:#fff;border:1px solid #eee;border-radius:16px}
.pf-qr img,.pf-qr canvas{display:block}

.pf-map{height:420px;border:1px solid var(--pf-border, rgba(0,0,0,0.08));border-radius:16px;overflow:hidden}

.pf-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--pf-border,rgba(0,0,0,0.08));margin-left:8px}
.pf-free{background:rgba(0,128,0,0.10)}
.pf-reserved{background:rgba(255,165,0,0.12)}
.pf-occupied{background:rgba(255,0,0,0.12)}
.pf-spotcard-badges{margin-top:10px}
.pf-marker{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,0.25)}
.pf-marker.free{background:green}
.pf-marker.reserved{background:orange}
.pf-marker.occupied{background:red}
