.button-primary,.button-secondary,.hero-link{min-height:52px;border-radius:13px;gap:12px;padding:10px 16px;font-size:.875rem;font-weight:500;line-height:1.4;letter-spacing:.01em;transition:background .18s,box-shadow .18s,border-color .18s,transform .18s}.hero-link{background:linear-gradient(180deg,#e5ba69,var(--gold));color:var(--action-ink);border:1px solid #b88631;box-shadow:inset 0 1px 0 #fff4d780,0 2px 0 #b0802e,0 5px 12px #4b301712;padding:10px 12px 10px 22px;gap:28px;box-shadow:inset 0 1px 0 #fff4d780,0 2px 0 #aa7828,0 7px 18px #21080d30}.hero-link>svg:last-child{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--wine);color:var(--paper);margin-left:auto;box-shadow:inset 0 1px 0 #ffffff24;transition:transform .18s,background .18s}.hero-link:hover{background:linear-gradient(180deg,#edc680,#dfad51);border-color:#a77524;box-shadow:inset 0 1px 0 #fff4d799,0 2px 0 #aa7828,0 7px 16px #4b30171f}.button-primary{background:linear-gradient(180deg,#9d292c,var(--deep));border-color:#781a20;color:var(--paper);box-shadow:inset 0 1px 0 #ffffff24,0 2px 0 #60151b,0 4px 12px #541d2318}.button-primary:hover{background:linear-gradient(180deg,#8e252b,#741b23)}.button-secondary{background:var(--paper);border-color:#bba78a;box-shadow:inset 0 1px 0 #fff,0 2px 4px #4b30170a}.button-secondary:hover{background:#f1e7d8;border-color:#9c7b52}.bar-card .bar-action:focus-visible,.button-primary:focus-visible,.button-secondary:focus-visible,.hero-link:focus-visible{outline:3px solid var(--deep);outline-offset:4px}.hero-link:focus-visible{outline-color:var(--paper)}.bar-card .bar-action:not(:disabled):active,.button-primary:active,.button-secondary:active,.hero-link:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #4b30171a}.bar-card .bar-action:disabled{background:#eee8de;border-color:#c8bcab;color:#655b50;box-shadow:none}.bar-card .bar-action{align-self:flex-start;width:fit-content;max-width:100%;min-height:44px;justify-content:center;gap:8px;padding:10px 14px;border-radius:9px;font-size:.875rem;font-weight:500;line-height:1.4;transition:background .18s,border-color .18s,transform .18s}.bar-card .bar-action:not(:disabled){background:var(--gold);border-color:#b88631;color:var(--action-ink);box-shadow:none}.bar-card .bar-action:not(:disabled):is(:hover,:focus-visible){background:#e7ba68;border-color:#a77524}.bar-card .bar-action>svg{width:18px;height:18px;stroke-width:1.8}.bar-card .bar-action>svg:last-child{width:16px;height:16px;padding:0;margin-left:0;border-radius:0;background:none;color:inherit;box-shadow:none;transition:transform .18s}.view-switch{gap:5px;padding:5px;border-radius:15px;border-color:#c6b69f;background:var(--paper);box-shadow:0 2px 6px #4b30170b}.view-switch button{min-height:46px;gap:9px;padding:10px 18px;border-radius:10px;border:1px solid transparent;font-weight:500}.view-switch button[aria-pressed=true]{background:linear-gradient(180deg,#a12d30,var(--deep));border-color:#7b1920;box-shadow:inset 0 1px 0 #ffffff26,0 2px 5px #541d2326}.view-switch button:hover:not([aria-pressed=true]){background:#f1e7d8;border-color:#d4c6b2}.view-switch button:active{box-shadow:inset 0 2px 4px #4b30171a}.pagination{gap:16px}.pagination ol{gap:8px}.pagination a,.pagination-current,.pagination-disabled{min-height:46px;min-width:46px;border-radius:12px;padding:10px 14px;line-height:1.4}.pagination a{border-color:#c6b69f;box-shadow:0 2px 4px #4b301708;transition:background .18s,border-color .18s,box-shadow .18s}.pagination a:hover{border-color:var(--deep);background:#f1e4d6;box-shadow:0 3px 8px #4b301712}.pagination a:active{box-shadow:inset 0 2px 4px #4b30171a}.pagination-current{background:linear-gradient(180deg,#a12d30,var(--deep));border-color:#7b1920;box-shadow:inset 0 1px 0 #ffffff26,0 2px 5px #541d2326}.pagination-disabled{background:#eee8de;border-color:transparent;color:var(--secondary)}.pagination>.pagination-disabled,.pagination>a{gap:9px}.pagination-prev:before{content:"←";font-size:1.125rem}.pagination-next:after{content:"→";font-size:1.125rem}.icon-button{border:1px solid #d8cab7;background:#f6f0e5;color:var(--deep);box-shadow:0 2px 3px #4b301708;transition:background .18s,border-color .18s}.icon-button:hover{background:#ebddc9;border-color:#bba78a}.clear-filters{padding:10px 14px;border:1px solid #c6b69f;border-radius:10px;background:var(--paper);text-decoration:none;line-height:1.4}.clear-filters:hover{background:#f1e7d8;border-color:var(--deep)}.map-bar-list button:hover,.shared-choice:hover{background:#f5ecde}.bar-card{position:relative}.bar-sharing{position:absolute;z-index:4;top:10px;right:10px}.bar-sharing-trigger{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--deep);cursor:pointer}.bar-sharing-trigger:before{content:"";position:absolute;inset:4px;border:1px solid #8e1e1e52;border-radius:50%;background:var(--paper);box-shadow:0 1px 4px #30221726;pointer-events:none}.bar-sharing-trigger svg{position:relative;width:18px;height:18px;stroke-width:1.8}.bar-sharing-trigger:hover:before,.bar-sharing-trigger[aria-expanded=true]:before{background:#f3eadc;border-color:#8e1e1e80}.bar-sharing-trigger:focus-visible{outline:2px solid var(--deep);outline-offset:1px;box-shadow:0 0 0 2px var(--paper)}.bar-sharing-panel{position:absolute;right:0;top:calc(100% + 7px);width:224px;max-width:calc(100vw - 64px);padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 8px 24px #30221726}.bar-sharing-actions{display:grid;gap:2px}.bar-sharing-actions button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--deep);font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;text-align:left}.bar-sharing-actions button:focus-visible,.bar-sharing-actions button:hover{background:#f1e7d8}.bar-sharing-actions button:focus-visible{outline:2px solid var(--deep);outline-offset:-2px}.bar-sharing-actions button[aria-disabled=true]{opacity:.6;cursor:wait}.bar-sharing-panel .bar-sharing-feedback{margin:6px 10px;color:var(--deep);font-size:.8rem;line-height:1.5}.bar-sharing-manual{min-width:0;margin:8px 10px}.bar-sharing-manual label{display:block;font-size:.8rem;margin-bottom:5px}.bar-sharing-manual input{display:block;min-width:0;width:100%;min-height:44px;padding:8px;border:1px solid #c6b69f;border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;font-size:.85rem}.bar-card .status-badge{right:64px;max-width:calc(100% - 76px)}@media(hover:hover){.bar-card .bar-action:not(:disabled):hover>svg:last-child,.hero-link:hover>svg:last-child{transform:translateX(2px)}}@media(max-width:600px){.view-switch button{padding:10px 13px}.filters .clear-filters{padding:10px 14px;text-align:center}.pagination{gap:8px;flex-wrap:nowrap}.pagination ol{gap:6px;flex-wrap:nowrap}.pagination a,.pagination-current,.pagination-disabled{flex-shrink:0;min-width:44px;min-height:46px;padding:10px}.pagination li[data-mobile-hidden],.pagination-step-label{display:none}}@media(prefers-reduced-motion:reduce){.bar-card .bar-action,.bar-card .bar-action>svg:last-child,.button-primary,.button-secondary,.hero-link,.hero-link>svg:last-child{transform:none!important}}.analytics-consent{position:fixed;z-index:30;inset:auto 20px 20px;margin-inline:auto;max-width:1000px;display:flex;align-items:center;gap:24px;max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid #b8a88f;border-top:3px solid var(--gold);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 8px 40px #30282033}.analytics-consent h2{font-size:1.5rem;color:var(--wine);margin:0 0 10px}.analytics-consent p{font-size:.875rem;margin:0}.analytics-consent-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 230px}.analytics-consent-actions button{width:100%}.analytics-settings{padding:8px 0;min-height:44px;border:0;background:transparent;font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.analytics-consent{inset:auto 12px 12px;padding:20px;flex-direction:column;align-items:stretch;gap:18px;max-height:calc(100dvh - 24px)}.analytics-consent-actions{flex:0 0 auto}.analytics-consent-actions button{flex:1 1 180px;width:auto}}