.shortlist-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #c5af72;border-radius:3px;background:#fff;color:#172a39;font:600 13px/1.35 var(--sans,Arial,sans-serif);cursor:pointer;text-align:center}
.shortlist-add:hover,.shortlist-add[aria-pressed=true]{background:#172a39;color:#fff;border-color:#172a39}
.shortlist-add[hidden],.shortlist-dock[hidden],.shortlist-dock [hidden]{display:none!important}
.shortlist-dock{position:fixed;right:24px;bottom:22px;z-index:35;width:min(370px,calc(100vw - 32px));font:14px/1.45 var(--sans,Arial,sans-serif);color:#172a39;filter:drop-shadow(0 5px 15px #10213725)}
.shortlist-toggle{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:13px 18px;min-height:48px;border:1px solid #c5af72;border-radius:4px;background:#172a39;color:#fff;font-weight:600;user-select:none}
.shortlist-toggle::-webkit-details-marker{display:none}
.shortlist-toggle::after{content:'+';font-size:21px;font-weight:400;margin-left:auto}
.shortlist-dock[open] .shortlist-toggle::after{content:'−'}
.shortlist-count{display:grid;place-items:center;min-width:26px;min-height:26px;border-radius:50%;background:#d2bf83;color:#122433;font-size:13px}
.shortlist-dock[open] .shortlist-toggle{border-radius:0 0 4px 4px}
.shortlist-panel{position:absolute;bottom:100%;left:0;width:100%;max-height:min(540px,calc(100dvh - 160px));overflow-y:auto;overscroll-behavior:contain;padding:20px;background:#fff;border:1px solid #dce0e3;border-bottom:0;border-radius:4px 4px 0 0;box-sizing:border-box}
.shortlist-panel h2{font:29px/1.15 var(--serif,Georgia,serif);margin:0 0 8px;letter-spacing:-.02em}
.shortlist-help,.shortlist-empty{font-size:13px;color:#526170;margin:0 0 15px}
.shortlist-items{list-style:none;padding:0;margin:0}
.shortlist-items li{display:flex;align-items:center;gap:14px;border-top:1px solid #e4e6e7;padding:13px 0}
.shortlist-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.shortlist-copy strong{display:block;font-weight:600;font-size:14px}
.shortlist-copy span{display:block;color:#62717d;font-size:12px;margin-top:3px}
.shortlist-remove,.shortlist-clear,.shortlist-close{min-height:44px;border:0;background:transparent;color:#243a4a;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 0;flex:none}
.shortlist-remove{font-size:12px}
.shortlist-actions{display:flex;align-items:center;gap:14px;border-top:1px solid #e4e6e7;padding-top:15px;margin-top:3px}
.shortlist-visit{display:inline-flex;align-items:center;justify-content:center;flex:1;min-height:44px;padding:10px 12px;background:#d2bf83;color:#142535;border:1px solid #c5af72;border-radius:3px;text-decoration:none;font-weight:600;text-align:center;font-size:13px}
.shortlist-clear{font-size:12px}
.shortlist-clear:disabled{opacity:.45;cursor:default;text-decoration:none}
.shortlist-close{display:block;margin:9px 0 -7px auto;font-size:12px}
.shortlist-status{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}
.shortlist-dock :focus-visible,.shortlist-add:focus-visible{outline:3px solid #ad8940;outline-offset:3px}
#visit-shortlist{min-height:105px;resize:vertical;line-height:1.5}
@media(max-width:960px){.shortlist-dock{right:16px;bottom:calc(86px + env(safe-area-inset-bottom));width:min(340px,calc(100vw - 32px))}.shortlist-toggle{min-height:44px;padding:10px 15px;font-size:13px}.page-visit .shortlist-dock{bottom:calc(16px + env(safe-area-inset-bottom))}.shortlist-panel{max-height:calc(100dvh - 210px)}.page-visit .shortlist-panel{max-height:calc(100dvh - 140px)}}
@media print{.shortlist-dock,.shortlist-add,.shortlist-status{display:none!important}}
