/* Load after page CSS. Explicit action selectors only: menus, tabs and can controls retain their own behavior. */
:root {
  --b-control-height: 48px;
  --b-control-radius: 6px;
  --b-control-text: #fff8ee;
  --b-control-border: #a89a8b;
  --b-control-hover: #29251f;
  --b-control-primary: #fff3df;
  --b-control-primary-text: #242c27;
  --b-control-primary-hover: #ffffff;
  --b-control-focus: #8ac2ff;
  --b-control-disabled-bg: #292722;
  --b-control-disabled-text: #b5afa5;
  --b-control-disabled-border: #615a51;
  --b-control-danger: #ffaaa0;
  --b-control-danger-hover: #3b201e;
}
/* Existing light surfaces stay light. An explicit opt-in is available to future pages. */
.b-ui-light, [data-ui-theme="light"], #ticket-app, .barski-section, .barski-page, .booking-dialog,
:root:has(#event-form), :root:has(.stock-workspace) {
  --b-control-text: #242c27;
  --b-control-border: #879086;
  --b-control-hover: #e8ece6;
  --b-control-primary: #233d2c;
  --b-control-primary-text: #ffffff;
  --b-control-primary-hover: #34553e;
  --b-control-focus: #075eb2;
  --b-control-disabled-bg: #e8e9e4;
  --b-control-disabled-text: #596157;
  --b-control-disabled-border: #b5bcb0;
  --b-control-danger: #a02d25;
  --b-control-danger-hover: #fff0ed;
}
/* Green marks progression within booking; editorial sections use warm-white actions. */
#ticket-app {
  --b-control-primary: #4c5229;
  --b-control-primary-text: #fff8ee;
  --b-control-primary-hover: #606738;
}
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: var(--b-control-height);
  min-width: 44px;
  max-width: 100%;
  padding: 11px 18px;
  border: 1px solid var(--b-control-border);
  border-radius: var(--b-control-radius);
  background: transparent;
  color: var(--b-control-text);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: middle;
  cursor: pointer;
  touch-action: manipulation;
  box-shadow: none;
  opacity: 1;
}
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
):hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]) {
  background: var(--b-control-hover);
  color: var(--b-control-text);
  border-color: var(--b-control-text);
}
:is(
  .b-button--primary,
  #app .button:not(.secondary),
  #ticket-app .primary,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .shop-link,
  #new-event,
  #step-next,
  #save-event,
  #copy-form button[type="submit"],
  .shell .primary-button,
  #detail .primary-button
) {
  background: var(--b-control-primary);
  border-color: var(--b-control-primary);
  color: var(--b-control-primary-text);
}
:is(
  .b-button--primary,
  #app .button:not(.secondary),
  #ticket-app .primary,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .shop-link,
  #new-event,
  #step-next,
  #save-event,
  #copy-form button[type="submit"],
  .shell .primary-button,
  #detail .primary-button
):hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]) {
  background: var(--b-control-primary-hover);
  border-color: var(--b-control-primary-hover);
  color: var(--b-control-primary-text);
}
:is(
  #journey-main a.b-button--tertiary,
  .b-button--tertiary,
  #app .text-link,
  #journey-main .text-link,
  #journey-main .beer-buy,
  #event-list button,
  .shell .row-button,
  #loader-dialog .close-button,
  #detail .close-button
) {
  background: transparent;
  border-color: transparent;
  padding-inline: 10px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
/* Product links keep their full-width editorial alignment. */
#journey-main .beer-buy { justify-content: space-between; width: 100%; text-align: left; }
#event-list button { justify-content: flex-start; width: 100%; text-align: left; font-weight: 600; }
:is(
  #ticket-app button.remove-line,
  .b-button--destructive,
  #ticket-app .remove-line,
  #event-form .remove
) {
  background: transparent;
  border-color: transparent;
  color: var(--b-control-danger);
  text-decoration: underline;
  text-underline-offset: 4px;
  padding-inline: 10px;
}
:is(
  #ticket-app button.remove-line,
  .b-button--destructive,
  #ticket-app .remove-line,
  #event-form .remove
):hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]) {
  background: var(--b-control-danger-hover);
  border-color: var(--b-control-danger);
  color: var(--b-control-danger);
}
/* Close is a quiet escape action, never the filled primary in a dialog. */
:is(#loader-dialog .close-button, #detail .close-button) {
  width: 44px;
  min-height: 44px;
  padding: 4px;
  font-size: 24px;
  text-decoration: none;
}
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
):focus-visible {
  outline: 3px solid var(--b-control-focus);
  outline-offset: 4px;
}
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
):is(:disabled, [aria-disabled="true"]) {
  background: var(--b-control-disabled-bg);
  border-color: var(--b-control-disabled-border);
  color: var(--b-control-disabled-text);
  cursor: not-allowed;
  opacity: 1;
  text-decoration: none;
}
/* Busy is presentation only. JS must prevent duplicate activation and announce real progress. */
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
)[aria-busy="true"] {
  cursor: wait;
  border-style: dashed;
}
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
)[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
) { transition: background-color var(--motion-feedback) var(--ease-standard), border-color var(--motion-feedback) var(--ease-standard), color var(--motion-feedback) var(--ease-standard); }
}
@media (prefers-reduced-motion: reduce) {
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
) { transition: none; }
}
@media (forced-colors: active) {
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
) { border: 1px solid ButtonText; }
:is(
  .b-button,
  #app .button,
  #app .text-link,
  #ticket-app .primary,
  #ticket-app .secondary,
  #ticket-app .remove-line,
  .journey-cta a,
  #journey-main .booking-link,
  #journey-main .festival-tickets,
  #journey-main .festival-discover,
  #journey-main .shop-link,
  #journey-main .venue-menu,
  #journey-main .beer-buy,
  #journey-main .beer-show-more,
  #journey-main .text-link,
  #new-event,
  #start-festival,
  #event-list button,
  #add-faq,
  #add-sponsor,
  #step-back,
  #step-next,
  #save-event,
  #copy-event,
  #cancel-copy,
  #copy-form button[type="submit"],
  #event-form .remove,
  .shell .primary-button,
  .shell .quiet-button,
  .shell .row-button,
  #loader-dialog .primary-button,
  #detail .primary-button,
  #loader-dialog .close-button,
  #detail .close-button,
  .booking-dialog .booking-close
):focus-visible { outline-color: Highlight; }
}
/* Optional layout helper, independent of visual variants. */
.b-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
/* Editorial actions align to their section grid, including the label's left edge. */
main#journey-main :is(.booking-link,.venue-menu,.festival-tickets,.festival-discover,.shop-link){
  min-height:52px;padding-inline:22px;border-radius:5px;line-height:1.35;
}
main#journey-main .barski-actions :is(.booking-link,.venue-menu){width:100%;justify-content:space-between;gap:12px}
main#journey-main .festival-tickets{margin:0;min-width:170px;justify-content:space-between;gap:24px}
main#journey-main .festival-discover{min-width:170px}
main#journey-main .shop-link{min-width:190px;justify-content:space-between;gap:28px}
main#journey-main :is(.text-link,.beer-buy,.venue-taps){padding-inline:0;text-align:left;justify-content:flex-start;border-radius:0;border-width:0}
main#journey-main .beer-buy{justify-content:space-between;border-bottom:1px solid #74665a;white-space:nowrap;gap:8px}
main#journey-main :is(.text-link,.beer-buy,.venue-taps):hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){background:transparent;border-color:transparent;color:var(--b-control-text)}
main#journey-main .beer-buy:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){border-bottom-color:#ffbe70;color:#ffbe70}
main#journey-main .venue-taps{font-size:13px;font-weight:600;gap:12px}
main#journey-main .venue-menu .link-format{font-size:10px;font-weight:500;white-space:nowrap}
.festival-teaser{
  --b-control-text:#fff8ee;--b-control-border:#d6b5c0;--b-control-hover:#703047;
  --b-control-primary:#fff3df;--b-control-primary-text:#5b1f33;--b-control-primary-hover:#ffffff;
}
/* The scene controls share the site's proportions without changing scene behavior. */
.control-buttons button,.can-turn{border-radius:5px;min-height:48px;font-weight:600}
.control-buttons button:focus-visible,.can-turn:focus-visible{outline:3px solid var(--b-control-focus);outline-offset:4px}
@media(max-width:600px){
 main#journey-main :is(.booking-link,.venue-menu,.festival-tickets,.festival-discover,.shop-link){min-height:50px;font-size:13px;padding-inline:17px}
 main#journey-main .festival-actions a{width:100%;margin:0}
 main#journey-main .beer-buy{font-size:12px}
 .control-buttons button{min-height:44px}
 .can-turn{min-height:44px}
}
@media print {
  :is(.b-button, .shell .quiet-button, .shell .row-button, .shell .primary-button) { display: none !important; }
}

.barski-section,.barski-page{--b-control-primary:#4c5229;--b-control-primary-text:#fff8ee;--b-control-primary-hover:#606738}

/* Asgard adopts the approved cream, olive and berry brand palette. */
:root:has(.stock-workspace){--b-control-text:#302c25;--b-control-border:#a99e8a;--b-control-hover:#e9eadb;--b-control-primary:#4c5229;--b-control-primary-text:#fff8ee;--b-control-primary-hover:#606738;--b-control-focus:#5b1f33;--b-control-danger:#5b1f33;--b-control-danger-hover:#efdae0}
