/* Shared, editable event bar menu. */
.pdm-bar-menu {
 --bar-paper: #f5f2e9;
 --bar-ink: #111111;
 --bar-muted: #56534e;
 box-sizing: border-box;
 max-width: 1100px;
 margin: 48px auto 80px;
 padding: clamp(24px, 5vw, 64px);
 background: var(--bar-paper);
 color: var(--bar-ink);
 font-family: "Lato", Arial, sans-serif;
 border-radius: 4px;
}
.pdm-bar-menu *, .pdm-bar-menu *::before, .pdm-bar-menu *::after { box-sizing: border-box; }
.pdm-bar-menu .pdm-bar-header { border-bottom: 3px solid var(--bar-ink); padding-bottom: 28px; margin: 0 0 12px; }
.pdm-bar-menu .pdm-bar-eyebrow { font-size: 12px; font-weight: 900; letter-spacing: .2em; line-height: 1.5; margin: 0 0 20px; }
.pdm-bar-menu .pdm-bar-title { color: var(--bar-ink); font-family: "Lato", Arial, sans-serif; font-size: clamp(54px, 9vw, 112px); font-weight: 900; letter-spacing: -.045em; line-height: .95; margin: 0; }
.pdm-bar-menu .pdm-bar-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; margin: 0; }
.pdm-bar-menu .pdm-bar-item { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: 18px; padding: 28px 0; border-bottom: 1px solid #b8b4aa; margin: 0; }
.pdm-bar-menu .pdm-bar-details, .pdm-bar-menu .pdm-bar-cost { margin: 0; min-width: 0; }
.pdm-bar-menu .pdm-bar-name { color: var(--bar-ink); font-family: inherit; font-size: 22px; font-weight: 900; line-height: 1.2; letter-spacing: -.025em; margin: 0; text-wrap: balance; }
.pdm-bar-menu .pdm-bar-note { color: var(--bar-muted); font-size: 14px; line-height: 1.5; margin: 8px 0 0; }
.pdm-bar-menu .pdm-bar-cost { text-align: right; }
.pdm-bar-menu .pdm-bar-price { font-size: 26px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; margin: 0 0 10px; letter-spacing: -.03em; }
.pdm-bar-menu .pdm-bar-token { display: inline-block; color: var(--bar-paper); background: var(--bar-ink); border-radius: 4px; padding: 5px 8px; font-size: 12px; font-weight: 700; line-height: 1.2; white-space: nowrap; margin: 0; }
@media (max-width: 767px) {
 .pdm-bar-menu { margin: 24px 16px 48px; padding: 28px 22px; }
 .pdm-bar-menu .pdm-bar-items { grid-template-columns: minmax(0, 1fr); }
 .pdm-bar-menu .pdm-bar-header { padding-bottom: 24px; margin-bottom: 4px; }
 .pdm-bar-menu .pdm-bar-item { padding: 23px 0; gap: 14px; }
 .pdm-bar-menu .pdm-bar-name { font-size: 21px; }
 .pdm-bar-menu .pdm-bar-price { font-size: 25px; }
}

/* Oktoberfest food accordions. Core blocks remain editable in Gutenberg. */
.pdm-festival-menu {
 --menu-paper: #f5f2e9;
 --menu-ink: #111111;
 --menu-muted: #56534e;
 --menu-line: #b8b4aa;
 --menu-accent: #dfff59;
 box-sizing: border-box;
 max-width: 1100px;
 margin: 72px 16px 48px;
 padding: 28px 22px;
 background: var(--menu-paper);
 color: var(--menu-ink);
 font-family: "Lato", Arial, sans-serif;
 border-radius: 4px;
}
.pdm-festival-menu *, .pdm-festival-menu *::before, .pdm-festival-menu *::after { box-sizing: border-box; }
.pdm-festival-menu .pdm-menu-header { margin: 0 0 28px; }
.pdm-festival-menu .pdm-menu-eyebrow { margin: 0 0 20px; font-size: 12px; font-weight: 900; letter-spacing: .12em; line-height: 1.6; }
.pdm-festival-menu .pdm-menu-title { color: var(--menu-ink); font-family: inherit; font-size: clamp(42px, 7vw, 86px); font-weight: 900; letter-spacing: -.045em; line-height: 1; margin: 0; text-wrap: balance; }
.pdm-festival-menu .pdm-menu-intro { margin: 20px 0 16px; max-width: 560px; color: var(--menu-muted); font-size: 16px; line-height: 1.55; }
.pdm-festival-menu .pdm-menu-token-info { display: inline-block; margin: 0; padding: 7px 11px; background: var(--menu-accent); border: 1px solid var(--menu-ink); border-radius: 3px; font-size: 13px; font-weight: 900; line-height: 1.4; }
.pdm-festival-menu .pdm-menu-section { margin: 0; border-top: 2px solid var(--menu-ink); }
.pdm-festival-menu .pdm-menu-section:last-child { border-bottom: 2px solid var(--menu-ink); }
.pdm-festival-menu summary { position: relative; display: block; list-style: none; cursor: pointer; color: var(--menu-ink); font-family: inherit; text-align: left; }
.pdm-festival-menu summary::-webkit-details-marker { display: none; }
.pdm-festival-menu summary::marker { content: ""; }
.pdm-festival-menu summary::after { position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ""; background: linear-gradient(var(--menu-ink), var(--menu-ink)) center / 12px 2px no-repeat, linear-gradient(var(--menu-ink), var(--menu-ink)) center / 2px 12px no-repeat; display: grid; place-items: center; width: 30px; height: 30px; font: 400 26px/1 Arial, sans-serif; }
.pdm-festival-menu details[open] > summary::after { background-size: 12px 2px, 0 0; }
.pdm-festival-menu summary:focus-visible { outline: 3px solid var(--menu-ink); outline-offset: 3px; background: var(--menu-accent); }
.pdm-festival-menu .pdm-menu-section > summary { min-height: 80px; padding: 24px 42px 24px 0; font-size: clamp(21px, 2.8vw, 30px); font-weight: 900; line-height: 1.2; letter-spacing: -.025em; }
.pdm-festival-menu .pdm-menu-section > summary::after { border: 1px solid var(--menu-ink); border-radius: 50%; background-color: var(--menu-accent); }
.pdm-festival-menu .pdm-menu-section-content { margin: 0; padding: 0 0 28px; }
.pdm-festival-menu .pdm-food-weekend-intro { color: var(--menu-muted); font-size: 15px; line-height: 1.5; margin: 0 0 22px; }
.pdm-festival-menu .pdm-food-vendor { margin: 0; border-top: 1px solid var(--menu-line); }
.pdm-festival-menu .pdm-food-vendor:last-child { border-bottom: 1px solid var(--menu-line); }
.pdm-festival-menu .pdm-food-vendor > summary { min-height: 64px; padding: 20px 40px 20px 0; font-size: 20px; line-height: 1.25; font-weight: 900; }
.pdm-festival-menu .pdm-food-vendor-content { margin: 0; padding: 0 0 16px; }
.pdm-festival-menu .pdm-food-price-note { margin: 0 0 18px; color: var(--menu-muted); font-size: 15px; line-height: 1.5; }
.pdm-festival-menu .pdm-food-category { margin: 24px 0 0; padding-bottom: 10px; border-bottom: 2px solid var(--menu-ink); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.pdm-festival-menu .pdm-food-items { display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; }
.pdm-festival-menu .pdm-food-item { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 12px; align-items: start; padding: 22px 0; margin: 0; border-bottom: 1px solid var(--menu-line); }
.pdm-festival-menu .pdm-food-item-unpriced { grid-template-columns: minmax(0, 1fr); }
.pdm-festival-menu .pdm-food-description-wrap, .pdm-festival-menu .pdm-food-cost { min-width: 0; margin: 0; }
.pdm-festival-menu .pdm-food-name { font-size: 19px; font-weight: 900; letter-spacing: -.02em; line-height: 1.25; margin: 0; overflow-wrap: anywhere; }
.pdm-festival-menu .pdm-food-description { color: var(--menu-muted); font-size: 15px; line-height: 1.5; margin: 8px 0 0; }
.pdm-festival-menu .pdm-food-cost { text-align: right; }
.pdm-festival-menu .pdm-food-price { font-size: 24px; font-weight: 900; line-height: 1.05; letter-spacing: -.03em; white-space: nowrap; font-variant-numeric: tabular-nums; margin: 0 0 9px; }
.pdm-festival-menu .pdm-food-token { display: inline-block; color: var(--menu-paper); background: var(--menu-ink); border-radius: 4px; padding: 5px 7px; font-size: 12px; font-weight: 700; line-height: 1.2; white-space: nowrap; margin: 0; }
.pdm-festival-menu .pdm-bar-menu { max-width: none; margin: 0; padding: 0; background: transparent; border-radius: 0; }
.pdm-festival-menu .pdm-bar-menu .pdm-bar-header { display: none; }
@media (hover: hover) {
 .pdm-festival-menu summary:hover { background: rgba(17, 17, 17, .045); }
}
@media (min-width: 768px) {
 .pdm-festival-menu { margin: 88px auto 80px; padding: 56px 64px; width: calc(100% - 64px); }
 .pdm-festival-menu .pdm-menu-header { margin-bottom: 40px; }
 .pdm-festival-menu .pdm-menu-section > summary { padding-top: 28px; padding-bottom: 28px; }
 .pdm-festival-menu .pdm-food-items { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
}
/* Open menu accordions: visible selection, with room around the content. */
.pdm-festival-menu { --menu-open: #e6edce; }
.pdm-festival-menu .pdm-menu-section > summary { padding-left: 16px; padding-right: 54px; }
.pdm-festival-menu .pdm-menu-section > summary::after { right: 12px; }
.pdm-festival-menu .pdm-menu-section[open] > summary,
.pdm-festival-menu .pdm-food-vendor[open] { background-color: var(--menu-open); }
.pdm-festival-menu .pdm-food-vendor > summary { padding-left: 16px; padding-right: 52px; }
.pdm-festival-menu .pdm-food-vendor > summary::after { right: 12px; }
.pdm-festival-menu .pdm-food-vendor-content { padding-left: 16px; padding-right: 16px; }
.pdm-festival-menu details > summary:focus-visible { background-color: var(--menu-accent); }
