/* Artistry Studio 1.6.3 (map 1.6.0: mode switch + map search overlay; 1.5.0 premium layout): List / Map view. Gallery Warm.
   Desktop: results left, sticky framed map right (within 1344). Tablet: map over grid. Mobile: full-bleed map + card carousel. */
.ab-mapv{--i:#17140F;--p:#FAF7F1;--b:#F1EBE0;--l:#E4DBCC;--m:#5B544A;--c:#9B2C1F;--br:#7A5C24;--bl:#C9A86A;--r:16px;
 --sh:0 1px 2px rgba(23,20,15,.06),0 10px 24px -12px rgba(23,20,15,.22),0 30px 60px -30px rgba(74,52,20,.28);
 --hd:var(--ab-hd-h,80px);max-width:1344px;margin:28px auto 0;font-family:var(--ab-sans,Inter,system-ui,sans-serif);position:relative}
.ab-mapv-hidden{display:none!important}
.ab-mapv *{box-sizing:border-box}
/* bar: count + segmented tabs */
.ab-mapv__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--l)}
.ab-mapv__count{margin:0;font:400 15px/1.4 var(--ab-sans,Inter,sans-serif);color:var(--m)}
.ab-mapv__count b{font:500 italic 26px/1 var(--ab-display,"Cormorant Garamond",Georgia,serif);color:var(--i);margin-right:6px;letter-spacing:-.01em}
.ab-mapv__toggle{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--l);border-radius:999px;background:var(--p);box-shadow:0 1px 2px rgba(23,20,15,.05)}
.ab-mapv__toggle button{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--ab-sans,Inter,sans-serif)!important;letter-spacing:.14em;text-transform:uppercase;padding:0 20px!important;min-height:38px;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--m)!important;cursor:pointer;transition:background .2s,color .2s}
.ab-mapv__toggle button:hover{color:var(--i)!important}
.ab-mapv__toggle button[aria-pressed=true]{background:var(--i)!important;color:var(--p)!important;box-shadow:0 2px 6px -2px rgba(23,20,15,.4)}
.ab-mapv__toggle button:focus-visible{outline:2px solid var(--c);outline-offset:2px}
.ab-mapv__ico{width:14px;height:14px;flex:0 0 14px}
/* panel */
.ab-mapv__panel{margin-top:24px}
.ab-mapv__stage{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--l);box-shadow:var(--sh);background:var(--b);isolation:isolate}
.ab-mapv__map{height:620px;background:var(--b)}
.ab-mapv.is-loading .ab-mapv__map{opacity:.85;transition:opacity .2s}
/* muted warm tiles (OSM standard, CSS-toned; no extra tile provider) */
.ab-mapv__map .leaflet-tile-pane{filter:grayscale(.55) sepia(.38) saturate(.7) brightness(1.06) contrast(.9) hue-rotate(-6deg)}
.ab-mapv__map .leaflet-container,.ab-mapv__map.leaflet-container{font-family:var(--ab-sans,Inter,sans-serif);background:var(--b)}
/* controls */
.ab-mapv__map .leaflet-top.leaflet-right .leaflet-control{margin:16px 16px 0 0}
.ab-mapv__map .leaflet-bar{border:1px solid var(--l)!important;border-radius:12px;overflow:hidden;box-shadow:0 6px 16px -8px rgba(23,20,15,.35)}
.ab-mapv__map .leaflet-bar a{width:36px;height:36px;line-height:34px;font:400 20px/34px var(--ab-sans,Inter,sans-serif);color:var(--i);background:var(--p);border-bottom:1px solid var(--l);transition:background .15s}
.ab-mapv__map .leaflet-bar a:last-child{border-bottom:0}
.ab-mapv__map .leaflet-bar a:hover{background:var(--b);color:var(--i)}
.ab-mapv__map .leaflet-bar a:focus-visible{outline:2px solid var(--c);outline-offset:-2px}
.ab-mapv__map .leaflet-bar a.leaflet-disabled{color:#B8AF9F;background:var(--p)}
.ab-mapv__map .leaflet-control-attribution{margin:0 10px 10px 0!important;padding:3px 9px;border-radius:999px;font:400 10.5px/1.4 var(--ab-sans,Inter,sans-serif);background:rgba(250,247,241,.88);color:var(--m);backdrop-filter:blur(4px)}
.ab-mapv__map .leaflet-control-attribution a{color:var(--i);text-decoration:none}
.ab-mapv__map .leaflet-control-attribution a:hover{text-decoration:underline}
/* Search this area: floating pill */
.ab-mapv__area{position:absolute;z-index:500;top:16px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--ab-sans,Inter,sans-serif)!important;letter-spacing:.02em;padding:12px 20px!important;background:var(--p)!important;color:var(--i)!important;border:1px solid var(--l)!important;border-radius:999px!important;cursor:pointer;box-shadow:0 10px 28px -10px rgba(23,20,15,.45),0 2px 4px rgba(23,20,15,.08);transition:transform .2s,box-shadow .2s,background .2s;animation:abIn .25s ease-out}
.ab-mapv__area[hidden]{display:none!important}
.ab-mapv__area::before{content:"";width:13px;height:13px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") center/contain no-repeat}
.ab-mapv__area:hover,.ab-mapv__area:focus-visible{background:var(--i)!important;color:var(--p)!important;transform:translateX(-50%) translateY(-1px)}
.ab-mapv__area:focus-visible{outline:2px solid var(--c);outline-offset:3px}
@keyframes abIn{from{opacity:0;transform:translateX(-50%) translateY(-6px)}}
/* price pins */
.ab-mk{background:transparent;border:0;width:0!important;height:0!important}
.ab-mk span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:inline-flex;align-items:center;white-space:nowrap;height:30px;padding:0 12px;border-radius:999px;background:var(--p);color:var(--i);font:600 13px/1 var(--ab-sans,Inter,sans-serif);letter-spacing:.005em;font-variant-numeric:tabular-nums;box-shadow:0 0 0 1px rgba(23,20,15,.14),0 4px 10px -3px rgba(23,20,15,.35);transition:transform .18s cubic-bezier(.2,.8,.3,1.3),background .18s,color .18s,box-shadow .18s}
.ab-mk:hover span,.ab-mk.is-hl span,.ab-mk.is-active span{background:var(--i);color:var(--p);transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 1px var(--i),0 8px 18px -6px rgba(23,20,15,.55)}
.ab-mk.is-hl,.ab-mk.is-active{z-index:1000!important}
.ab-mk:focus{outline:none}.ab-mk:focus-visible span{box-shadow:0 0 0 2px var(--p),0 0 0 4px var(--c)}
.ab-cl{background:transparent}
.ab-cl span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bl);color:var(--i);font:700 14px/1 var(--ab-sans,Inter,sans-serif);border:3px solid var(--p);box-shadow:0 0 0 1px rgba(122,92,36,.5),0 0 0 7px rgba(201,168,106,.25),0 6px 14px -4px rgba(23,20,15,.4);transition:transform .18s}
.ab-cl:hover span,.ab-cl.is-hl span{transform:scale(1.1);background:var(--i);color:var(--bl)}
.ab-cl:focus{outline:none}.ab-cl:focus-visible span{box-shadow:0 0 0 2px var(--p),0 0 0 4px var(--c)}
/* travel radius (1.6.1) */
/* 1.6.3: visible by default and faded in by a keyframe on insertion, so it never depends on a class being added later. */
.ab-mapv__map path.ab-rad{opacity:1;pointer-events:none;animation:abRadIn .25s ease-out both}
.ab-mapv__map .leaflet-abRadius-pane svg{max-width:none!important;max-height:none!important;overflow:visible}
@keyframes abRadIn{from{opacity:0}to{opacity:1}}
/* bubble */
.ab-mapv .ab-pop .leaflet-popup-content-wrapper{border-radius:var(--r,16px);padding:0;overflow:hidden;background:#FAF7F1;border:0;box-shadow:0 0 0 1px rgba(23,20,15,.08),0 24px 48px -16px rgba(23,20,15,.45)}
.ab-mapv .ab-pop .leaflet-popup-content{margin:0;width:268px!important;line-height:1.4}
.ab-mapv .ab-pop .leaflet-popup-tip{background:#FAF7F1;box-shadow:none}
.ab-mapv .ab-pop a.leaflet-popup-close-button{display:flex;align-items:center;justify-content:center;color:#17140F;background:rgba(250,247,241,.94);width:30px;height:30px;border-radius:50%;font:400 20px/1 Inter,sans-serif;top:10px;right:10px;z-index:2;box-shadow:0 2px 8px -2px rgba(23,20,15,.4);transition:transform .15s}
.ab-mapv .ab-pop a.leaflet-popup-close-button:hover{transform:scale(1.06);color:#9B2C1F}
.ab-mapv .ab-pop a.leaflet-popup-close-button:focus-visible{outline:2px solid #9B2C1F;outline-offset:2px}
.ab-pin__img{aspect-ratio:4/3;overflow:hidden;background:#F1EBE0}
.ab-pin__img img{width:100%;height:100%;object-fit:cover;display:block}
.ab-pin__b{padding:16px 18px 18px}
.ab-pin__k{display:block;margin:0 0 6px!important;font:600 13px/1.2 var(--ab-sans,Inter,sans-serif);font-variant-caps:all-small-caps;letter-spacing:.1em;color:#7A5C24}
.ab-pin__t{margin:0!important;font:500 24px/1.08 var(--ab-display,"Cormorant Garamond",Georgia,serif)!important;letter-spacing:-.01em;color:#17140F}
.ab-pin__m{display:flex;flex-direction:column;gap:3px;margin:10px 0 0!important;font:400 13.5px/1.4 var(--ab-sans,Inter,sans-serif);color:#5B544A}
.ab-pin__m b{font-weight:600;color:#17140F;font-size:15px}
.ab-pin__m:empty{display:none}
.ab-pin__go{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;min-height:42px;border-radius:999px;font:600 12px/1 var(--ab-sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#FAF7F1!important;background:#17140F;text-decoration:none!important;transition:background .2s}
.ab-pin__go:hover,.ab-pin__go:focus-visible{background:#9B2C1F}
.ab-pin__go:focus-visible{outline:2px solid #9B2C1F;outline-offset:2px}
/* result cards */
.ab-mapv__cards{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ab-mapv__card a{display:flex;flex-direction:column;text-decoration:none;color:var(--i);height:100%;border-radius:12px;transition:transform .2s}
.ab-mapv__card img,.ab-mapv__ph{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--b);border-radius:12px;box-shadow:0 0 0 1px rgba(23,20,15,.06);transition:box-shadow .25s,transform .25s}
.ab-mapv__card a:hover img,.ab-mapv__card a:focus-visible img,.ab-mapv__card.is-hl img{box-shadow:0 0 0 1px rgba(23,20,15,.1),0 16px 30px -14px rgba(23,20,15,.45);transform:translateY(-2px)}
.ab-mapv__card a:focus-visible{outline:2px solid var(--c);outline-offset:4px}
.ab-mapv__card.is-hl strong{color:var(--c)}
.ab-mapv__ct{display:flex;flex-direction:column;gap:4px;padding:12px 2px 4px}
.ab-mapv__ct .ab-pin__k{margin:0!important}
.ab-mapv__ct strong{font:500 21px/1.15 var(--ab-display,"Cormorant Garamond",Georgia,serif);transition:color .2s}
.ab-mapv__ct em{font:400 14px/1.4 var(--ab-sans,Inter,sans-serif);font-style:normal;color:var(--m)}
.ab-mapv__pr{font:600 14px/1.4 var(--ab-sans,Inter,sans-serif);margin-top:2px}
.ab-mapv__list{display:none}
/* desktop split */
@media (min-width:1100px){
 .ab-mapv.is-map .ab-mapv__panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"cards stage";gap:32px;align-items:start}
 .ab-mapv.is-map .ab-mapv__panel[hidden]{display:none}
 .ab-mapv.is-map .ab-mapv__stage{grid-area:stage;position:sticky;top:calc(var(--hd) + 20px)}
 .admin-bar .ab-mapv.is-map .ab-mapv__stage{top:calc(var(--hd) + 52px)}
 .ab-mapv.is-map .ab-mapv__map{height:calc(100vh - var(--hd) - 44px);min-height:520px;max-height:860px}
 .ab-mapv.is-map .ab-mapv__cards{grid-area:cards;margin:0;grid-template-columns:repeat(2,1fr);gap:32px 24px}
}
@media (max-width:1099px){.ab-mapv__map{height:540px}.ab-mapv__cards{grid-template-columns:repeat(2,1fr)}}
/* mobile: full-bleed map + carousel */
@media (max-width:767px){
 .ab-mapv{margin-top:20px}
 .ab-mapv__bar{flex-wrap:wrap;border-bottom:0;padding-bottom:12px}
 .ab-mapv__toggle{width:100%}.ab-mapv__toggle button{flex:1;justify-content:center}.ab-mapv__count{order:2}
 .ab-mapv__panel{position:relative;margin:0 calc(50% - 50vw)}
 .ab-mapv__stage{border-radius:0;border-left:0;border-right:0;box-shadow:none}
 .ab-mapv__map{height:calc(100svh - 150px);min-height:440px;max-height:760px}
 .ab-mapv__cards{position:absolute;z-index:600;left:0;right:0;bottom:16px;margin:0;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 16px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .ab-mapv__cards::-webkit-scrollbar{display:none}
 .ab-mapv__card{flex:0 0 82%;scroll-snap-align:center}
 .ab-mapv__card a{flex-direction:row;background:var(--p);border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(23,20,15,.06),0 14px 30px -12px rgba(23,20,15,.45)}
 .ab-mapv__card img,.ab-mapv__ph{width:104px;flex:0 0 104px;aspect-ratio:auto;height:auto;min-height:112px;border-radius:0;box-shadow:none}
 .ab-mapv__card a:hover img,.ab-mapv__card.is-hl img{transform:none;box-shadow:none}
 .ab-mapv__card.is-hl a{box-shadow:0 0 0 2px var(--i),0 14px 30px -12px rgba(23,20,15,.45)}
 .ab-mapv__ct{padding:12px 14px;justify-content:center;min-width:0}
 .ab-mapv__ct strong{font-size:19px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
 .ab-mapv__list{display:inline-flex;position:absolute;z-index:650;left:50%;transform:translateX(-50%);bottom:184px;align-items:center;gap:8px;font:600 13px/1 var(--ab-sans,Inter,sans-serif)!important;padding:12px 18px!important;border:0!important;border-radius:999px!important;background:var(--i)!important;color:var(--p)!important;box-shadow:0 10px 24px -8px rgba(23,20,15,.6);cursor:pointer}
 .ab-mapv__list:focus-visible{outline:2px solid var(--c);outline-offset:3px}
 .ab-mapv__map .leaflet-bottom.leaflet-right{bottom:auto;top:0;right:auto;left:0}
 .ab-mapv__map .leaflet-control-attribution{margin:10px 0 0 10px!important}
 .ab-mapv__area{top:64px}
 .ab-mapv.has-pop .ab-mapv__area{opacity:0;pointer-events:none}
 .ab-mapv .ab-pop .leaflet-popup-content{width:236px!important}
}
@media (prefers-reduced-motion:reduce){.ab-mapv *,.ab-pop *,.ab-mode *{transition:none!important;animation:none!important}.ab-mapv__map path.ab-rad{transition:none;animation:none;opacity:1}}

/* ---- 1.6.3: Search by form | Search by map (hero mode switch) ---- */
.ab-mode{--i:#17140F;--p:#FAF7F1;--l:#E4DBCC;--m:#5B544A;--c:#9B2C1F;position:relative;display:inline-grid;grid-template-columns:1fr 1fr;gap:0;padding:4px;margin:0 0 18px;border:1px solid var(--l);border-radius:999px;background:rgba(250,247,241,.92);box-shadow:0 1px 2px rgba(23,20,15,.05),0 8px 20px -14px rgba(23,20,15,.35);font-family:var(--ab-sans,Inter,system-ui,sans-serif);isolation:isolate}
.ab-mode::before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--i);box-shadow:0 2px 6px -2px rgba(23,20,15,.45);transition:transform .28s cubic-bezier(.3,.7,.2,1)}
.ab-mode[data-on=map]::before{transform:translateX(100%)}
.ab-mode button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 22px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--m)!important;font:600 12px/1 var(--ab-sans,Inter,sans-serif)!important;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .2s}
.ab-mode button:hover{color:var(--i)!important}
.ab-mode button[aria-checked=true]{color:var(--p)!important}
.ab-mode button:focus-visible{outline:2px solid var(--c);outline-offset:2px}
.ab-mode svg{width:14px;height:14px;flex:0 0 14px}
/* the old in-results toggle hands over to the hero switch; the count stays */
.ab-mapv.has-mode .ab-mapv__toggle{display:none}
.ab-mapv.has-mode .ab-mapv__bar{min-height:0}
body.ab-mode-map .ab-mapv.has-mode{margin-top:8px}
/* ---- 1.6.3: map search overlay (floating pill bar) ---- */
.ab-mapv__q{position:absolute;z-index:700;top:16px;left:16px;right:72px;display:flex;justify-content:center;pointer-events:none}
.ab-mapv__qpill{display:none}
.ab-mapv__qf{pointer-events:auto;display:flex;align-items:stretch;width:100%;max-width:640px;min-height:58px;padding:5px 5px 5px 0;border-radius:999px;background:var(--p);border:1px solid var(--l);box-shadow:0 14px 34px -14px rgba(23,20,15,.5),0 2px 6px rgba(23,20,15,.08)}
.ab-mapv__qx{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:6px 18px 6px 24px;border-radius:999px;transition:background .15s}
.ab-mapv__qx+.ab-mapv__qx::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:var(--l)}
.ab-mapv__qx:hover,.ab-mapv__qx:focus-within{background:var(--b)}
.ab-mapv__qx:hover::before,.ab-mapv__qx:focus-within::before,.ab-mapv__qx:hover+.ab-mapv__qx::before,.ab-mapv__qx:focus-within+.ab-mapv__qx::before{opacity:0}
.ab-mapv__qx--where{flex:1.5 1 0}.ab-mapv__qx--svc{flex:1.15 1 0}.ab-mapv__qx--dist{flex:.9 1 0}
.ab-mapv__qx label{margin:0 0 2px;font:700 10.5px/1.2 var(--ab-sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--i);cursor:pointer}
.ab-mapv__qx input,.ab-mapv__qx select{width:100%;min-width:0;height:auto!important;min-height:0!important;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0;font:400 14px/1.35 var(--ab-sans,Inter,sans-serif)!important;color:var(--i)!important;text-overflow:ellipsis;-webkit-appearance:none;appearance:none;cursor:pointer}
.ab-mapv__qx input{cursor:text}
.ab-mapv__qx input::placeholder{color:#8A8174;opacity:1}
.ab-mapv__qx select:disabled{color:#A9A091!important;cursor:not-allowed}
.ab-mapv__qx:focus-within{box-shadow:inset 0 0 0 2px var(--c)}
.ab-mapv__qgo{flex:0 0 48px;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-left:4px;padding:0!important;border:0!important;border-radius:50%!important;background:var(--c)!important;color:#FAF7F1!important;cursor:pointer;box-shadow:0 6px 14px -6px rgba(155,44,31,.7);transition:background .2s,transform .2s}
.ab-mapv__qgo svg{width:20px;height:20px}
.ab-mapv__qgo:hover{background:#7F2318!important;transform:scale(1.04)}
.ab-mapv__qgo:focus-visible{outline:2px solid var(--i);outline-offset:3px}
.ab-mapv__ql{position:absolute;z-index:5;top:calc(100% + 10px);left:0;width:max(100%,300px);max-height:320px;overflow:auto;list-style:none;margin:0;padding:8px;border-radius:20px;background:var(--p);border:1px solid var(--l);box-shadow:0 24px 48px -16px rgba(23,20,15,.45)}
.ab-mapv__ql[hidden]{display:none}
.ab-mapv__ql li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;cursor:pointer;font:400 14px/1.3 var(--ab-sans,Inter,sans-serif);color:var(--i)}
.ab-mapv__ql li:hover,.ab-mapv__ql li[aria-selected=true]{background:var(--b)}
.ab-mapv__ql mark{background:none;color:inherit;font-weight:700}
.ab-mapv__qlc{flex:1;min-width:0}
.ab-mapv__qlp{font:600 11px/1 var(--ab-sans,Inter,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--br)}
.ab-mapv__qli{flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--b) center/18px no-repeat;border:1px solid var(--l)}
.ab-mapv__qli--c{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317140F' stroke-width='1.8'><path d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z'/><circle cx='12' cy='10' r='2.3'/></svg>")}
.ab-mapv__qli--p{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317140F' stroke-width='1.6' stroke-linejoin='round'><path d='M3 6l6-2 6 2 6-2v14l-6 2-6-2-6 2z'/><path d='M9 4v14M15 6v14'/></svg>")}
/* Search this area sits under the overlay */
.ab-mapv.has-mode .ab-mapv__area,.ab-mapv__stage .ab-mapv__q~.ab-mapv__area{top:88px}
@media (max-width:1099px) and (min-width:768px){.ab-mapv__qx{padding-left:18px;padding-right:12px}}
/* mobile: collapsed pill that expands */
@media (max-width:767px){
 .ab-mode{display:grid;width:100%;margin-bottom:14px}
 .ab-mode button{padding:0 10px!important;letter-spacing:.1em;font-size:11.5px!important}
 .ab-mapv__q{top:12px;left:12px;right:12px;flex-direction:column;align-items:stretch}
 .ab-mapv__qpill{pointer-events:auto;display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 18px 8px 14px!important;border:1px solid var(--l)!important;border-radius:999px!important;background:var(--p)!important;color:var(--i)!important;text-align:left;cursor:pointer;box-shadow:0 12px 28px -12px rgba(23,20,15,.5),0 2px 6px rgba(23,20,15,.08)}
 .ab-mapv__qpill:focus-visible{outline:2px solid var(--c);outline-offset:2px}
 .ab-mapv__qico{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--c) center/17px no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF7F1' stroke-width='2.6' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.6-3.6'/></svg>")}
 .ab-mapv__qsum{display:flex;flex-direction:column;gap:2px;min-width:0}
 .ab-mapv__qsum b{font:600 14px/1.2 var(--ab-sans,Inter,sans-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .ab-mapv__qsum span{font:400 12.5px/1.2 var(--ab-sans,Inter,sans-serif);color:var(--m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .ab-mapv__qf{display:none;flex-direction:column;max-width:none;margin-top:10px;padding:8px;border-radius:24px;gap:2px}
 .ab-mapv.q-open .ab-mapv__qf{display:flex;animation:abQ .2s ease-out}
 .ab-mapv.q-open .ab-mapv__qpill{box-shadow:0 0 0 2px var(--i)}
 .ab-mapv__qx{padding:10px 16px;border-radius:16px;border:1px solid var(--l)}
 .ab-mapv__qx+.ab-mapv__qx::before{display:none}
 .ab-mapv__qx input,.ab-mapv__qx select{font-size:16px!important}
 .ab-mapv__qgo{width:100%;flex:0 0 auto;height:48px;margin:6px 0 0;border-radius:999px!important}
 .ab-mapv__qgo .screen-reader-text{position:static!important;width:auto;height:auto;clip:auto;clip-path:none;margin-left:8px;font:600 13px/1 var(--ab-sans,Inter,sans-serif);letter-spacing:.12em;text-transform:uppercase;overflow:visible}
 .ab-mapv__ql{width:100%;top:calc(100% + 6px)}
 .ab-mapv.has-mode .ab-mapv__area,.ab-mapv__stage .ab-mapv__q~.ab-mapv__area{top:82px}
 .ab-mapv.q-open .ab-mapv__area,.ab-mapv.q-open .leaflet-control-zoom{display:none!important}
 .ab-mapv.has-mode .ab-mapv__bar{padding-bottom:8px}
 .ab-mapv__map .leaflet-bottom.leaflet-right{top:auto;bottom:178px;left:auto;right:0}
 .ab-mapv__map .leaflet-control-attribution{margin:0 8px 0 0!important}
 .ab-mapv__map .leaflet-top.leaflet-right{top:72px}
}
@keyframes abQ{from{opacity:0;transform:translateY(-6px)}}

/* 1.6.4: the map shortcode widget sits inside the Elementor .ab-secnum header row.
   Give it its own full-width line so it never squeezes or overprints the 01 / SERVICES / How hiring works header. */
.ab-secnum:has(.ab-mapv){flex-wrap:wrap!important;row-gap:0}
.ab-secnum > .elementor-element:has(.ab-mapv){flex:0 0 100%!important;width:100%!important;max-width:100%!important;order:99;margin:0!important}
body:not(.ab-mode-map) .ab-secnum > .elementor-element:has(.ab-mapv){display:none!important}
.ab-secnum-r, .ab-secnum-r a{white-space:nowrap}
.ab-secnum > .ab-secnum-r{flex-shrink:0}
