/* Scoped to this module. Inherits Mednic typography. */
.vpm-module{--vpm-green:#193f35;--vpm-accent:#b9d93c;--vpm-ink:#2b4136;--vpm-muted:#73816c;--vpm-line:#e0e6d8;--vpm-paper:#f6f8f1;color:var(--vpm-ink);width:100%;margin:20px 0 35px;isolation:isolate;container-type:inline-size;container-name:vpm;font-size:14px;scroll-margin-top:100px}.vpm-module *{box-sizing:border-box}.vpm-module [hidden]{display:none!important}.vpm-module a{text-decoration:none;color:inherit}.vpm-module button,.vpm-module input,.vpm-module select{font:inherit;letter-spacing:normal;text-transform:none}.vpm-module button{border:0;background:none;cursor:pointer;color:inherit;margin:0;box-shadow:none;line-height:1.5}.vpm-module a:focus-visible,.vpm-module button:focus-visible,.vpm-module input:focus-visible,.vpm-module select:focus-visible,.vpm-module summary:focus-visible{outline:3px solid var(--vpm-accent);outline-offset:3px}.vpm-module h2,.vpm-module h3,.vpm-module p{margin:0}.vpm-module .vpm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.vpm-module .vpm-heading{margin-bottom:25px}.vpm-module .vpm-kicker{font-size:10px;letter-spacing:1.6px;color:#7c8d50;font-weight:600}.vpm-module .vpm-heading h2{font-size:clamp(27px,3vw,36px);line-height:1.25;letter-spacing:-1px;color:var(--vpm-green);font-weight:700;margin-top:8px}.vpm-module .vpm-heading p{font-size:14px;color:var(--vpm-muted);margin-top:11px;line-height:1.7}.vpm-module .vpm-search{display:flex;align-items:center;gap:14px;border:1px solid var(--vpm-line);border-radius:8px;background:white;padding:6px 7px 6px 20px;min-height:63px}.vpm-module .vpm-search>i{color:#8ea36a;font-size:17px}.vpm-module .vpm-search input{flex:1;min-width:0;width:auto;background:none;border:0;border-radius:0;box-shadow:none;margin:0;padding:10px 0;font-size:14px;color:var(--vpm-green);height:auto}.vpm-module .vpm-search input::placeholder{color:#8c9783}.vpm-module .vpm-search input:focus{outline:none;box-shadow:none}.vpm-module .vpm-search:focus-within{border-color:#91aa50;box-shadow:0 0 0 2px #b9d93c33}.vpm-module .vpm-primary,.vpm-module .vpm-apply{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--vpm-green);color:white;padding:14px 23px;border:0;border-radius:6px;font-size:13px;font-weight:600;min-height:46px}.vpm-module .vpm-primary:hover,.vpm-module .vpm-apply:hover{background:#2e5c49;color:white}.vpm-module .vpm-primary i,.vpm-module .vpm-apply i{color:var(--vpm-accent);font-size:12px}.vpm-module .vpm-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;margin-top:30px;align-items:start}.vpm-module .vpm-filters{background:white;border:1px solid var(--vpm-line);border-radius:8px;overflow:hidden}.vpm-module .vpm-filters summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;padding:20px 17px;border-bottom:1px solid var(--vpm-line);min-height:60px}.vpm-module .vpm-filters summary::-webkit-details-marker{display:none}.vpm-module .vpm-filters summary>i:first-child{color:#85975f;font-size:14px}.vpm-module .vpm-filters summary>i:last-child{margin-left:auto;font-size:10px;color:#81916d}.vpm-module .vpm-filters[open] summary>i:last-child{transform:rotate(180deg)}.vpm-module .vpm-filter-number{display:none;background:#edf2df;padding:1px 6px;border-radius:3px;font-size:10px}.vpm-module .vpm-filter-body{padding:20px 17px 0}.vpm-module fieldset{border:0;border-bottom:1px solid #eaf0df;margin:0;padding:0 0 20px;min-width:0}.vpm-module fieldset+fieldset{margin-top:21px}.vpm-module legend{float:none;width:100%;font-size:12px;font-weight:700;color:var(--vpm-ink);padding:0;margin:0 0 12px;line-height:1.5}.vpm-module .vpm-check{display:flex;align-items:center;gap:9px;font-size:12px;min-height:35px;margin:0;cursor:pointer;color:#68785c;line-height:1.5;font-weight:400}.vpm-module .vpm-check input{width:17px;height:17px;margin:0;accent-color:var(--vpm-green);flex:none;cursor:pointer}.vpm-module .vpm-check small{margin-left:auto;background:#f4f6ed;color:#8b977d;border-radius:3px;min-width:21px;padding:1px 4px;font-size:10px;text-align:center}.vpm-module .vpm-check:has(input:checked){color:var(--vpm-green);font-weight:600}.vpm-module .vpm-star-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vpm-module .vpm-star-option{position:relative;display:block;cursor:pointer;margin:0;font-weight:400}.vpm-module .vpm-star-option input{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;background:white;border:1px solid var(--vpm-line);border-radius:5px;cursor:pointer}.vpm-module .vpm-star-option>span{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;font-size:11px;padding:4px 3px;pointer-events:none;color:#6b7b5d;text-align:center;line-height:1.3}.vpm-module .vpm-star-option i{font-size:9px;color:#95ad55}.vpm-module .vpm-star-option input:checked{border-color:#91a64a;background:#edf3dc}.vpm-module .vpm-star-option input:checked+span{font-weight:700;color:var(--vpm-green)}.vpm-module .vpm-unknown{margin-top:10px;font-size:11px}.vpm-module .vpm-field-help{font-size:11px;line-height:1.7;color:#8b967e;margin-top:9px}.vpm-module .vpm-apply{width:100%;font-size:12px;margin-top:18px;padding:11px 10px;min-height:42px}.vpm-module .vpm-clear{display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px;padding:17px 0;color:#7a896a}.vpm-module .vpm-clear:hover{color:var(--vpm-green)}.vpm-module .vpm-nature-note{padding:22px 12px;background:#eff4e4;border-top:1px solid #e4ebd6;text-align:center;color:#758956}.vpm-module .vpm-nature-note>i{display:block;font-size:22px;margin-bottom:9px;color:#96ac64}.vpm-module .vpm-nature-note>span{font-size:11px;line-height:1.8}.vpm-module .vpm-nature-note strong{font-weight:500}.vpm-module .vpm-results{min-width:0}.vpm-module .vpm-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--vpm-line);min-height:46px;gap:10px}.vpm-module .vpm-tabs{display:flex;align-self:stretch;gap:23px;align-items:stretch}.vpm-module .vpm-tab{font-size:12px;color:#849173;padding:0 0 12px;display:flex;align-items:center;gap:6px;position:relative;white-space:nowrap}.vpm-module .vpm-tab span{font-size:10px;padding:0 5px;background:#edf1e4;border-radius:3px;color:#7d8d66}.vpm-module .vpm-tab i{font-size:11px}.vpm-module .vpm-tab.is-active{font-weight:700;color:var(--vpm-green)}.vpm-module .vpm-tab.is-active:after{content:"";height:2px;left:0;right:0;bottom:-1px;position:absolute;background:var(--vpm-green)}.vpm-module .vpm-sort{display:flex;align-items:center;gap:6px;padding-bottom:12px;font-size:11px;color:#89967a}.vpm-module .vpm-sort label{margin:0;font-size:11px;font-weight:400}.vpm-module .vpm-sort select{font-size:11px;border:0;border-radius:3px;background:#fff;box-shadow:none;margin:0;padding:6px 20px 6px 7px;color:#536c43;max-width:145px;min-width:0;height:auto;width:auto;cursor:pointer}.vpm-module .vpm-count{font-size:12px;color:#859174;margin:20px 0 18px;line-height:1.6}.vpm-module .vpm-count strong{font-weight:600;color:#496139}.vpm-module .vpm-count>span{font-size:10px;color:#94a086}.vpm-module .vpm-chips{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 19px}.vpm-module .vpm-chips a{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#edf3dd;color:#58713b;border:1px solid #dce6c6;border-radius:5px;font-size:11px}.vpm-module .vpm-chips a i{font-size:10px}.vpm-module .vpm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 18px;align-items:stretch}.vpm-module .vpm-card{border:1px solid var(--vpm-line);border-radius:9px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.vpm-module .vpm-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #1530200c}.vpm-module .vpm-card-photo{position:relative;aspect-ratio:1.52;background:#e9efdf;overflow:hidden}.vpm-module .vpm-card-photo>a{display:block;height:100%;width:100%}.vpm-module .vpm-card-photo img{width:100%;height:100%;max-width:100%;object-fit:cover;display:block;transition:transform .4s}.vpm-module .vpm-card:hover .vpm-card-photo img{transform:scale(1.035)}.vpm-module .vpm-type-badge{position:absolute;left:12px;top:12px;background:#ffffffef;color:#587348;padding:5px 8px;font-size:10px;border-radius:4px;max-width:calc(100% - 64px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;pointer-events:none}.vpm-module .vpm-type-badge i{font-size:9px;margin-right:3px}.vpm-module .vpm-save{display:grid;place-items:center;position:absolute;top:10px;right:10px;width:37px;height:37px;border-radius:50%;background:#ffffffef;color:#91a578;font-size:13px;padding:0}.vpm-module .vpm-save:not(.is-saved) i{color:transparent;-webkit-text-stroke:1px #83976d}.vpm-module .vpm-save.is-saved{color:#64822f;background:#eaf2d8}.vpm-module .vpm-card-body{padding:17px 16px 0;display:flex;flex-direction:column;flex:1}.vpm-module .vpm-card-location{display:flex;gap:6px;align-items:center;font-size:11px;color:#819270;line-height:1.5}.vpm-module .vpm-card-location i{font-size:10px;color:#8ca06c}.vpm-module .vpm-card h3{font-size:17px;font-weight:700;letter-spacing:-.4px;line-height:1.5;margin-top:6px}.vpm-module .vpm-card h3 a:hover{color:#7e9c3d}.vpm-module .vpm-card-stars{display:flex;gap:3px;align-items:center;font-size:10px;color:var(--vpm-accent);margin-top:9px;min-height:16px}.vpm-module .vpm-card-stars>span{font-size:10px;color:#8d9a7b}.vpm-module .vpm-card-excerpt{font-size:12px;line-height:1.8;color:#7d8b70;margin-top:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vpm-module .vpm-amenities{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#859573;font-size:10px;margin-top:13px}.vpm-module .vpm-amenities span{white-space:nowrap}.vpm-module .vpm-amenities i{font-size:11px;margin-right:3px;color:#8fa36e}.vpm-module .vpm-card-bottom{border-top:1px solid #eaf0df;margin-top:auto;position:relative;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:55px;padding:11px 0}.vpm-module .vpm-card-body:has(.vpm-card-excerpt) .vpm-card-bottom,.vpm-module .vpm-card-body:has(.vpm-amenities) .vpm-card-bottom{margin-top:17px}.vpm-module .vpm-map-button{font-size:11px;display:flex;gap:5px;align-items:center;padding:5px 0;color:#7f9368;text-align:left}.vpm-module .vpm-map-button i{font-size:10px}.vpm-module .vpm-detail-link{display:flex;gap:10px;align-items:center;padding:6px 0;font-size:12px;font-weight:600;color:#506c37;white-space:nowrap}.vpm-module .vpm-detail-link i{font-size:11px;color:#94ad56}.vpm-module .vpm-pagination{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap;margin:28px 0 10px}.vpm-module .vpm-pagination a{min-width:35px;min-height:36px;display:grid;place-items:center;padding:7px 11px;border:1px solid var(--vpm-line);border-radius:5px;font-size:12px;background:white;color:#5c7545}.vpm-module .vpm-pagination a[aria-current]{background:var(--vpm-green);color:white;border-color:var(--vpm-green)}.vpm-module .vpm-page-note{text-align:center;color:#98a18b;font-size:11px}.vpm-module .vpm-empty{border:1px solid var(--vpm-line);background:#fff;border-radius:9px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:45px 25px;min-height:290px}.vpm-module .vpm-empty>i{font-size:32px;color:#91a965;margin-bottom:17px}.vpm-module .vpm-empty h3{font-size:20px;font-weight:600;line-height:1.6;color:var(--vpm-green)}.vpm-module .vpm-empty p{font-size:13px;line-height:1.7;color:var(--vpm-muted);margin:10px 0 23px}.vpm-module .vpm-empty .vpm-primary{font-size:12px}.vpm-module .vpm-notice,.vpm-module .vpm-config-notice,.vpm-module .vpm-load-error{padding:16px 20px;border:1px solid var(--vpm-line);border-radius:7px;background:var(--vpm-paper);font-size:13px;line-height:1.7;color:#748268;margin-bottom:20px}.vpm-module .vpm-config-notice{background:#fffbef;border-color:#eee1b8;color:#8c783f}.vpm-module .vpm-config-notice p{margin-top:4px}.vpm-module .vpm-js-only{display:none}.vpm-module.vpm-enhanced .vpm-js-only{display:flex}.vpm-module.vpm-enhanced .vpm-save{display:grid}.vpm-module[aria-busy="true"] .vpm-results{opacity:.5}.vpm-module .vpm-map-dialog{width:min(900px,calc(100% - 28px));max-height:90dvh;padding:0;margin:auto;border:0;border-radius:12px;background:white;color:var(--vpm-ink);box-shadow:0 15px 75px #123b3344}.vpm-module .vpm-map-dialog::backdrop{background:#0e2c2699;backdrop-filter:blur(3px)}.vpm-module .vpm-map-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 23px}.vpm-module .vpm-map-dialog h3{font-size:17px;line-height:1.5;margin:0}.vpm-module .vpm-map-dialog header button{height:37px;width:37px;flex:none;border-radius:50%;background:#f0f4e8;padding:0;display:grid;place-items:center;font-size:17px}.vpm-module .vpm-map-container{width:100%;height:min(65dvh,530px);background:#edf2e5}.vpm-module .vpm-map-container iframe{width:100%;height:100%;border:0;display:block}.vpm-module .vpm-map-dialog>p{font-size:10px;padding:10px 23px;color:#8b977e}.vpm-module .vpm-toast{position:fixed;bottom:25px;left:50%;z-index:1080;transform:translate(-50%,15px);padding:12px 22px;border-radius:7px;background:var(--vpm-green);color:white;font-size:12px;box-shadow:0 5px 30px #12382c22;opacity:0;pointer-events:none;max-width:calc(100% - 35px);transition:transform .2s,opacity .2s;text-align:center}.vpm-module .vpm-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.vpm-module .vpm-layout{grid-template-columns:210px minmax(0,1fr);gap:22px}.vpm-module .vpm-toolbar{flex-wrap:wrap;row-gap:0}.vpm-module .vpm-sort label{display:none}.vpm-module .vpm-tabs{gap:15px}.vpm-module .vpm-sort select{font-size:10px;max-width:128px}.vpm-module .vpm-tab{font-size:11px}.vpm-module .vpm-cards{gap:18px 15px;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr))}}
@media(max-width:760px){.vpm-module{margin-top:15px}.vpm-module .vpm-kicker{font-size:8px;letter-spacing:1.3px}.vpm-module .vpm-heading{margin-bottom:21px}.vpm-module .vpm-heading p{font-size:13px}.vpm-module .vpm-search{min-height:56px;padding:5px 5px 5px 13px;gap:9px}.vpm-module .vpm-search input{font-size:12px}.vpm-module .vpm-search>i{font-size:14px}.vpm-module .vpm-search .vpm-primary{font-size:12px;min-height:43px;padding:11px 15px;gap:0}.vpm-module .vpm-search .vpm-primary i{display:none}.vpm-module .vpm-layout{display:flex;flex-direction:column;gap:23px;margin-top:18px}.vpm-module .vpm-filters{width:100%}.vpm-module .vpm-filters summary{padding:14px 16px;min-height:49px;font-size:13px;border-bottom:0}.vpm-module .vpm-filters[open] summary{border-bottom:1px solid var(--vpm-line)}.vpm-module .vpm-filter-number{display:inline-block}.vpm-module .vpm-filters summary>i:last-child{margin-left:auto}.vpm-module .vpm-filter-body{padding:20px 21px 0}.vpm-module .vpm-check{font-size:13px;min-height:40px}.vpm-module .vpm-check input{height:19px;width:19px}.vpm-module legend{font-size:13px}.vpm-module .vpm-star-option>span{min-height:42px;font-size:12px}.vpm-module .vpm-star-options{gap:8px}.vpm-module .vpm-nature-note{display:none}.vpm-module .vpm-results{width:100%}.vpm-module .vpm-toolbar{flex-wrap:nowrap;min-height:43px}.vpm-module .vpm-tab{font-size:12px}.vpm-module .vpm-tabs{gap:18px}.vpm-module .vpm-sort{font-size:11px}.vpm-module .vpm-sort select{font-size:11px;padding-left:2px;max-width:130px}.vpm-module .vpm-count{font-size:12px;margin:17px 0}.vpm-module .vpm-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:23px}.vpm-module .vpm-card-photo{aspect-ratio:1.65}.vpm-module .vpm-card-body{padding:17px 18px 0}.vpm-module .vpm-card h3{font-size:19px}.vpm-module .vpm-card-location{font-size:12px}.vpm-module .vpm-card-excerpt{font-size:13px}.vpm-module .vpm-card-stars{font-size:11px;gap:4px}.vpm-module .vpm-card-stars>span{font-size:11px}.vpm-module .vpm-save{height:40px;width:40px}.vpm-module .vpm-type-badge{font-size:11px}.vpm-module .vpm-card-bottom{min-height:58px}.vpm-module .vpm-map-button,.vpm-module .vpm-detail-link{font-size:12px;min-height:38px}.vpm-module .vpm-amenities{font-size:11px;gap:16px}.vpm-module .vpm-map-dialog>header{padding:16px 18px}.vpm-module .vpm-map-dialog h3{font-size:15px}.vpm-module .vpm-toast{font-size:11px;bottom:20px}}
@media(max-width:370px){.vpm-module .vpm-toolbar{flex-wrap:wrap;row-gap:3px}.vpm-module .vpm-sort{margin-left:auto}.vpm-module .vpm-tab{min-height:38px}.vpm-module .vpm-tab{font-size:11px}.vpm-module .vpm-tabs{gap:11px}.vpm-module .vpm-sort select{font-size:10px;max-width:118px}.vpm-module .vpm-sort{gap:0}.vpm-module .vpm-empty{padding:30px 18px}.vpm-module .vpm-empty h3{font-size:18px}.vpm-module .vpm-empty .vpm-primary{font-size:10px;gap:10px;padding:12px 13px}}
@container vpm (max-width:1100px){.vpm-module .vpm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container vpm (max-width:600px){.vpm-module .vpm-cards{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.vpm-module *{transition:none!important;scroll-behavior:auto!important}}

/* Promotions: active according to the site's civil date. */
.vpm-module .vpm-promotion-filter .vpm-check{align-items:flex-start;gap:8px;line-height:1.65}.vpm-module .vpm-promotion-filter input{margin-top:3px}.vpm-module .vpm-promotion-filter .vpm-check>span{min-width:0;flex:1}.vpm-module .vpm-promotion-filter small{margin-top:2px}.vpm-module .vpm-promotion-badge{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);display:inline-flex;gap:6px;align-items:center;border-radius:5px;background:var(--vpm-accent);color:#243810;padding:6px 9px;font-size:10px;line-height:1.4;font-weight:700;box-shadow:0 2px 8px #20371413;pointer-events:none}.vpm-module .vpm-promotion-badge i{font-size:10px}.vpm-module .vpm-promotion-benefit{font-size:12px;line-height:1.7;color:#607c33;font-weight:600;margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}@media(max-width:760px){.vpm-module .vpm-promotion-badge{font-size:11px}.vpm-module .vpm-promotion-benefit{font-size:13px}}

/* Directory map. Controls remain usable with keyboard and in narrow containers. */
.vpm-module [hidden]{display:none!important}
.vpm-module .vpm-view-switch{display:flex;justify-content:flex-end;gap:3px;margin:15px 0 -4px}
.vpm-module .vpm-view-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--vpm-line);border-radius:6px;padding:9px 13px;min-height:40px;background:white;color:#637954;font-size:12px}
.vpm-module .vpm-view-button.is-active{background:var(--vpm-green);border-color:var(--vpm-green);color:white}
.vpm-module .vpm-view-button.is-active i{color:var(--vpm-accent)}
.vpm-module .vpm-directory-map{min-width:0}
.vpm-module .vpm-map-summary{font-size:12px;line-height:1.8;color:#768568;margin-bottom:10px}
.vpm-module .vpm-map-summary strong{color:#496139;font-weight:600}
.vpm-module .vpm-map-summary span{display:inline}
.vpm-module .vpm-map-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.vpm-module .vpm-map-actions p{font-size:11px;color:#7d8b70;flex:1 1 180px;line-height:1.7}
.vpm-module .vpm-fit-map{display:flex;align-items:center;gap:7px;background:white;border:1px solid var(--vpm-line);border-radius:5px;color:#526e3b;font-size:11px;padding:9px 12px;min-height:40px}
.vpm-module .vpm-map-canvas{height:580px;height:clamp(400px,65vh,650px);width:100%;isolation:isolate;border:1px solid var(--vpm-line);border-radius:10px;background:#e9efdf;z-index:0;touch-action:pan-x pan-y}
.vpm-module .vpm-map-canvas:focus-visible{outline:3px solid var(--vpm-accent);outline-offset:3px}
.vpm-module .vpm-map-canvas .leaflet-control-attribution{font-family:inherit;max-width:100%;font-size:10px;line-height:1.5;padding:2px 5px;background:#fffffff0}
.vpm-module .vpm-map-canvas .leaflet-control-attribution a{color:#2f6056;text-decoration:underline}
.vpm-module .vpm-map-canvas .leaflet-control-zoom a{color:#214d3d;background:#fff;font-size:23px;font-weight:400;width:36px;height:36px;line-height:36px}
.vpm-module .vpm-map-canvas img.leaflet-tile{max-width:none!important;max-height:none!important}
.vpm-module .vpm-map-feedback{font-size:11px;line-height:1.7;color:#859174;margin:9px 0}
.vpm-module .vpm-pin-icon{background:none;border:none}
.vpm-module .vpm-pin{position:relative;display:grid;place-items:center;width:36px;height:36px;background:var(--vpm-green);border:2px solid white;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);color:white;box-shadow:0 3px 10px #153e354d}
.vpm-module .vpm-pin>i,.vpm-module .vpm-pin>b{transform:rotate(45deg);font-size:13px;line-height:1}
.vpm-module .vpm-pin.has-promotion{background:var(--vpm-accent);color:#264d1e}
.vpm-module .vpm-pin-icon:focus-visible .vpm-pin{outline:3px solid #182e24;outline-offset:3px}
.vpm-module .vpm-map-popup{font-family:inherit;min-width:0;overflow-wrap:anywhere}
.vpm-module .vpm-map-popup article+article{border-top:1px solid var(--vpm-line);padding-top:14px;margin-top:16px}
.vpm-module .vpm-map-popup img{display:block;width:100%;height:115px;object-fit:cover;border-radius:6px}
.vpm-module .vpm-map-popup h3{font-size:16px;line-height:1.45;margin:6px 0;color:var(--vpm-green)}
.vpm-module .vpm-map-popup h3 a{color:inherit}
.vpm-module .vpm-map-popup p{margin:7px 0;line-height:1.6}
.vpm-module .vpm-map-popup .vpm-popup-type{font-size:10px;color:#7c8e68}
.vpm-module .vpm-popup-stars{display:flex;gap:3px;font-size:11px;color:var(--vpm-accent)}
.vpm-module .vpm-map-popup .vpm-popup-address{font-size:11px;color:#718362}
.vpm-module .vpm-map-popup .vpm-popup-benefit{font-size:11px;color:#58772f;font-weight:600}
.vpm-module .vpm-map-popup .vpm-popup-link{display:block;font-size:12px;font-weight:600;color:#355d30;padding:8px 0;min-height:36px;text-decoration:underline}
.vpm-module .vpm-map-canvas .leaflet-popup-content{margin:15px;line-height:1.5}
.vpm-module .vpm-map-index{border:1px solid var(--vpm-line);background:white;border-radius:8px;margin-top:17px;overflow:hidden}
.vpm-module .vpm-map-index summary{padding:14px;font-size:12px;cursor:pointer;line-height:1.6;color:#526b3e}
.vpm-module .vpm-map-index ul{list-style:none;margin:0;padding:0 16px 10px;max-height:320px;overflow:auto}
.vpm-module .vpm-map-index li{border-top:1px solid var(--vpm-line);padding:10px 0;display:flex;gap:3px;flex-direction:column}
.vpm-module .vpm-map-index li a{font-size:13px;color:#3f6339;padding:4px 0;overflow-wrap:anywhere}
.vpm-module .vpm-map-index li span{font-size:10px;color:#829171}
@media(max-width:760px){.vpm-module .vpm-map-canvas{height:480px;height:min(65dvh,540px);min-height:340px}.vpm-module .vpm-view-switch{justify-content:stretch}.vpm-module .vpm-view-button{flex:1;min-height:44px}.vpm-module .vpm-map-summary span{display:block}.vpm-module .vpm-fit-map{min-height:44px}.vpm-module .vpm-map-canvas .leaflet-control-attribution{font-size:9px}.vpm-module .vpm-map-actions p{font-size:12px}}


/* Fixed label box: Helix's max-width:100% collapses absolute tooltip panes to 2px. */
.vpm-module .vpm-map-canvas{container-type:inline-size;container-name:vpmmap}
.vpm-module .leaflet-tooltip.vpm-map-name{display:block;position:absolute;left:0;right:auto;top:0;bottom:auto;z-index:auto;box-sizing:border-box;width:160px;min-width:160px;max-width:none;height:auto;margin:0;padding:0;border:1px solid #d5dfca;border-radius:6px;background:#fffffff5;color:var(--vpm-green);box-shadow:0 2px 8px #1c432623;font-family:inherit;font-size:12px;font-weight:600;line-height:1.1;white-space:normal;pointer-events:auto;text-align:center}
.vpm-module .vpm-map-name.leaflet-tooltip-bottom{margin:0}
.vpm-module .vpm-map-name::before{display:none}
.vpm-module .vpm-map-names{width:100%;max-width:none;margin:0;padding:0;text-align:center}
.vpm-module .vpm-map-names a{display:block;margin:0;padding:3px 9px;min-height:24px;color:var(--vpm-green);white-space:normal;overflow-wrap:anywhere;text-decoration:none;font:inherit;line-height:1.1;text-align:center}
.vpm-module .vpm-map-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:2.2em;margin:0;padding:0;white-space:normal;overflow-wrap:anywhere;font:inherit;line-height:1.1;text-align:center}
.vpm-module .vpm-map-names a+a{border-top:1px solid var(--vpm-line)}
.vpm-module .vpm-map-names a:hover{color:#325b26;background:#f1f6e8;text-decoration:underline}
.vpm-module .vpm-map-names a:focus-visible{outline:3px solid var(--vpm-accent);outline-offset:1px;border-radius:4px}
@media(max-width:760px){.vpm-module .leaflet-tooltip.vpm-map-name{width:150px;min-width:150px}.vpm-module .vpm-map-names a{padding:3px 8px;min-height:24px}}

/* Photo detail link: navigation with an animated switch appearance. */
.vpm-module .vpm-card-photo>a.vpm-photo-detail{position:absolute;inset:auto 14px 14px auto;z-index:2;width:auto;height:auto;max-width:calc(100% - 28px);display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;border:2px solid #fff;border-radius:999px;padding:7px 16px;min-height:48px;background:rgba(0,0,0,.25);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 2px 8px #0002}
.vpm-module .vpm-card-photo>a.vpm-photo-detail.has-icon{padding:5px}
.vpm-module .vpm-photo-detail-text{font-size:13px;font-weight:600;line-height:1.3;overflow-wrap:anywhere;text-shadow:0 1px 3px #0009}
.vpm-module .has-icon .vpm-photo-detail-text{padding-left:12px}
.vpm-module .vpm-photo-switch{display:block;position:relative;width:108px;height:48px;flex:0 0 108px}
.vpm-module .vpm-photo-switch-knob{position:absolute;left:0;top:0;width:60px;height:48px;border-radius:999px;background:#fff;color:#3e532a;display:grid;place-items:center;transition:transform .3s ease,background-color .3s ease,color .3s ease}
.vpm-module .vpm-photo-detail:hover,.vpm-module .vpm-photo-detail:focus-visible{color:#fff;border-color:#fff}
.vpm-module .vpm-photo-detail:hover .vpm-photo-switch-knob,.vpm-module .vpm-photo-detail:focus-visible .vpm-photo-switch-knob{transform:translateX(48px);background:var(--vpm-accent);color:#fff}
.vpm-module .vpm-photo-detail:focus-visible{outline:3px solid var(--vpm-accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.vpm-module .vpm-photo-switch-knob{transition:none}}

/* 1.2.6: icon button at 50% of its original dimensions. */
.vpm-module .vpm-card-photo>a.vpm-photo-detail.has-icon{border-width:1px;padding:2.5px;min-height:0;gap:5px}
.vpm-module .vpm-photo-switch{width:54px;height:24px;flex-basis:54px}
.vpm-module .vpm-photo-switch-knob{width:30px;height:24px}
.vpm-module .vpm-photo-switch-knob svg{width:14px;height:14px}
.vpm-module .vpm-photo-detail:hover .vpm-photo-switch-knob,.vpm-module .vpm-photo-detail:focus-visible .vpm-photo-switch-knob{transform:translateX(24px)}

.vpm-module .vpm-map-actions{display:flex;justify-content:flex-end;padding:12px 23px 0}.vpm-module .vpm-directions{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--vpm-green);color:#fff!important;border-radius:6px;padding:11px 18px;font:inherit;font-size:14px;font-weight:600;text-decoration:none;min-height:44px}.vpm-module .vpm-directions:hover{background:#2e5c49}.vpm-module .vpm-directions i{color:var(--vpm-accent)}.vpm-module .vpm-directions[hidden]{display:none!important}

/* Circuitos: barra superior y tarjetas sin panel lateral. */
.vpm-module.vpm-circuitos .vpm-layout {
    grid-template-columns: minmax(0, 1fr);
}
.vpm-module.vpm-circuitos .vpmm-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 250px);
    gap: 16px;
    align-items: stretch;
}
.vpm-module.vpm-circuitos .vpmm-locality {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 7px 14px;
    border: 1px solid var(--vpm-line, #dfe6d7);
    border-radius: 9px;
    background: #ffffff;
}
.vpm-module.vpm-circuitos .vpmm-locality label {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
}
.vpm-module.vpm-circuitos .vpmm-locality select {
    width: 100%;
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 4px 24px 4px 0;
    background-color: transparent;
    color: inherit;
    font: inherit;
}
.vpm-module.vpm-circuitos .vpm-card-photo > a.vpm-photo-detail {
    right: auto;
    left: 14px;
}
@media (max-width: 640px) {
    .vpm-module.vpm-circuitos .vpmm-search-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* 1.1.0: tipo y localidad junto a la búsqueda. */
.vpm-module.vpm-circuitos .vpmm-search-row {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 210px) minmax(170px, 230px);
}
@media (max-width: 800px) {
    .vpm-module.vpm-circuitos .vpmm-search-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .vpm-module.vpm-circuitos .vpm-search {
        grid-column: 1 / -1;
    }
}
@media (max-width: 480px) {
    .vpm-module.vpm-circuitos .vpmm-search-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Circuitos: una sola barra de búsqueda a todo el ancho. */
.vpm-module.vpm-circuitos .vpmm-search-row {
    grid-template-columns: minmax(0, 1fr);
}
