/* Two phone rows: location + Search; distance + the nearby alternative. */
.spot-search{max-width:900px;margin:0 auto;text-align:left;position:relative;z-index:3;color:#254d41}
.spot-search-box{display:grid;grid-template-columns:minmax(80px,1fr) auto 84px;grid-template-rows:58px 54px;column-gap:12px;row-gap:26px;align-items:center;position:relative;padding:16px;border:1px solid #ffffffb3;border-radius:12px;background:#fff;box-shadow:0 16px 45px #082e2929}
.spot-search-box:after{content:'';position:absolute;left:16px;right:16px;top:50%;height:1px;background:#dce6dd;pointer-events:none}
.spot-search-main,.spot-search-footer{display:contents}
.spot-location{grid-column:1/3;grid-row:1;display:flex;align-items:center;min-width:0;gap:0}
.spot-location>.icon{display:none}
.spot-location-input{min-width:0;flex:1}
.spot-search label{display:block;font-size:.75rem;line-height:1.4;font-weight:600;letter-spacing:1px;color:#55705c;margin-bottom:5px}
.spot-location-entry{position:relative}
.spot-search input{display:block;width:100%;min-width:0;height:32px;padding:0;border:0;background:transparent;color:#284d3c;font-size:1rem;line-height:32px;letter-spacing:0;border-radius:0;outline:none;text-overflow:ellipsis}
.spot-search input::placeholder{color:#5b7362;opacity:1}
.spot-location:focus-within,.spot-distance:focus-within{outline:2px solid #7b9d81;outline-offset:5px;border-radius:3px}
.spot-distance{grid-column:1;grid-row:2;min-width:0}
.spot-search select{appearance:none;display:block;width:100%;max-width:136px;height:32px;padding:0 20px 0 0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23446650' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right center/12px 7px;border:0;outline:none;font-size:1rem;line-height:32px;cursor:pointer;color:#345d43}
.spot-search .spot-search-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;min-height:52px;padding:0 14px;border:1px solid transparent;border-radius:7px;font-size:1rem;line-height:1.4;font-weight:500;letter-spacing:0;white-space:nowrap;box-shadow:none}
.spot-search .spot-search-cta>span{font:inherit;letter-spacing:inherit;line-height:inherit}
.spot-search .spot-search-cta>.icon{width:20px;height:20px}
.spot-search .spot-search-primary{grid-column:3;grid-row:1;width:84px;padding:0 10px;background:#194f45;color:#fff;border-color:#194f45}
.spot-search .spot-search-primary>.icon{display:none}
.spot-search .spot-search-primary:hover{background:#123e36;border-color:#123e36}
.spot-search .spot-search-nearby{grid-column:2/4;grid-row:2;justify-self:end;background:#f0f6f1;color:#365e43;border-color:#c9dccd}
.spot-search .spot-search-nearby:hover{background:#e6f0e8;border-color:#b1cbb9}
.location-clear[hidden],.spot-suggestions[hidden]{display:none!important}
.location-clear{position:absolute;right:-5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:#436a4e;font-size:27px;line-height:1;background:#fff}
.location-clear:hover{background:#edf4ef;color:#285f46}
.spot-location-entry:has(.location-clear:not([hidden])) input{padding-right:39px}
.spot-suggestions{position:absolute;z-index:40;top:80px;left:12px;right:12px;max-height:min(380px,45dvh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #c8d9cb;border-radius:9px;box-shadow:0 14px 36px #143d3333;text-align:left;color:#284f42}
.spot-suggestions ul{list-style:none;margin:0;padding:5px}
.spot-suggestions li{margin:0;padding:0}
.spot-suggestions [role=option]{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;padding:12px 10px;text-align:left;border-radius:5px;line-height:1.5;color:#284f42}
.spot-suggestions [role=option]:hover,.spot-suggestions [aria-selected=true]{background:#edf4ef}
.spot-suggestions [role=option]>.icon{width:20px;height:20px;color:#537b5e}
.spot-suggestions [role=option]>.icon:last-child{width:18px;height:18px;margin-left:auto}
.spot-suggestions [role=option]>span{flex:1;min-width:0}
.spot-suggestions strong{display:block;font-size:1rem;font-weight:500;line-height:1.5}
.spot-suggestions small{display:block;font-size:.875rem;line-height:1.6;color:#55705b;margin-top:3px;white-space:normal}
.location-lookup-message{font-size:1rem;line-height:1.65;padding:16px;color:#506c54}
.location-lookup-credit{padding:10px 14px;border-top:1px solid #e0e8de;font-size:.75rem;line-height:1.6;color:#577154}
.location-lookup-credit a{text-decoration:underline;text-underline-offset:3px}
.search-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero:has(.spot-suggestions:not([hidden])){overflow:visible}
.hero-shell:has(.spot-suggestions:not([hidden])){z-index:20}
.spot-search-box{grid-template-rows:68px 68px;row-gap:20px}
.spot-search input,.spot-search select{height:44px;line-height:44px}
.spot-search{scroll-margin-top:16px}
.spot-suggestions{top:90px}
@media(min-width:768px){.spot-search-main>.spot-location,.spot-search-main>.spot-distance,.spot-search-main>.spot-search-primary{grid-column:auto;grid-row:auto}}
@media(max-width:374px){.spot-search-box{grid-template-columns:minmax(80px,1fr) auto 76px;column-gap:8px;padding:14px}.spot-search-box:after{left:14px;right:14px}.spot-search .spot-search-cta{font-size:.875rem;padding:0 11px}.spot-search .spot-search-primary{width:76px}.spot-search .spot-search-nearby>.icon{display:none}}
@media(min-width:768px){.spot-search-box{display:block;padding:18px}.spot-search-box:after{display:none}.spot-search-main{display:grid;grid-template-columns:minmax(0,1fr) 132px 124px;gap:18px;align-items:center;padding-bottom:16px}.spot-location{padding:0 8px;gap:12px}.spot-location>.icon{display:block;width:23px;height:23px;color:#66856c}.spot-distance{padding:0 16px;border-left:1px solid #d9e4d9}.spot-search .spot-search-primary{width:100%}.spot-search .spot-search-primary>.icon{display:block}.spot-search-footer{display:flex;border-top:1px solid #e0e8dd;padding-top:14px}.spot-suggestions{top:83px;left:18px;right:auto;width:min(520px,calc(100% - 36px))}.spot-search .spot-search-cta{padding-left:18px;padding-right:18px}}

/* Desktop: both search actions share one row. Phones keep the two-row grid. */
@media(min-width:1024px){
 .spot-search{max-width:1060px}
 .spot-search-box{display:grid;grid-template-columns:minmax(220px,1fr) 112px 124px auto;grid-template-rows:minmax(68px,auto);gap:16px;padding:18px 20px}
 .spot-search-main,.spot-search-footer{display:contents}
 .spot-search-main>.spot-location{grid-column:1;grid-row:1}
 .spot-search-main>.spot-distance{grid-column:2;grid-row:1;padding:0 12px}
 .spot-search-main>.spot-search-primary{grid-column:3;grid-row:1}
 .spot-search .spot-search-nearby{grid-column:4;grid-row:1;justify-self:stretch;padding:0 16px}
 .spot-suggestions{top:calc(100% - 4px);left:20px;width:min(520px,calc(100% - 40px))}
}
