.prp-wrap { --prp-yellow:#f2b705; --prp-yellow-dark:#9a6700; --prp-yellow-hover:#d79f00; --prp-dark:#17191c; --prp-border:#dedede; max-width:1180px; margin:0 auto; color:#202124; }
.prp-heading { margin-bottom:24px; }
.prp-heading h2 { margin:0 0 7px; font-size:clamp(28px,4vw,42px); line-height:1.12; }
.prp-heading p { margin:0; color:#5c6066; }
.prp-filters { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:14px; align-items:end; padding:20px; background:#fff8d6; border:1px solid #f1d46a; border-radius:8px; margin-bottom:18px; }
.prp-filters label { display:grid; gap:6px; font-weight:700; font-size:14px; }
.prp-filters input,.prp-filters select { width:100%; min-height:44px; border:1px solid #bbb; border-radius:4px; background:#fff; padding:8px 11px; font:inherit; }
.prp-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:10px; }
.prp-submit,.prp-reset { min-height:44px; border-radius:4px; padding:8px 20px; font-weight:700; cursor:pointer; }
.prp-submit { border:1px solid var(--prp-yellow-dark); background:var(--prp-yellow); color:#17191c; }
.prp-submit:hover { border-color:var(--prp-yellow-dark); background:var(--prp-yellow-hover); }
.prp-reset { border:1px solid var(--prp-dark); background:#fff; color:var(--prp-dark); }
.prp-reset:hover { background:var(--prp-dark); color:#fff; }
.prp-count { margin:0 0 12px; }
.prp-map { height:520px; margin:0 0 18px; border:1px solid var(--prp-border); border-radius:8px; overflow:hidden; background:#edf0f2; z-index:0; }
.prp-map-empty { display:grid; place-items:center; height:100%; margin:0; padding:25px; text-align:center; color:#555; }
.prp-map .leaflet-popup-content { line-height:1.45; }
.prp-map-card { display:grid; gap:5px; overflow-wrap:anywhere; }
.prp-map-card-title { display:block; margin-bottom:3px; font-size:16px; color:var(--prp-dark); }
.prp-map-card-button { display:block; width:100%; min-height:38px; margin-top:10px; padding:7px 12px; border:1px solid var(--prp-yellow-dark); border-radius:4px; background:var(--prp-yellow); color:#17191c; font:inherit; font-weight:700; cursor:pointer; }
.prp-map-card-button:hover,.prp-map-card-button:focus { background:var(--prp-yellow-hover); color:#17191c; }
.prp-list { display:grid; gap:10px; }
.prp-card { border:1px solid var(--prp-border); border-left:5px solid var(--prp-yellow); border-radius:5px; background:#fff; box-shadow:0 2px 9px rgba(0,0,0,.04); }
.prp-card[hidden] { display:none; }
.prp-card-head { display:flex; justify-content:space-between; align-items:center; width:100%; padding:17px 18px; border:0; background:linear-gradient(90deg,#fffdf3 0%,#fff 50%); text-align:left; color:inherit; cursor:pointer; }
.prp-card-title-wrap { display:flex; align-items:center; gap:14px; min-width:0; }
.prp-card-logo { width:72px; height:54px; flex:0 0 72px; object-fit:contain; padding:4px; border:1px solid #e4e4e4; border-radius:4px; background:#fff; }
.prp-card-head strong { display:block; font-size:18px; line-height:1.25; }
.prp-card-head small { display:block; margin-top:4px; color:#666; font-size:14px; }
.prp-chevron { width:11px; height:11px; border-right:2px solid #555; border-bottom:2px solid #555; transform:rotate(45deg); margin:0 7px 6px 20px; transition:transform .2s; }
.prp-card-head[aria-expanded=true] .prp-chevron { transform:rotate(225deg); margin-bottom:-5px; }
.prp-details { border-top:1px solid var(--prp-border); padding:4px 18px 17px; }
.prp-details dl { margin:0; }
.prp-details dl>div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:14px; padding:11px 0; border-bottom:1px solid #eee; }
.prp-details dl>div:last-child { border-bottom:0; }
.prp-details dt { font-weight:700; }
.prp-details dd { margin:0; overflow-wrap:anywhere; }
.prp-details a { color:var(--prp-yellow-dark); }
.prp-details a:hover,.prp-details a:focus { color:#6f4b00; }
.prp-empty { padding:20px; border:1px solid var(--prp-border); text-align:center; }
.prp-note { margin-top:20px; padding:14px 16px; background:#fff8d6; border-left:4px solid var(--prp-yellow); font-size:13px; color:#4d421f; }
@media(max-width:820px) { .prp-filters { grid-template-columns:1fr 1fr; } .prp-filters label:first-child { grid-column:1/-1; } }
@media(max-width:560px) { .prp-filters { grid-template-columns:1fr; } .prp-filters label:first-child { grid-column:auto; } .prp-actions { display:grid; grid-template-columns:1fr 1fr; } .prp-map { height:390px; } .prp-card-head { padding:15px; } .prp-card-logo { width:58px; height:44px; flex-basis:58px; } .prp-details dl>div { grid-template-columns:1fr; gap:3px; } }
