.upm-form label{display:block;font-weight:600;margin-bottom:.25rem}
.upm-form input[type=text],.upm-form input[type=email],.upm-form input[type=tel],.upm-form input[type=number],.upm-form input[type=password],.upm-form input[type=date],.upm-form select,.upm-form textarea{width:100%;padding:.6rem .7rem;border:1px solid #c3c8d0;border-radius:6px;font:inherit;box-sizing:border-box}
.upm-form input:focus,.upm-form select:focus,.upm-form textarea:focus,.upm-btn:focus,.upm-fav:focus{outline:3px solid #f5a623;outline-offset:2px}
.upm-hp{position:absolute!important;left:-9999px;height:0;overflow:hidden}
.upm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.upm-btn{background:#0b3d91;color:#fff;border:0;border-radius:6px;padding:.7rem 1.4rem;font:inherit;font-weight:700;cursor:pointer}
.upm-btn:hover{background:#082c69}
.upm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin:1.5rem 0}
.upm-card{background:#fff;border:1px solid #e1e5ea;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.upm-card img{width:100%;height:190px;object-fit:cover;display:block}
.upm-card-body{padding:14px}
.upm-card h3{margin:.3rem 0;font-size:1.05rem}
.upm-card a{color:inherit;text-decoration:none}
.upm-price{font-size:1.25rem;font-weight:800;color:#0b3d91;margin:.2rem 0}
.upm-meta,.upm-loc{margin:.1rem 0;color:#4a5560;font-size:.9rem}
.upm-badge{display:inline-block;background:#e7f0ff;color:#0b3d91;font-size:.75rem;font-weight:700;border-radius:99px;padding:2px 10px}
.upm-fav{margin-top:8px;background:none;border:1px solid #c3c8d0;border-radius:6px;padding:4px 10px;cursor:pointer}
.upm-fav.saved{background:#fde8e8;border-color:#d33}
.upm-notice{padding:12px 16px;border-radius:6px;margin:1rem 0}
.upm-ok{background:#e6f6ea;border-left:4px solid #1a7f37}.upm-err{background:#fdeaea;border-left:4px solid #c62828}.upm-warn{background:#fff8e5;border-left:4px solid #dba617}
.upm-disclaimer,.upm-note{font-size:.85rem;color:#4a5560;border-top:1px solid #e1e5ea;padding-top:.6rem;margin-top:1.2rem}
.upm-table{width:100%;border-collapse:collapse;margin:1rem 0}.upm-table th,.upm-table td{border-bottom:1px solid #e1e5ea;padding:8px;text-align:left}
.upm-pager a{display:inline-block;padding:4px 10px;border:1px solid #c3c8d0;border-radius:4px;text-decoration:none}.upm-pager a.current{background:#0b3d91;color:#fff}
