/* Shared interaction language: a clear primary action, quiet utilities, visible selection. */
:root{--action:#243d30;--action-hover:#31533e;--action-tint:#eff4e8;--control-line:#d8e0d1;--focus:#496c37}
body .unified-actions{gap:8px}
body .unified-actions a,body .unified-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:10px;background:transparent;color:#263c30;font-weight:600;transition:background .16s,border-color .16s,box-shadow .16s}
body .unified-actions [data-shared-preferences],body .unified-actions #settingsButton{background:#f2f5ed;border-color:#e3e8dc}
body .unified-actions a:has([data-shared-bag]),body .unified-actions button:has(#cartCount){background:#243d30;color:#fff;gap:7px;border-color:#243d30}
body .unified-actions [data-shared-bag],body .unified-actions #cartCount{display:inline-grid;place-items:center;min-width:22px;height:22px;margin:0;padding:0 5px;border-radius:50%;background:#d4ed75;color:#203223;font-size:11px}
body .unified-nav a{position:relative;border-bottom-color:transparent;padding-bottom:16px}
body .unified-nav a[aria-current]{border-color:transparent;color:#203c2a}
body .unified-nav a[aria-current]::after{content:'';position:absolute;bottom:2px;left:0;right:0;height:3px;background:#75904c;border-radius:3px}
.primary,.tp-add,.ticket-picker .tp-map-footer button,.journal-search button,.destination-search button,.journal-helper-form button{border:1px solid transparent;border-radius:10px;background:var(--action);color:#fff;min-height:46px;font-weight:600;box-shadow:0 2px 0 #142d1f14;transition:background .16s,box-shadow .16s,transform .16s}
.primary.dark{background:var(--action);color:#fff}
.outline{border:1px solid var(--control-line);border-radius:10px;background:#fff;min-height:44px;color:#2d4334;transition:background .16s,border-color .16s}
.event-topline{align-items:center;gap:16px;margin-bottom:22px}
.event-topline>div{display:flex;gap:8px}
.event-topline .back{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:13px;color:#657361}
.event-topline .outline{display:inline-flex;gap:8px;align-items:center;justify-content:center;border-color:transparent;background:#f2f5ed;padding:10px 15px;font-size:12px;font-weight:600;border-radius:24px;min-height:44px;max-width:none}
.event-topline .outline svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
.event-topline #saveEvent[aria-pressed=true]{background:#e6efcc;color:#344d25}
.event-topline #saveEvent[aria-pressed=true] svg{fill:#59773c;stroke:#59773c}
.event-meta{gap:9px;align-items:center}
.event-heading .pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #dce4d3;border-radius:5px;background:#edf2e6;color:#4e6343;font-size:11px;font-weight:600;line-height:1.3}
.event-heading .text-button{border:0;background:transparent;text-decoration:none;min-height:36px;margin:0;padding:6px 3px;color:#526747;font-size:11px}
.event-heading .venue-link{min-height:40px;color:#526747;text-underline-offset:4px}
.date-strip{gap:10px}
.date-strip .date-option{position:relative;border:1px solid var(--control-line);border-radius:10px;padding:16px 38px 16px 18px;background:#fff;color:#304633;text-align:left;box-shadow:none;transition:background .16s,border-color .16s}
.date-strip .date-option b{display:block;font-size:15px;letter-spacing:-.2px;font-weight:650}
.date-strip .date-option small{font-size:12px;margin-top:7px;color:#65745e}
.date-strip .date-option.selected{background:#263e30;color:#fff;border-color:#263e30;box-shadow:0 3px 8px #1e3a2012}
.date-strip .date-option.selected small{color:#e0ead7}
.date-strip .date-option.selected::after{content:'✓';position:absolute;top:15px;right:12px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#d4ed75;color:#203321;font-size:10px;font-weight:700}
.ticket-picker .tp-map-card,.category-card,.selection-card{border-color:#dce3d5;border-radius:12px}
.ticket-picker .tp-map-head>button{border:0;border-radius:50%;background:#eff4e8;color:#345134;width:44px;height:44px}
.tp-map-meta button{color:#526c40;min-height:44px}
.tp-list-head>span{border:0;border-radius:5px;background:#f0f4e9;color:#536648;font-size:11px;padding:7px 10px}
.tp-category{border-radius:10px;border-color:#dce3d5;transition:border-color .16s,box-shadow .16s}
.tp-category.tp-active{border-color:#6f8957;box-shadow:0 0 0 1px #6f8957}
.tp-category.tp-active .tp-category-toggle{background:#f3f7eb}
.tp-category-toggle{min-height:84px}
.tp-category-toggle>i{border-radius:3px;width:9px;height:22px}
.tp-chevron{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef3e7;color:#4b6339;font-size:15px}
.tp-category-toggle{grid-template-columns:10px minmax(0,1fr) auto 22px}
.tp-best-label{letter-spacing:.07em;color:#536e3b}
.ticket-picker .tp-choose-best{min-height:46px;background:#d5ec8c;border:1px solid #c8de7e;color:#263c22;border-radius:9px;font-weight:650;box-shadow:0 2px 0 #283c1910;transition:background .16s}
.tp-choice-controls select,.sort-label select,.field input,.request-fields textarea{border-color:#cfd9c5;border-radius:8px;background-color:#fff;min-height:44px}
.tp-stepper,.stepper{border-radius:9px;border-color:#d4dec9;background:#f9fbf5}
.tp-stepper button,.stepper button{min-width:40px;min-height:44px;color:#355030}
.stepper button:disabled,.tp-stepper button:disabled{opacity:.35;cursor:default}
.tp-sheet{border-radius:16px;box-shadow:0 24px 70px #102c2426}
.tp-sheet-close{background:#eef3e6;color:#3a5133}
.tp-sheet-advice,.notice,.request-success{border-radius:9px}
.panel{border-radius:16px}.panel-head{border-bottom-color:#e1e7da}.panel-head .close{background:#eef3e6;color:#3a5133}
.primary:disabled,.tp-add:disabled,.tp-choose-best:disabled{box-shadow:none;opacity:.45;cursor:not-allowed;transform:none}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.ticket-picker button:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
@media(hover:hover){
 body .unified-actions a:hover,body .unified-actions button:hover{background:#eef3e5}
 body .unified-actions a:has([data-shared-bag]):hover,body .unified-actions button:has(#cartCount):hover{background:#35523c}
 .primary:not(:disabled):hover,.primary.dark:not(:disabled):hover,.tp-add:not(:disabled):hover,.ticket-picker .tp-map-footer button:hover,.journal-search button:hover,.destination-search button:hover,.journal-helper-form button:hover{background:var(--action-hover);color:white;box-shadow:0 4px 12px #203c2019}
 .home-showcase .showcase-heading .primary:hover{background:transparent;color:#355439;box-shadow:none;text-decoration:underline;text-underline-offset:5px}
 .outline:hover,.event-topline .outline:hover{border-color:#c3d1b4;background:#edf3e2}
 .date-option:not(.selected):hover{background:#f3f7eb;border-color:#92a67b}
 .tp-category-toggle:hover,.tp-stepper button:not(:disabled):hover,.stepper button:not(:disabled):hover{background:#edf3e2}
 .ticket-picker .tp-choose-best:not(:disabled):hover{background:#c9e37b}
 .event-heading .venue-link:hover{text-decoration:underline}
}
@media(max-width:740px){
 body .unified-actions a,body .unified-actions button{padding:8px 11px;font-size:12px}
 .event-topline{gap:9px;margin-bottom:18px;flex-wrap:wrap}.event-topline .back{font-size:11px}.event-topline .outline{font-size:11px;padding:9px 12px;max-width:none!important}.event-topline>div{gap:6px}
 .event-heading .pill{font-size:9px;padding:5px 7px}.date-strip .date-option{min-width:165px;max-width:220px;padding:15px 34px 15px 16px}
 .ticket-picker .tp-category-toggle{gap:9px;padding:17px 14px}.tp-choice-controls select{font-size:16px}
 .tp-sheet{border-radius:18px 18px 0 0}.ticket-picker .tp-map-card.tp-expanded{border-radius:0}
}
@media(prefers-reduced-motion:reduce){body .unified-actions a,body .unified-actions button,.primary,.outline,.date-option,.tp-category,.tp-add,.tp-choose-best{transition:none}}
