.spot-guide,.dining-guide{position:relative}
.spot-guide>button:not(.checkin-action),.dining-toggle{position:relative;isolation:isolate;min-height:88px;padding-right:112px!important;overflow:hidden}
.checkin-bg{position:absolute!important;inset:0!important;z-index:-2;display:block;background:center/cover;filter:grayscale(1);opacity:.75;transition:filter .8s ease,opacity .8s ease;pointer-events:none}
.spot-guide>button:not(.checkin-action):after,.dining-toggle:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffffed,#ffffffcc 60%,#ffffff8c);pointer-events:none}
.spot-guide>button>span:not(.checkin-bg),.dining-toggle>span:not(.checkin-bg){position:relative}
.checkin-done .checkin-bg{filter:grayscale(0);opacity:.9}
.checkin-done>.dining-toggle:after,.checkin-done>button:first-child:after{background:linear-gradient(90deg,#f0fff4e6,#f0fff4c4 60%,#f0fff480)}
.checkin-done{border-color:#78b99d!important;box-shadow:0 0 0 1px #78b99d35}
.checkin-action{position:absolute;right:12px;top:19px;z-index:3;border:1px solid #c5d9d0;border-radius:999px;min-height:44px;min-width:82px;padding:8px 10px;background:#fffffff2;color:#28584c;font:700 12px/1.2 system-ui;cursor:pointer;transition:background .35s,color .35s,box-shadow .35s}
.checkin-action[aria-pressed=true]{background:#087667;color:white;border-color:#087667;box-shadow:0 3px 12px #08766733}
.spot-guide>.checkin-action{width:auto;display:block;padding:8px 10px;text-align:center;font-size:12px;border:1px solid #c5d9d0;background:#fffffff2;color:#28584c}
.spot-guide>.checkin-action[aria-pressed=true]{background:#087667;color:white;border-color:#087667}
.checkin-action:focus-visible{outline:3px solid #f2b94b;outline-offset:2px}
.checkin-action:active{transform:scale(.96)}
.checkin-summary{margin:15px 0 10px;padding-top:12px;border-top:1px solid #dcebe3}
.checkin-summary>small{display:block;color:#087667;font-weight:800;margin-bottom:8px;font-size:12px}
.checkin-tags{display:flex;gap:6px;flex-wrap:wrap}.checkin-tags span{display:inline-block;padding:5px 9px;border-radius:999px;background:#e9f5ee;color:#24684d;font-size:11px;line-height:1.4;max-width:100%;overflow-wrap:anywhere}
.checkin-tags .checkin-more{background:#f3f5f3;color:#6b8075}
.checkin-summary.just-updated{animation:checkinBloom .6s ease}
.checkin-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:10002;padding:10px 18px;border-radius:999px;color:white;background:#164e40f2;font-size:13px;box-shadow:0 6px 20px #0002;pointer-events:none;opacity:0;transition:opacity .25s;max-width:90vw;text-align:center}.checkin-toast.show{opacity:1}
@keyframes checkinBloom{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:760px){.spot-guide>button:not(.checkin-action),.dining-toggle{padding-left:12px!important;padding-right:102px!important;min-height:98px}.checkin-action{right:9px;top:24px;min-width:78px}.dining-toggle small{line-height:1.6}.checkin-tags span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.checkin-bg,.checkin-action,.checkin-toast{transition:none}.checkin-summary.just-updated{animation:none}}
