/* JPD Dealer Locator 0.4.15 – presentation and accessibility refinements only. */
.jpd-locator{font-family:inherit;max-width:1100px;margin:2rem auto;color:#272422}
.jpd-locator-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:start;margin-bottom:1.6rem}
.jpd-locator-form label{font-weight:650;display:block;margin-bottom:.4rem}
.jpd-locator-form select,.jpd-locator-form input{font:inherit;font-size:max(1rem,16px);box-sizing:border-box;width:100%;min-height:48px;padding:.7rem;border:1px solid #797979;border-radius:2px;background:#fff;color:#222}
.jpd-locator-form button{grid-column:1/-1;justify-self:end;min-width:190px;white-space:nowrap;margin-top:0;font:inherit;font-size:max(1rem,16px);min-height:48px;background:#b32130;color:#fff;padding:.8rem 1.15rem;border:0;border-radius:2px;cursor:pointer;font-weight:650}
.jpd-locator-form button:hover{background:#931c28}
.jpd-locator-form button:focus-visible,.jpd-locator a:focus-visible,.jpd-locator-form input:focus-visible,.jpd-locator-form select:focus-visible{outline:3px solid #b32130;outline-offset:3px}
.jpd-locator-field-help{display:block;margin-top:.35rem;font-size:.875rem;color:#4b4744}
.jpd-locator-results-heading{font-size:1.35rem;line-height:1.3;margin:1.5rem 0 .45rem;scroll-margin-top:3rem}
.jpd-locator-count{font-weight:650;margin:0 0 1.15rem}
.jpd-locator-notice,.jpd-locator-empty{border-left:3px solid #b32130;background:#faf8f4;padding:.85rem 1rem;margin:1rem 0;color:#272422}
.jpd-locator-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:1.1rem;align-items:stretch}
.jpd-locator-card{box-sizing:border-box;min-width:0;border:1px solid #d9d4cc;border-radius:2px;background:#faf8f4;color:#272422;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;overflow-wrap:break-word;hyphens:auto}
.jpd-locator-card--physical{border-top:3px solid #b32130}
.jpd-locator-card__body{flex:1;min-width:0}
.jpd-locator-card .jpd-locator-card__title{font-size:1.22rem;line-height:1.35;letter-spacing:-.01em;margin:0 0 1rem;font-weight:700;color:#272422;overflow-wrap:break-word;hyphens:auto}
.jpd-locator-card__type{display:inline-flex;align-items:center;width:max-content;max-width:100%;background:#272422;color:#fff;border:1px solid #272422;border-radius:2px;padding:.28rem .55rem;font-size:.78rem;font-weight:700;letter-spacing:.065em;line-height:1.5;margin:0 0 1rem}
.jpd-locator-card--online .jpd-locator-card__type{background:transparent;color:#272422}
.jpd-locator-card__distance{color:#49433f;font-weight:650;font-size:.9rem;margin:0 0 1rem}
.jpd-locator-card__availability{color:#49433f;font-weight:600;margin:0 0 1rem;font-size:.92rem}
.jpd-locator-card .jpd-locator-card__address{font-style:normal;line-height:1.7;color:#3f3b38;margin:0;font-size:.95rem}
.jpd-locator-card__actions{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:auto;padding-top:1rem}
.jpd-locator-card__actions a{display:inline-block;margin:0;font-size:.94rem;font-weight:650;color:#a51f2d;text-decoration:underline;text-underline-offset:3px}
.jpd-locator-card__actions a:hover{color:#761621}
.jpd-locator-pagination{margin-top:2rem}
.jpd-locator-pages{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.jpd-locator-pages a{min-width:44px;min-height:44px;box-sizing:border-box;padding:.7rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid #8f8780;border-radius:2px;background:#fff;color:#272422;text-decoration:none;font-weight:650}
.jpd-locator-pages a[aria-current=page]{background:#272422;color:#fff;border-color:#272422}
.jpd-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.jpd-locator-form{grid-template-columns:repeat(2,minmax(0,1fr))}.jpd-locator-form button{grid-column:1/-1;margin-top:0}}
@media(max-width:520px){.jpd-locator-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.jpd-locator-form>div:nth-child(1){grid-column:1/-1;grid-row:1}.jpd-locator-form>div:nth-child(2){grid-column:1;grid-row:2}.jpd-locator-form>div:nth-child(3){grid-column:2;grid-row:2}.jpd-locator-form>div:nth-child(4){grid-column:1/-1;grid-row:3}.jpd-locator-results{grid-template-columns:1fr}.jpd-locator-card{padding:1.15rem}.jpd-locator-form button{grid-column:1/-1;grid-row:4;width:100%;margin-top:0}}
