.op-nearby{--op-accent:#CD9368;--op-ink:#161616;--op-muted:#6d6d6d;font-family:Inter,'Work Sans',sans-serif;width:100%;color:var(--op-ink);padding:70px max(24px,5vw) 85px;background:transparent;box-sizing:border-box}
.op-nearby *, .op-nearby *::before, .op-nearby *::after{box-sizing:border-box}
.op-nearby__heading{text-align:center;margin:0 auto 35px;max-width:770px}
.op-nearby__eyebrow{font-size:12px;letter-spacing:.23em;font-weight:500;margin:0 0 12px;color:var(--op-accent);text-transform:uppercase}
.op-nearby__heading h2{font-family:'Boris',Georgia,serif;font-weight:400;font-size:clamp(38px,3.5vw,72px);line-height:1.1;margin:0 0 15px;color:var(--op-ink)}
.op-nearby__intro{font-weight:300;color:var(--op-muted);line-height:1.65;font-size:15px;margin:0}
.op-nearby__filters{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:0 0 24px}
.op-nearby__filter{appearance:none;border:1px solid #d9d5d0!important;background:transparent!important;color:#242424!important;border-radius:30px!important;padding:11px 21px!important;font-family:inherit;font-size:12px!important;font-weight:500!important;letter-spacing:.03em;line-height:1.2!important;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.op-nearby__filter:hover,.op-nearby__filter.is-active{background:var(--op-accent)!important;border-color:var(--op-accent)!important;color:white!important}
.op-nearby__filter:focus-visible,.op-nearby__card-focus:focus-visible,.op-nearby__directions:focus-visible{outline:2px solid var(--op-accent);outline-offset:3px}
.op-nearby__map-shell{height:clamp(340px,39vw,570px);position:relative;border:1px solid #e5e5e5;overflow:hidden;background:#eef1ed}
.op-nearby__map{height:100%;width:100%;z-index:0}
.op-nearby__map-label{position:absolute;z-index:500;top:19px;left:19px;display:flex;align-items:center;gap:9px;background:#fff;padding:12px 17px;box-shadow:0 7px 27px #00000016;font-size:12px;font-weight:600;max-width:calc(100% - 38px)}
.op-nearby__map-label-hint{font-weight:400;color:#777}
.op-nearby__map-dot{width:9px;height:9px;border-radius:50%;background:var(--op-accent);flex-shrink:0}
.op-nearby__pin-wrap{background:none;border:0}
.op-nearby__pin{display:block;width:27px;height:27px;background:var(--op-accent);border:5px solid white;border-radius:100% 100% 100% 0;transform:rotate(-45deg);box-shadow:0 0 0 7px rgba(205,147,104,.22),0 4px 16px #0007}
.op-nearby__home-pin{display:grid;place-items:center;width:35px;height:35px;border:3px solid white;background:#1b2a20;color:#fff;font-size:22px;border-radius:50%;box-shadow:0 3px 14px #0005}
.op-nearby__pin.is-highlighted{background:#935a36;box-shadow:0 0 0 11px rgba(205,147,104,.28),0 5px 20px #0008}
.op-nearby__map-error{padding:110px 25px;text-align:center;color:#666}
.op-nearby__cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px}
.op-nearby__card{border:1px solid #e6dfd7;min-width:0;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.op-nearby__card:hover,.op-nearby__card.is-selected{border-color:var(--op-accent);box-shadow:0 8px 22px #0000000a}
.op-nearby__card[hidden]{display:none!important}
.op-nearby__card-focus{appearance:none;display:flex;flex-direction:column;align-items:stretch;border:0!important;border-radius:0!important;width:100%;text-align:left;background:transparent!important;padding:0!important;color:inherit!important;cursor:pointer;flex:1}
.op-nearby__card-focus img,.op-nearby__card-placeholder{height:145px;width:100%;object-fit:cover;display:block}
.op-nearby__card-placeholder{background:#eeeae5;color:var(--op-accent);display:grid;place-items:center;font-size:45px}
.op-nearby__card-content{padding:17px 15px 10px;display:flex;flex-direction:column;gap:8px}
.op-nearby__category{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--op-accent);font-weight:600}
.op-nearby__card-name{font-size:15px;font-weight:550;line-height:1.38;color:var(--op-ink)}
.op-nearby__travel{font-size:11px;color:#555;font-weight:500}
.op-nearby__description{font-size:12px;line-height:1.7;color:#686868;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.op-nearby__directions{display:inline-flex;align-items:center;gap:8px;margin:7px 15px 17px;text-decoration:none!important;color:var(--op-ink)!important;font-size:12px;font-weight:600;border-bottom:1px solid var(--op-accent);padding-bottom:5px;transition:color .2s}
.op-nearby__directions:hover{color:var(--op-accent)!important}
@media(min-width:901px) and (max-width:1399px){.op-nearby__cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:900px){.op-nearby__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.op-nearby{padding:54px 24px 64px}.op-nearby__cards{gap:12px}}
@media(max-width:600px){.op-nearby{padding:45px 16px 52px}.op-nearby__heading{margin-bottom:24px}.op-nearby__heading h2{font-size:clamp(34px,9vw,46px)}.op-nearby__filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}.op-nearby__filter{white-space:nowrap;flex:0 0 auto}.op-nearby__map-shell{height:340px}.op-nearby__map-label{top:10px;left:10px;font-size:11px;padding:10px}.op-nearby__map-label-hint{display:none}.op-nearby__cards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-top:12px}.op-nearby__card{min-width:80%;max-width:80%;flex:0 0 80%;scroll-snap-align:start}.op-nearby__card-focus img,.op-nearby__card-placeholder{height:160px}}
@media(prefers-reduced-motion:reduce){.op-nearby *{transition:none!important;scroll-behavior:auto!important}}

/* v1.1 editorial refinements */
.op-nearby__heading h2{font-family:'Boris','CSBoris',Georgia,serif!important;text-transform:none!important;letter-spacing:-.025em}
.op-nearby__heading,.op-nearby__cards,.op-nearby__filters{font-family:Inter,Arial,sans-serif}
.op-nearby__card-content{min-height:142px}
.op-nearby__card-name{overflow-wrap:anywhere}
.op-nearby__card-placeholder{height:145px}
.op-nearby__pin-wrap{overflow:visible!important}
.op-nearby__pin{transition:background .2s,box-shadow .2s}
@media(min-width:1400px){.op-nearby__cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.op-nearby__card-content{min-height:142px}}

/* v1.2 - restrained luxury treatment and readable card excerpts */
.op-nearby__heading h2{ text-transform:none!important; }
.op-nearby__map-shell{border-radius:16px;isolation:isolate;}
.op-nearby__map-label{border-radius:8px;}
.op-nearby__cards{align-items:stretch;}
.op-nearby__card{border-radius:13px;}
.op-nearby__card-focus img,.op-nearby__card-placeholder{border-radius:12px 12px 0 0;}
.op-nearby__card-content{padding-bottom:7px;min-height:0;}
.op-nearby__description-area{padding:0 15px 8px;}
.op-nearby__description{font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.7;letter-spacing:.005em;color:#777;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:normal;word-break:normal;hyphens:none;}
.op-nearby__description-area.is-expanded .op-nearby__description{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset;}
.op-nearby__readmore{appearance:none;background:transparent!important;color:#916b50!important;border:0!important;padding:5px 0 0!important;font:500 11px/1.5 Inter,Arial,sans-serif!important;cursor:pointer;text-align:left;text-decoration:none!important;}
.op-nearby__readmore:hover{text-decoration:underline!important;}
.op-nearby__readmore:focus-visible{outline:2px solid #CD9368;outline-offset:3px;}
.op-nearby__readmore[hidden]{display:none!important;}
.op-nearby__directions{margin-top:auto;padding-top:8px;}

/* v1.3 — sophisticated map label and accessible carousel */
.op-nearby__map-label{left:auto!important;right:19px;top:19px;background:rgba(20,27,25,.91)!important;color:#fff!important;border:1px solid rgba(255,255,255,.19);border-radius:9px;padding:13px 18px;box-shadow:0 12px 30px rgba(0,0,0,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.op-nearby__map-label-hint{color:rgba(255,255,255,.78)!important}
.op-nearby__map-dot{box-shadow:0 0 0 4px rgba(205,147,104,.2)}
.op-nearby__carousel{margin-top:20px;min-width:0}
.op-nearby__cards{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:calc((100% - 56px)/5);gap:14px;margin-top:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding:1px 1px 12px;align-items:stretch}
.op-nearby__cards::-webkit-scrollbar{display:none}
.op-nearby__card{width:100%;min-width:0!important;max-width:none!important;flex:none!important;scroll-snap-align:start;scroll-snap-stop:normal;box-shadow:none}
.op-nearby__carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:7px}
.op-nearby__carousel-status{font:500 12px/1.4 Inter,Arial,sans-serif;color:#6c665f;font-variant-numeric:tabular-nums}
.op-nearby__carousel-buttons{display:flex;gap:9px;margin-left:auto}
.op-nearby__carousel-buttons button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d7cbc1!important;border-radius:50%!important;background:transparent!important;color:#292522!important;font-size:20px!important;font-family:Inter,Arial,sans-serif!important;padding:0!important;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.op-nearby__carousel-buttons button:hover:not(:disabled){background:#CD9368!important;border-color:#CD9368!important;color:white!important}
.op-nearby__carousel-buttons button:disabled{opacity:.35;cursor:not-allowed}
.op-nearby__carousel-buttons button:focus-visible{outline:2px solid #CD9368;outline-offset:3px}
@media (min-width:901px) and (max-width:1399px){.op-nearby__cards{grid-auto-columns:calc((100% - 42px)/4)}}
@media (min-width:601px) and (max-width:900px){.op-nearby__cards{grid-auto-columns:calc((100% - 12px)/2)}}
@media (max-width:600px){.op-nearby__carousel{margin-top:12px}.op-nearby__cards{display:grid!important;grid-auto-columns:86%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px 1px 12px}.op-nearby__map-label{left:auto!important;right:10px;top:10px;max-width:calc(100% - 20px);padding:11px 12px}.op-nearby__carousel-buttons button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.op-nearby__cards{scroll-behavior:auto!important}}

/* v1.4 — destination card and property marker refinements */
.op-nearby__home-pin{width:48px;height:48px;display:grid;place-items:center;background:#4C4336;border:3px solid var(--op-accent);border-radius:50%;box-shadow:0 0 0 7px rgba(205,147,104,.22),0 7px 22px rgba(0,0,0,.33);overflow:hidden}
.op-nearby__home-pin img{display:block;width:27px;height:27px;object-fit:contain}
.op-nearby__image-wrap{position:relative;display:block;width:100%;overflow:hidden;flex-shrink:0}
.op-nearby__image-wrap img,.op-nearby__image-wrap .op-nearby__card-placeholder{display:block;width:100%;height:145px;object-fit:cover}
.op-nearby__time-badge{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 24px);padding:7px 11px;border:1px solid rgba(255,255,255,.94);border-radius:30px;color:#fff!important;background:rgba(23,28,29,.43);-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:0 4px 16px rgba(0,0,0,.12);font:600 11px/1.2 Inter,Arial,sans-serif;white-space:normal;text-align:center;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.op-nearby__card-name{font-family:'Boris','CSBoris',Georgia,serif!important;font-size:clamp(17px,1.15vw,22px)!important;font-weight:400!important;line-height:1.25!important;letter-spacing:0;overflow-wrap:anywhere}
.op-nearby__directions{align-self:flex-start;display:inline-flex!important;align-items:center;justify-content:center;gap:9px;margin:8px 15px 17px!important;padding:11px 15px!important;background:#CD9368!important;color:#fff!important;border:1px solid #CD9368!important;border-radius:7px!important;font:600 11px/1.35 Inter,Arial,sans-serif!important;text-decoration:none!important;box-shadow:none!important;transition:background .2s,border-color .2s,transform .2s!important}
.op-nearby__directions:hover{background:#ad7650!important;border-color:#ad7650!important;color:#fff!important;transform:translateY(-1px)}
.op-nearby__directions:focus-visible{outline:2px solid #1c2921!important;outline-offset:3px}
.op-nearby__directions span{font-size:15px;line-height:1}
@media(max-width:600px){.op-nearby__image-wrap img,.op-nearby__image-wrap .op-nearby__card-placeholder{height:160px}.op-nearby__card-name{font-size:19px!important}}


/* v1.4.2 — property marker refined to a premium pin shape */
.op-nearby__home-pin{position:relative;display:block!important;width:52px;height:52px;background:#2B2119!important;border:3px solid #B98763!important;border-radius:100% 100% 100% 0!important;transform:rotate(-45deg);box-shadow:0 0 0 7px rgba(185,135,99,.20),0 10px 24px rgba(0,0,0,.34)!important;overflow:visible!important}
.op-nearby__home-pin::after{content:"";position:absolute;inset:-1px;border-radius:100% 100% 100% 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);pointer-events:none}
.op-nearby__home-pin-inner{position:absolute;inset:7px;display:grid;place-items:center;background:#3A2D22;border:1px solid rgba(255,255,255,.10);border-radius:50%;transform:rotate(45deg);overflow:hidden}
.op-nearby__home-pin img{display:block!important;width:25px!important;height:25px!important;object-fit:contain;filter:brightness(0) invert(1)}


/* v1.4.3 — branded directions SVG, replacing the text arrow */
.op-nearby .op-nearby__directions-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 17px;line-height:1}
.op-nearby .op-nearby__directions-icon img{display:block;width:17px;height:17px;max-width:none;object-fit:contain;filter:brightness(0) invert(1);transition:transform .2s ease}
.op-nearby .op-nearby__directions:hover .op-nearby__directions-icon img{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.op-nearby .op-nearby__directions-icon img{transition:none!important}}
