:root {
  --vpm-cor-1: #52312e;
  --vpm-cor-2: #68453e;
  --vpm-cor-3: #b9aa9b;
  --vpm-cor-4: #a38b86;
  --vpm-cor-5: #a9a9a9;
  --vpm-cor-6: #6a9780;
}
.vpmlr {
  --vpm-primary: var(--vpm-cor-1);
  --vpm-accent: var(--vpm-cor-2);
  --vpm-bg: var(--vpm-cor-3);
  --vpm-detail: var(--vpm-cor-4);
  --vpm-placeholder: var(--vpm-cor-5);
  --vpm-success: var(--vpm-cor-6);
  box-sizing: border-box;
  color: var(--vpm-cor-1);
  font-family: inherit;
}
.vpmlr *, .vpmlr *::before, .vpmlr *::after { box-sizing: border-box; }
.vpmlr-shell { max-width: 820px; margin: 0 auto; padding: clamp(20px,4vw,38px); background: #fff; border: 1px solid var(--vpm-cor-3); border-radius: 16px; box-shadow: 0 12px 38px rgba(82,49,46,.08); }
.vpmlr-header h2, .vpmlr-result-title { margin: 0 0 10px; color: var(--vpm-cor-1); font-size: clamp(23px,3vw,32px); line-height: 1.2; }
.vpmlr-header p { margin: 0 0 24px; color: var(--vpm-cor-1); line-height: 1.6; }
.vpmlr-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.vpmlr-location-fields { margin-bottom: 0; }
.vpmlr-contact-fields { margin-top: 4px; }
.vpmlr-field { display: flex; flex-direction: column; gap: 7px; color: var(--vpm-cor-1); font-size: 14px; font-weight: 600; }
.vpmlr-field input, .vpmlr-field select { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--vpm-cor-3); border-radius: 8px; background: #fff; color: var(--vpm-cor-1); font: inherit; font-weight: 400; transition: border-color .18s,box-shadow .18s; }
.vpmlr-field input::placeholder { color: var(--vpm-cor-5); opacity: 1; }
.vpmlr-field input:focus, .vpmlr-field select:focus { outline: 3px solid rgba(104,69,62,.2); outline-offset: 1px; border-color: var(--vpm-cor-2); }
.vpmlr-location-check { position: relative; display: flex; width: 100%; min-height: 58px; align-items: center; gap: 12px; flex-wrap: wrap; overflow: hidden; margin: 12px 0 20px; padding: 14px 16px; border-left: 5px solid var(--vpm-cor-4); border-radius: 8px; background: rgba(185,170,155,.22); }
.vpmlr-location-check[data-state="loading"] { border-left-color: var(--vpm-cor-2); }
.vpmlr-location-check[data-state="ready"] { border-left-color: var(--vpm-cor-6); background: rgba(106,151,128,.12); }
.vpmlr-location-check[data-state="error"] { border-left-color: var(--vpm-cor-4); background: rgba(163,139,134,.18); }
.vpmlr-location-status { display: flex; min-width: 220px; flex: 1; align-items: center; gap: 10px; margin: 0; color: var(--vpm-cor-1); font-size: 15px; font-weight: 600; line-height: 1.5; }
.vpmlr-location-status[data-state="loading"]::before { width: 20px; height: 20px; flex: 0 0 20px; border: 3px solid var(--vpm-cor-3); border-top-color: var(--vpm-cor-2); border-radius: 50%; content: ""; animation: vpmlr-spin .7s linear infinite; }
.vpmlr-location-status[data-state="ready"]::before { color: var(--vpm-cor-6); content: "✓"; font-size: 20px; font-weight: 800; }
.vpmlr-location-status[data-state="error"]::before { color: var(--vpm-cor-4); content: "!"; font-size: 20px; font-weight: 800; }
.vpmlr-location-check[data-state="loading"]::after { position: absolute; bottom: 0; left: 0; width: 34%; height: 4px; background: var(--vpm-cor-6); content: ""; animation: vpmlr-progress 1.4s ease-in-out infinite; }
.vpmlr-location-retry { position: relative; z-index: 1; flex: 0 0 auto; min-height: 40px; padding: 9px 14px; border: 1px solid var(--vpm-cor-2); border-radius: 7px; background: var(--vpm-cor-2); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.vpmlr-location-retry:hover { border-color: var(--vpm-cor-4); background: var(--vpm-cor-4); }
.vpmlr-location-retry:focus-visible { outline: 3px solid var(--vpm-cor-6); outline-offset: 2px; }
.vpmlr-location-retry[hidden] { display: none !important; }
.vpmlr-location-retry:disabled { opacity: .65; cursor: progress; }
.vpmlr-lookup-actions { display: flex; align-items: center; margin: 0 0 18px; }
.vpmlr-find-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border: 0; border-radius: 8px; background: var(--vpm-cor-2); color: #fff; font: inherit; font-weight: 700; cursor: pointer; touch-action: manipulation; transition: background .18s,transform .18s; }
.vpmlr-find-button:hover:not(:disabled) { transform: translateY(-1px); background: var(--vpm-cor-4); }
.vpmlr-find-button:focus-visible { outline: 3px solid var(--vpm-cor-6); outline-offset: 3px; }
.vpmlr-find-button:disabled { transform: none; background: var(--vpm-cor-3); color: var(--vpm-cor-1); opacity: 1; cursor: not-allowed; }
.vpmlr-find-button[aria-busy="true"] { cursor: progress; }
.vpmlr-find-spinner { display: none; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: vpmlr-spin .7s linear infinite; }
.vpmlr-find-button[aria-busy="true"] .vpmlr-find-spinner { display: inline-block; }
.vpmlr-contact-stage[hidden] { display: none !important; }
.vpmlr-contact-stage { padding-top: 4px; }
.vpmlr-consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0 9px; color: var(--vpm-cor-1); font-size: 14px; line-height: 1.55; cursor: pointer; }
.vpmlr .vpmlr-consent input[type="checkbox"].vpmlr-checkbox { appearance: auto !important; -webkit-appearance: checkbox !important; display: inline-block !important; position: static !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; clip: auto !important; clip-path: none !important; transform: none !important; z-index: 1; width: 20px !important; height: 20px !important; min-width: 20px !important; flex: 0 0 20px !important; margin: 2px 0 0 !important; padding: 0 !important; border: 1px solid var(--vpm-cor-3) !important; background-color: #fff !important; accent-color: var(--vpm-cor-6) !important; cursor: pointer !important; }
.vpmlr .vpmlr-consent input[type="checkbox"].vpmlr-checkbox:focus-visible { outline: 3px solid var(--vpm-cor-4); outline-offset: 2px; }
.vpmlr .vpmlr-consent span { cursor: pointer; }
.vpmlr .vpmlr-consent a { position: relative; z-index: 2; pointer-events: auto !important; }
.vpmlr a { color: var(--vpm-cor-2); text-decoration: underline; text-underline-offset: 2px; }
.vpmlr-privacy-note, .vpmlr-map-note { margin: 8px 0 18px; color: var(--vpm-cor-2); font-size: 13px; line-height: 1.5; }
.vpmlr-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.vpmlr-submit, .vpmlr-contact-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 8px; background: var(--vpm-cor-2); color: #fff !important; font: inherit; font-weight: 700; text-decoration: none !important; cursor: pointer; transition: background .18s,transform .18s; }
.vpmlr .vpmlr-submit { position: relative; z-index: 2; pointer-events: auto !important; touch-action: manipulation; }
.vpmlr-submit:hover, .vpmlr-contact-button:hover { transform: translateY(-1px); background: var(--vpm-cor-4); color: #fff !important; }
.vpmlr-submit:focus-visible, .vpmlr-contact-button:focus-visible { outline: 3px solid var(--vpm-cor-6); outline-offset: 3px; }
.vpmlr .vpmlr-submit:disabled { transform: none; background: var(--vpm-cor-3) !important; color: var(--vpm-cor-1) !important; opacity: 1; cursor: not-allowed; }
.vpmlr .vpmlr-submit[aria-busy="true"]:disabled { cursor: progress; }
.vpmlr-submit:disabled .vpmlr-spinner { border-color: rgba(82,49,46,.35); border-top-color: var(--vpm-cor-1); }
.vpmlr-message { margin: 0; color: var(--vpm-cor-2); font-size: 14px; }
.vpmlr-spinner { display: none; width: 17px; height: 17px; margin-left: 9px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: vpmlr-spin .7s linear infinite; }
.vpmlr-loading .vpmlr-spinner { display: inline-block; }
.vpmlr-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vpmlr-form-wrap { max-height: 1800px; opacity: 1; transition: opacity .28s ease,max-height .28s ease; }
.vpmlr-form-wrap.vpmlr-is-hidden { max-height: 0; overflow: hidden; opacity: 0; }
.vpmlr-result { margin-top: 22px; }
.vpmlr-result[hidden] { display: none; }
.vpmlr-result-title { font-size: 24px; }
.vpmlr-match-note { margin: 0 0 16px; color: var(--vpm-cor-1); line-height: 1.6; }
.vpmlr-dealer-card { padding: 20px; border: 1px solid var(--vpm-cor-3); border-left: 5px solid var(--vpm-cor-6); border-radius: 10px; background: rgba(185,170,155,.12); }
.vpmlr-dealer-name { margin: 0 0 12px; color: var(--vpm-cor-1); font-size: 21px; }
.vpmlr-detail { margin: 7px 0; color: var(--vpm-cor-1); line-height: 1.5; }
.vpmlr-detail strong { color: var(--vpm-cor-2); }
.vpmlr-contact-button { margin-top: 10px; background: var(--vpm-cor-6); }
.vpmlr-contact-button:hover { background: var(--vpm-cor-2); }
.vpmlr-map-note { margin: 16px 0 8px; }
.vpmlr-map { width: 100%; height: 330px; overflow: hidden; border: 1px solid var(--vpm-cor-3); border-radius: 10px; background: rgba(185,170,155,.18); }
.vpmlr-leaflet-icon { border: 0; background: transparent; }
.vpmlr-pin { position: absolute; top: 3px; left: 5px; width: 20px; height: 20px; transform: rotate(-45deg); border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: var(--vpm-cor-6); box-shadow: 0 2px 8px rgba(82,49,46,.28); }
.vpmlr-pin::after { position: absolute; top: 5px; left: 5px; width: 4px; height: 4px; border-radius: 50%; background: #fff; content: ""; }
.vpmlr-no-coverage { padding: 18px; border-left: 5px solid var(--vpm-cor-4); border-radius: 8px; background: rgba(185,170,155,.18); color: var(--vpm-cor-1); line-height: 1.6; }
@keyframes vpmlr-spin { to { transform: rotate(360deg); } }
@keyframes vpmlr-progress { 0% { transform: translateX(-110%); } 100% { transform: translateX(340%); } }
@media (max-width: 620px) { .vpmlr-shell { padding: 20px; border-radius: 12px; } .vpmlr-fields { grid-template-columns: 1fr; gap: 13px; } .vpmlr-actions { align-items: stretch; flex-direction: column; } .vpmlr-submit, .vpmlr-find-button { width: 100%; } .vpmlr-lookup-actions { width: 100%; } .vpmlr-map { height: 280px; } }
@media (prefers-reduced-motion: reduce) { .vpmlr *, .vpmlr *::before, .vpmlr *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; } .vpmlr-location-status[data-state="loading"]::before, .vpmlr-location-check[data-state="loading"]::after, .vpmlr-find-spinner { animation: none; } }

.vpmlr-suggestion-status{display:block;min-height:1.35em;color:var(--vpm-cor-2);font-size:12px;font-weight:400;line-height:1.45}.vpmlr-suggestion-status:empty{display:none}

.vpmlr-email-notice{margin:0 0 16px;padding:12px 14px;border-left:5px solid var(--vpm-cor-6);border-radius:7px;background:rgba(106,151,128,.12);color:var(--vpm-cor-1);font-size:14px;line-height:1.5}.vpmlr-email-notice.is-failed{border-left-color:var(--vpm-cor-4);background:rgba(163,139,134,.18)}

/* Diretório público de representantes: sem captura de lead. */
.vpmlr-directory .vpmlr-shell{max-width:1240px;padding:clamp(20px,3vw,36px)}
.vpmlr-directory .vpmlr-header p{margin-bottom:22px}
.vpmlr-search-fields{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) auto;gap:14px;align-items:end}
.vpmlr-directory-field{display:flex;flex-direction:column;gap:7px;color:var(--vpm-cor-1);font-size:14px;font-weight:700}
.vpmlr-directory-field input,.vpmlr-directory-field select{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--vpm-cor-3);border-radius:8px;background:#fff;color:var(--vpm-cor-1);font:inherit;font-weight:400}
.vpmlr-directory-field input::placeholder{color:var(--vpm-cor-5);opacity:1}
.vpmlr-directory-field input:focus,.vpmlr-directory-field select:focus{outline:3px solid rgba(104,69,62,.2);outline-offset:1px;border-color:var(--vpm-cor-2)}
.vpmlr-search-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;padding:11px 18px;border:0;border-radius:8px;background:var(--vpm-cor-2);color:#fff;font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation}
.vpmlr-search-button:hover:not(:disabled){background:var(--vpm-cor-4)}
.vpmlr-search-button:focus-visible{outline:3px solid var(--vpm-cor-6);outline-offset:3px}
.vpmlr-search-button:disabled{background:var(--vpm-cor-3);color:var(--vpm-cor-1);cursor:not-allowed}
.vpmlr-directory.vpmlr-loading .vpmlr-search-button{cursor:progress}
.vpmlr-search-spinner{display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:vpmlr-spin .7s linear infinite}
.vpmlr-directory.vpmlr-loading .vpmlr-search-spinner{display:inline-block}
.vpmlr-suggestion-status{min-height:1.4em;margin:7px 0 12px;color:var(--vpm-cor-2);font-size:12px;line-height:1.45}
.vpmlr-directory-status{margin:4px 0 14px;padding:10px 13px;border-left:4px solid var(--vpm-cor-6);background:rgba(106,151,128,.10);color:var(--vpm-cor-1);font-size:13px;line-height:1.5}
.vpmlr-directory-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr);gap:20px;align-items:stretch}
.vpmlr-directory-map{width:100%;height:540px;border:1px solid var(--vpm-cor-3);border-radius:9px;background:rgba(185,170,155,.16);z-index:1}
.vpmlr-directory .vpmlr-map-note{margin:8px 0 0;font-size:12px;line-height:1.45}
.vpmlr-contact-panel{min-height:540px;padding:21px;border:1px solid var(--vpm-cor-3);border-left:5px solid var(--vpm-cor-6);border-radius:9px;background:rgba(185,170,155,.10)}
.vpmlr-contact-title{margin:0 0 16px;color:var(--vpm-cor-1);font-size:21px;line-height:1.3}
.vpmlr-contact-content{color:var(--vpm-cor-1);font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.vpmlr-contact-content p{margin:8px 0}
.vpmlr-contact-content strong{color:var(--vpm-cor-2)}
.vpmlr-contact-content .vpmlr-contact-name{margin:0 0 12px;font-size:19px;font-weight:700}
.vpmlr-contact-content .vpmlr-contact-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.vpmlr-contact-content a.vpmlr-contact-button{margin:0;padding:10px 13px;min-height:42px;font-size:13px}
.vpmlr-contact-content a.vpmlr-contact-button.vpm-email{background:var(--vpm-cor-2)}
.vpmlr-contact-content .vpmlr-contact-method{padding:10px 12px;border-radius:6px;background:#fff;color:var(--vpm-cor-2);font-size:12px}
.vpmlr-public-note{margin:14px 0 0;color:var(--vpm-cor-2);font-size:12px;line-height:1.45}
.vpmlr-directory .leaflet-popup-content-wrapper{border-radius:8px}
.vpmlr-directory .leaflet-popup-content{margin:12px 14px;color:var(--vpm-cor-1);font-family:inherit;font-size:13px;line-height:1.45}
.vpmlr-map-popup-title{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--vpm-cor-1)}
.vpmlr-map-popup-contact{margin:3px 0}
.vpmlr-map-popup a{color:var(--vpm-cor-2);overflow-wrap:anywhere}
.vpmlr-map-selected{stroke:var(--vpm-cor-1)!important;stroke-width:4!important;fill:var(--vpm-cor-4)!important}
.vpmlr-directory .leaflet-tooltip{border:1px solid var(--vpm-cor-3);border-radius:6px;color:var(--vpm-cor-1);font-family:inherit;font-size:12px;line-height:1.4;white-space:normal}
.vpmlr-directory .leaflet-control-zoom a{color:var(--vpm-cor-1)}
@media(max-width:900px){.vpmlr-directory-layout{grid-template-columns:minmax(0,1.35fr) minmax(245px,.9fr)}.vpmlr-directory-map,.vpmlr-contact-panel{height:480px;min-height:480px}}
@media(max-width:680px){.vpmlr-search-fields{grid-template-columns:1fr 1fr}.vpmlr-city-field{grid-column:span 2}.vpmlr-search-button{grid-column:span 2;width:100%}.vpmlr-directory-layout{grid-template-columns:1fr}.vpmlr-directory-map{height:400px}.vpmlr-contact-panel{min-height:0}.vpmlr-search-fields{gap:10px}}
@media(prefers-reduced-motion:reduce){.vpmlr-search-spinner{animation:none}}
