/* Eventra storefront — mobile first. Everything is scoped under .ev so Squarespace styles don't leak in or out. */
@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Jost:wght@400;500;600&display=swap");

.ev, .ev-fab, .ev-toast {
  --ev-bg: #F4EEE4; --ev-card: #FBF8F2; --ev-ink: #2B2420; --ev-muted: #5A4E44; --ev-soft: #6B5E52;
  --ev-line: #E2D8C8; --ev-line2: #D6C9B4; --ev-tint: #E8DDCB; --ev-sel: #EFE6D6;
  --ev-accent: #8C6A3A; --ev-hi: #D9C29A; --ev-bad: #9A3B2B;
  --ev-bold: "Bricolage Grotesque", Jost, system-ui, sans-serif; --ev-body: Jost, system-ui, sans-serif;
}
.ev { font-family: var(--ev-body); color: var(--ev-ink); background: var(--ev-bg); font-size: 16px; line-height: 1.45; text-align: left; -webkit-font-smoothing: antialiased; }
.ev *, .ev *::before, .ev *::after { box-sizing: border-box; }
.ev h1, .ev h2, .ev h3 { font-family: var(--ev-bold); font-weight: 800; color: var(--ev-ink); margin: 0; letter-spacing: -0.02em; text-transform: none; }
.ev h1 { font-size: 34px; line-height: 1; }
.ev h2 { font-size: 22px; line-height: 1.1; }
.ev p { margin: 0; }
.ev a { color: var(--ev-ink); }
.ev button { font: inherit; color: inherit; }
.ev input, .ev select, .ev textarea { font: inherit; font-size: 16px; color: var(--ev-ink); }
.ev :focus-visible { outline: 3px solid var(--ev-accent); outline-offset: 2px; }
.ev .ev-wrap { max-width: 560px; margin: 0 auto; padding: 20px 16px 120px; display: flex; flex-direction: column; gap: 22px; }
.ev .ev-wrap.wide { max-width: 1120px; }
.ev .ev-num { font-family: var(--ev-bold); font-weight: 800; letter-spacing: -0.02em; }
.ev .ev-muted { color: var(--ev-muted); }
.ev .ev-small { font-size: 13px; color: var(--ev-soft); }
.ev .ev-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 1.5px; color: var(--ev-soft); text-transform: uppercase; }
.ev .ev-req { font-size: 11px; font-weight: 600; letter-spacing: 1px; color: var(--ev-accent); text-transform: uppercase; }
.ev .ev-row { display: flex; align-items: center; gap: 10px; }
.ev .ev-between { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ev .ev-section { display: flex; flex-direction: column; gap: 10px; }
.ev .ev-card { background: var(--ev-card); border: 1px solid var(--ev-line); border-radius: 16px; padding: 16px; }
.ev .ev-dark { background: var(--ev-ink); color: var(--ev-bg); border-radius: 16px; padding: 16px; }
.ev .ev-dark a { color: var(--ev-bg); }
.ev .ev-hidden { display: none !important; }
.ev .ev-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* buttons */
.ev .ev-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; padding: 0 24px; border-radius: 999px; border: 0; background: var(--ev-ink); color: var(--ev-bg); font-family: var(--ev-bold); font-weight: 800; font-size: 17px; text-decoration: none; cursor: pointer; width: 100%; }
.ev .ev-btn:disabled { background: var(--ev-line2); color: var(--ev-soft); cursor: not-allowed; }
.ev .ev-btn.ghost { background: transparent; color: var(--ev-ink); border: 1.5px solid var(--ev-ink); }
.ev .ev-btn.light { background: var(--ev-bg); color: var(--ev-ink); }
.ev .ev-link { background: none; border: 0; padding: 0; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* segmented tabs + pills */
.ev .ev-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; padding: 5px; border-radius: 999px; background: var(--ev-tint); }
.ev .ev-tabs button { min-height: 46px; border: 0; border-radius: 999px; background: transparent; font-family: var(--ev-bold); font-weight: 700; font-size: 16px; cursor: pointer; }
.ev .ev-tabs button[aria-selected="true"] { background: var(--ev-ink); color: var(--ev-bg); }
.ev .ev-pills { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ev .ev-pills.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ev .ev-pills.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ev .ev-pill { min-height: 54px; padding: 6px 8px; border-radius: 999px; border: 1.5px solid var(--ev-line2); background: var(--ev-card); font-family: var(--ev-bold); font-weight: 700; font-size: 14px; line-height: 1.15; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ev .ev-pill small { font-family: var(--ev-body); font-weight: 500; font-size: 12px; opacity: .85; }
.ev .ev-pill.sq { border-radius: 14px; min-height: 48px; }
.ev .ev-pill[aria-checked="true"], .ev .ev-pill[aria-pressed="true"] { background: var(--ev-ink); border-color: var(--ev-ink); color: var(--ev-bg); }
.ev .ev-pill.wide { grid-column: 1 / -1; border-style: dashed; border-color: #8A7C6E; background: transparent; font-size: 17px; font-weight: 800; }

/* fields */
.ev .ev-field { display: flex; flex-direction: column; gap: 6px; }
.ev .ev-field label, .ev .ev-label { font-size: 14px; font-weight: 600; }
.ev .ev-input { height: 52px; width: 100%; border-radius: 14px; border: 1.5px solid var(--ev-line2); background: var(--ev-card); padding: 0 16px; }
.ev select.ev-input { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ev-ink) 50%), linear-gradient(135deg, var(--ev-ink) 50%, transparent 50%); background-position: calc(100% - 22px) 23px, calc(100% - 16px) 23px; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 40px; }
.ev .ev-input[aria-invalid="true"] { border-color: var(--ev-bad); }
.ev .ev-grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.ev .ev-err { font-size: 13px; color: var(--ev-bad); font-weight: 500; }
.ev .ev-alert { padding: 14px 16px; border-radius: 14px; background: #F6E3DE; border: 1.5px solid var(--ev-bad); color: #5E1F14; font-size: 14px; }

/* check rows */
.ev .ev-check { display: flex; align-items: flex-start; gap: 12px; min-height: 56px; padding: 12px 14px; border-radius: 16px; border: 1.5px solid var(--ev-line2); background: var(--ev-card); cursor: pointer; text-align: left; width: 100%; }
.ev .ev-check[aria-checked="true"] { border-color: var(--ev-ink); background: var(--ev-sel); }
.ev .ev-box { flex: 0 0 24px; height: 24px; border-radius: 7px; border: 1.5px solid #8A7C6E; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; margin-top: 1px; }
.ev .ev-check[aria-checked="true"] .ev-box { background: var(--ev-ink); border-color: var(--ev-ink); color: var(--ev-bg); }
.ev .ev-check.radio .ev-box { border-radius: 50%; }
.ev .ev-check .ev-grow { flex: 1; display: flex; flex-direction: column; gap: 2px; }

/* shop */
.ev .ev-search { position: relative; }
.ev .ev-search .ev-input { padding-left: 44px; border-radius: 999px; }
.ev .ev-search svg { position: absolute; left: 16px; top: 16px; }
.ev .ev-chips { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; margin: 0 -16px; padding-left: 16px; padding-right: 16px; }
.ev .ev-chips::-webkit-scrollbar { display: none; }
.ev .ev-chip { flex: none; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--ev-line2); background: var(--ev-card); font-weight: 600; font-size: 14px; cursor: pointer; white-space: nowrap; }
.ev .ev-chip[aria-pressed="true"] { background: var(--ev-ink); color: var(--ev-bg); border-color: var(--ev-ink); }
.ev .ev-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 720px) { .ev .ev-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .ev .ev-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ev .ev-tile { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--ev-ink); }
.ev .ev-img { position: relative; aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: var(--ev-tint); display: flex; align-items: center; justify-content: center; }
.ev .ev-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev .ev-img .ev-mono { font-family: var(--ev-bold); font-weight: 800; font-size: 40px; color: #B9A88F; letter-spacing: -1px; }
.ev .ev-tile .ev-name { font-family: var(--ev-bold); font-weight: 700; font-size: 15px; line-height: 1.15; }
.ev .ev-tile .ev-price { font-size: 14px; color: var(--ev-muted); }
.ev .ev-empty { padding: 40px 16px; text-align: center; color: var(--ev-muted); }

/* item */
.ev .ev-gallery { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 0 16px; scrollbar-width: none; }
.ev .ev-gallery::-webkit-scrollbar { display: none; }
.ev .ev-gallery .ev-img { flex: 0 0 100%; scroll-snap-align: center; aspect-ratio: 1 / 1; border-radius: 180px 180px 16px 16px; }
.ev .ev-gallery.many .ev-img { flex-basis: 88%; }
.ev .ev-qty { display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 8px; border-radius: 999px; background: var(--ev-card); border: 1.5px solid var(--ev-line2); }
.ev .ev-qty button { width: 48px; height: 48px; border: 0; border-radius: 24px; background: var(--ev-tint); font-size: 24px; font-weight: 600; cursor: pointer; }
.ev .ev-qty button.plus { background: var(--ev-ink); color: var(--ev-bg); }
.ev .ev-qty input { width: 120px; border: 0; background: transparent; text-align: center; font-family: var(--ev-bold); font-weight: 800; font-size: 34px; letter-spacing: -1px; }
.ev .ev-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ev .ev-sticky { position: sticky; bottom: 12px; z-index: 5; }
.ev .ev-sticky .ev-btn { box-shadow: 0 10px 30px rgba(43, 36, 32, .25); }
.ev .ev-note { display: flex; gap: 12px; align-items: center; font-size: 14px; }

/* checkout */
.ev .ev-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ev .ev-steps div { display: flex; flex-direction: column; gap: 6px; font-family: var(--ev-bold); font-size: 13px; font-weight: 700; color: var(--ev-soft); }
.ev .ev-steps div::before { content: ""; height: 4px; border-radius: 2px; background: var(--ev-line2); }
.ev .ev-steps div.on { color: var(--ev-ink); }
.ev .ev-steps div.on::before { background: var(--ev-ink); }
.ev .ev-line { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--ev-line); }
.ev .ev-line:last-child { border-bottom: 0; }
.ev .ev-line .ev-thumb { flex: 0 0 56px; height: 56px; border-radius: 12px; overflow: hidden; background: var(--ev-tint); display: flex; align-items: center; justify-content: center; font-family: var(--ev-bold); font-weight: 800; color: #B9A88F; }
.ev .ev-line .ev-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ev .ev-line .ev-grow { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ev .ev-line .ev-mini { display: inline-flex; align-items: center; gap: 4px; }
.ev .ev-line .ev-mini button { width: 32px; height: 32px; border-radius: 16px; border: 1.5px solid var(--ev-line2); background: var(--ev-card); cursor: pointer; font-weight: 700; }
.ev .ev-line .ev-mini span { min-width: 34px; text-align: center; font-family: var(--ev-bold); font-weight: 800; }
.ev .ev-sum { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.ev .ev-sum .ev-between span:last-child { font-family: var(--ev-bold); font-weight: 700; }
.ev .ev-sum .ev-total span { font-family: var(--ev-bold); font-weight: 800; font-size: 20px; }
.ev .ev-sum .ev-total span:last-child { font-size: 26px; letter-spacing: -0.8px; }
.ev .ev-sum hr { border: 0; height: 1px; background: var(--ev-line); margin: 0; }
.ev .ev-bar { height: 8px; border-radius: 4px; background: var(--ev-line); overflow: hidden; }
.ev .ev-bar div { height: 8px; border-radius: 4px; background: var(--ev-accent); }
.ev .ev-disc { color: var(--ev-accent); }
.ev .ev-badge { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; background: var(--ev-ink); color: var(--ev-bg); font-size: 11px; font-weight: 600; letter-spacing: 1px; }
.ev #ev-card-box { min-height: 90px; }
.ev .ev-spin { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid currentColor; border-right-color: transparent; animation: evspin .7s linear infinite; }
@keyframes evspin { to { transform: rotate(360deg); } }
.ev .ev-skel { background: linear-gradient(90deg, var(--ev-tint), var(--ev-card), var(--ev-tint)); background-size: 200% 100%; animation: evsk 1.2s ease-in-out infinite; border-radius: 16px; }
@keyframes evsk { to { background-position: -200% 0; } }

/* floating cart + toast (outside .ev roots) */
.ev-fab { position: fixed; right: 16px; bottom: 16px; z-index: 9999; display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 20px 0 16px; border-radius: 999px; background: var(--ev-ink); color: var(--ev-bg) !important; font-family: var(--ev-bold); font-weight: 800; font-size: 16px; text-decoration: none !important; box-shadow: 0 10px 30px rgba(43, 36, 32, .3); }
.ev-fab b { min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px; background: var(--ev-hi); color: var(--ev-ink); font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.ev-toast { position: fixed; left: 16px; right: 16px; bottom: 84px; z-index: 10000; max-width: 420px; margin: 0 auto; padding: 14px 16px; border-radius: 14px; background: var(--ev-ink); color: var(--ev-bg); font-family: var(--ev-body); font-size: 15px; display: flex; justify-content: space-between; align-items: center; gap: 12px; box-shadow: 0 10px 30px rgba(43, 36, 32, .3); }
.ev-toast a { color: var(--ev-hi) !important; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .ev .ev-spin, .ev .ev-skel { animation: none; } }
.ev .ev-qty input { -moz-appearance: textfield; appearance: textfield; }
.ev .ev-qty input::-webkit-outer-spin-button, .ev .ev-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ev section:empty { display: none; }
/* Squarespace sets fonts on p/li/a/label directly. Win them back inside the store. */
.ev p, .ev li, .ev a, .ev label, .ev span, .ev small, .ev strong, .ev input, .ev select, .ev button, .ev ol, .ev ul { font-family: var(--ev-body); letter-spacing: normal; text-transform: none; }
.ev p, .ev li { font-size: inherit; line-height: 1.5; }
.ev .ev-num, .ev .ev-btn, .ev .ev-pill, .ev .ev-tabs button, .ev .ev-tile .ev-name, .ev h1, .ev h2, .ev .ev-steps div, .ev .ev-qty input, .ev .ev-mono, .ev .ev-line .ev-mini span { font-family: var(--ev-bold); }
.ev .ev-num { letter-spacing: -0.02em; }
.ev .ev-small { font-size: 13px; }

/* ---------- home ---------- */
.ev .ev-home { display: flex; flex-direction: column; }
.ev .ev-home > .ev-wrap { padding-bottom: 0; gap: 16px; }
.ev .ev-home > .ev-wrap:last-child { padding-bottom: 48px; }
.ev .ev-tag { display: inline-flex; align-items: center; gap: 4px; padding: 7px 12px; border-radius: 999px; border: 1.5px solid var(--ev-ink); font-size: 12px; font-weight: 600; letter-spacing: .5px; text-decoration: none; color: var(--ev-ink); align-self: flex-start; }
.ev .ev-tag.dark { background: var(--ev-ink); color: var(--ev-bg); border-color: var(--ev-ink); }
.ev .ev-tag.hi { background: var(--ev-hi); color: var(--ev-ink); border-color: var(--ev-hi); letter-spacing: 1.5px; font-size: 11px; }
.ev .ev-hero { gap: 18px; padding-top: 28px; }
.ev .ev-hero-h { font-size: clamp(52px, 14vw, 88px); line-height: .92; letter-spacing: -0.04em; }
.ev .ev-lede { font-size: 17px; line-height: 1.55; color: var(--ev-muted); }
.ev .ev-hero-img { position: relative; height: 290px; border-radius: 200px 200px 16px 16px; background: var(--ev-tint); }
.ev .ev-hero-img img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }
.ev .ev-disc { position: absolute; right: -6px; bottom: 18px; width: 104px; height: 104px; border-radius: 52px; background: var(--ev-ink); color: var(--ev-bg); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.ev .ev-disc span { font-size: 11px; letter-spacing: 1px; color: var(--ev-bg); }
.ev .ev-disc b { font-size: 28px; color: var(--ev-bg); }
.ev .ev-stats { margin-top: 32px; background: var(--ev-ink); color: var(--ev-bg); padding: 26px 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
@media (min-width: 720px) { .ev .ev-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 32px max(24px, calc(50% - 540px)); } }
.ev .ev-stats div { display: flex; flex-direction: column; gap: 2px; }
.ev .ev-stats b { font-size: 40px; line-height: 1; color: var(--ev-bg); }
.ev .ev-stats b.hi { color: var(--ev-hi); }
.ev .ev-stats span { font-size: 13px; color: #CDBFAE; }
.ev .ev-home > .ev-wrap:nth-child(3) { padding-top: 32px; }
.ev .ev-input.pill { border-radius: 999px; background: var(--ev-bg); flex: 1; min-width: 0; }
.ev .ev-result { padding: 12px 16px; border-radius: 12px; background: var(--ev-sel); font-size: 15px; }
.ev .ev-h2 { font-size: 32px; letter-spacing: -0.03em; line-height: 1; }
.ev .ev-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 720px) { .ev .ev-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ev .ev-cat { position: relative; height: 140px; border-radius: 14px; overflow: hidden; background: var(--ev-tint); display: flex; align-items: flex-end; padding: 14px; text-decoration: none; }
.ev .ev-cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ev .ev-cat img + span { color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,.55); }
.ev .ev-cat span { position: relative; font-family: var(--ev-bold); font-weight: 800; font-size: 19px; letter-spacing: -0.02em; line-height: 1.05; color: var(--ev-ink); }
.ev .ev-big { font-size: 76px; line-height: 1; letter-spacing: -0.04em; color: var(--ev-hi); }
.ev #ev-guests { width: 100%; height: 32px; accent-color: var(--ev-hi); }
.ev .ev-pill.ev-pill-dark { background: transparent; color: var(--ev-bg); border-color: #6B5E52; border-radius: 16px; }
.ev .ev-pill.ev-pill-dark[aria-checked="true"] { background: var(--ev-bg); color: var(--ev-ink); border-color: var(--ev-bg); }
.ev .ev-tri { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ev .ev-tri div { border-radius: 16px; padding: 14px 12px; color: var(--ev-ink); display: flex; flex-direction: column; background: var(--ev-bg); }
.ev .ev-tri div:nth-child(2) { background: var(--ev-tint); }
.ev .ev-tri div:nth-child(3) { background: var(--ev-hi); }
.ev .ev-tri b { font-size: 34px; line-height: 1; color: var(--ev-ink); }
.ev .ev-tri span { font-size: 13px; font-weight: 600; padding-top: 4px; color: var(--ev-ink); }
.ev .ev-rail { display: flex; gap: 14px; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
.ev .ev-rail::-webkit-scrollbar { display: none; }
.ev .ev-railcard { flex: 0 0 210px; }
.ev .ev-img.arch { aspect-ratio: auto; height: 240px; border-radius: 120px 120px 12px 12px; }
.ev .ev-onimg { position: absolute; left: 10px; bottom: 10px; font-size: 11px; letter-spacing: 1px; padding: 5px 10px; }
.ev .ev-steps3 > div { display: flex; gap: 18px; align-items: center; padding: 16px 0; border-top: 1px solid var(--ev-line); }
.ev .ev-steps3 > div:last-child { border-bottom: 1px solid var(--ev-line); }
.ev .ev-steps3 > div > b { font-size: 40px; color: var(--ev-accent); width: 40px; }
.ev .ev-steps3 strong { font-size: 18px; display: block; }
.ev .ev-guar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 720px) { .ev .ev-guar { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ev .ev-guar div { padding: 16px; border-radius: 14px; border: 1.5px solid var(--ev-ink); display: flex; flex-direction: column; gap: 4px; }
.ev .ev-guar strong { font-size: 17px; }
.ev .ev-dark .ev-small, .ev .ev-dark p { color: #CDBFAE; }
@media (min-width: 900px) {
  .ev .ev-hero { max-width: 1120px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; align-items: center; }
  .ev .ev-hero > * { grid-column: 1; }
  .ev .ev-hero > .ev-hero-img { grid-column: 2; grid-row: 1 / span 4; height: 520px; }
  .ev .ev-home > .ev-wrap { max-width: 1120px; }
}

/* ---------- footer (code block in the Squarespace footer) ---------- */
.ev.ev-footer-root, [data-eventra="footer"].ev { background: transparent; }
.ev .ev-foot { color: var(--ev-bg); display: flex; flex-direction: column; gap: 18px; padding: 8px 16px; max-width: 1120px; margin: 0 auto; }
.ev .ev-foot .ev-word { font-family: var(--ev-bold); font-weight: 800; font-size: 40px; letter-spacing: -0.04em; color: var(--ev-bg); line-height: 1; }
.ev .ev-foot p, .ev .ev-foot a { color: var(--ev-bg); }
.ev .ev-foot .ev-foot-lede { color: #CDBFAE; }
.ev .ev-foot-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 720px) { .ev .ev-foot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ev .ev-foot-grid div { display: flex; flex-direction: column; gap: 4px; }
.ev .ev-foot-grid a { text-decoration: none; font-weight: 600; }
.ev .ev-foot .ev-eyebrow { color: var(--ev-hi); }
.ev .ev-foot-links { display: flex; flex-wrap: wrap; gap: 8px 18px; padding-top: 12px; border-top: 1px solid #4A3F38; }
.ev .ev-foot-links a { font-weight: 500; text-underline-offset: 3px; }
.ev .ev-foot .ev-small { color: #A89887; }

/* ---------- site skin: Squarespace header + footer + page in Eventra colors ---------- */
body.ev-skin { background: #F4EEE4; }
.ev-skin .header .header-background, .ev-skin .header-announcement-bar-wrapper { background: #F4EEE4 !important; }
.ev-skin .header-border { border-bottom: 1px solid #E2D8C8 !important; }
.ev-skin #site-title, .ev-skin .header-title-text a { font-family: "Bricolage Grotesque", Jost, sans-serif !important; font-weight: 800 !important; letter-spacing: -0.04em !important; color: #2B2420 !important; font-size: 30px !important; text-transform: lowercase; }
.ev-skin #site-title::after { content: "."; color: #8C6A3A; }
.ev-skin .header-nav-item a, .ev-skin .header-menu-nav-item a { font-family: Jost, sans-serif !important; font-weight: 500 !important; color: #2B2420 !important; letter-spacing: 0 !important; }
.ev-skin .header-actions-action--cta a, .ev-skin .header-actions-action--cta .btn, .ev-skin .header-menu-cta a { background: #2B2420 !important; color: #F4EEE4 !important; border-radius: 999px !important; font-family: "Bricolage Grotesque", Jost, sans-serif !important; font-weight: 700 !important; }
.ev-skin .header-burger-btn .top-bun, .ev-skin .header-burger-btn .patty, .ev-skin .header-burger-btn .bottom-bun { background-color: #2B2420 !important; }
.ev-skin .header-menu .header-menu-bg { background: #F4EEE4 !important; }
.ev-skin .header-menu-nav-item a { font-family: "Bricolage Grotesque", Jost, sans-serif !important; font-weight: 800 !important; font-size: 34px !important; letter-spacing: -0.03em !important; }
.ev-skin .ev-strip { height: 38px; background: #2B2420; color: #F4EEE4; font-family: Jost, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .5px; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; z-index: 2; }
.ev-skin #footer-sections .page-section, .ev-skin footer.sections .page-section { background: #2B2420 !important; color: #F4EEE4; }
.ev-skin #footer-sections .section-background, .ev-skin footer.sections .section-background { background: #2B2420 !important; }
.ev-skin .page-section:has([data-eventra]) .section-background { background: #F4EEE4 !important; }
.ev-skin main .page-section:has([data-eventra]) { padding-bottom: 0 !important; } /* keep Squarespace's top padding: it clears the floating header */
.ev-skin main .page-section:has([data-eventra]) .content-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; }
.ev-skin main .page-section:has([data-eventra]) .content-wrapper { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; }
.ev-skin #footer-sections .page-section:has([data-eventra]) .section-background { background: #2B2420 !important; }
.ev .ev-home > * { min-width: 0; width: 100%; }
.ev .ev-wrap > * { min-width: 0; }

/* ---------- legal pages (Rental Service Agreement) ---------- */
.ev.ev-legal { max-width: 760px; margin: 0 auto; padding: 32px 16px 64px; display: flex; flex-direction: column; gap: 14px; }
.ev.ev-legal h1 { font-size: clamp(34px, 8vw, 52px); line-height: .95; letter-spacing: -0.03em; }
.ev.ev-legal h2 { font-size: 22px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--ev-line); }
.ev.ev-legal p, .ev.ev-legal li { font-size: 16px; line-height: 1.6; color: var(--ev-muted); }
.ev.ev-legal strong { color: var(--ev-ink); font-weight: 600; }
.ev.ev-legal ul, .ev.ev-legal ol { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }
.ev.ev-legal a { color: var(--ev-ink); font-weight: 600; text-underline-offset: 3px; }

/* ---------- account ---------- */
.ev .ev-signin-art { height: 150px; border-radius: 120px 120px 16px 16px; background: linear-gradient(160deg, var(--ev-tint), var(--ev-hi)); }
.ev .ev-code { height: 64px; text-align: center; font-family: var(--ev-bold) !important; font-weight: 800; font-size: 32px; letter-spacing: 12px; }
.ev .ev-switch { flex: none; width: 44px; height: 26px; border-radius: 999px; background: #CDBFAE; position: relative; align-self: center; }
.ev .ev-switch span { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--ev-card); transition: left .15s; }
.ev .ev-check[aria-checked="true"] .ev-switch { background: var(--ev-ink); }
.ev .ev-check[aria-checked="true"] .ev-switch span { left: 21px; }
.ev .ev-faq summary { cursor: pointer; font-size: 16px; list-style: none; }
.ev .ev-faq summary::-webkit-details-marker { display: none; }
.ev .ev-faq summary::after { content: "+"; float: right; font-size: 20px; line-height: 1; }
.ev .ev-faq[open] summary::after { content: "−"; }
.ev .ev-faq p { margin-top: 10px; }
/* iPhone Safari: date inputs have a built-in min width and center their text. Keep them inside their column. */
.ev .ev-field, .ev .ev-grid2 > * { min-width: 0; }
.ev input[type="date"].ev-input { -webkit-appearance: none; appearance: none; display: block; width: 100%; min-width: 0; max-width: 100%; text-align: left; line-height: 52px; }
.ev input[type="date"].ev-input::-webkit-date-and-time-value { text-align: left; margin: 0; }
.ev input[type="date"].ev-input::-webkit-datetime-edit { padding: 0; }

/* ---------- address autofill ---------- */
.ev .ev-ac { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; margin: 6px 0 0; padding: 6px; list-style: none; background: var(--ev-card); border: 1.5px solid var(--ev-ink); border-radius: 14px; box-shadow: 0 12px 30px rgba(43, 36, 32, .18); }
.ev .ev-ac[hidden] { display: none; }
.ev .ev-ac-opt { display: flex; flex-direction: column; gap: 1px; padding: 10px 12px; border-radius: 10px; cursor: pointer; }
.ev .ev-ac-opt strong { font-size: 15px; font-weight: 600; }
.ev .ev-ac-opt span { font-size: 13px; color: var(--ev-soft); }
.ev .ev-ac-opt[aria-selected="true"], .ev .ev-ac-opt:hover { background: var(--ev-sel); }
.ev .ev-ac-by { padding: 6px 12px 2px; font-size: 11px; color: var(--ev-soft); text-align: right; }

/* Add-ons: one heading, each Square modifier list as a subhead */
.ev .ev-addons > .ev-small { margin: -4px 0 4px; }
.ev .ev-addon { margin-top: 14px; }
.ev .ev-addon h3 { font-size: 18px; font-weight: 700; margin: 0; line-height: 1.2; }

/* FAQ page */
.ev .ev-faq-h { font-size: 20px; margin: 26px 0 10px; }
.ev .ev-faq { margin-bottom: 10px; padding: 16px 18px; }
.ev .ev-faq p { margin: 10px 0 0; }
.ev .ev-btn.ghost.light { background: transparent; color: var(--ev-bg); border: 1.5px solid var(--ev-bg); }
.ev .ev-dark.ev-note .ev-btn { flex: none; width: auto; padding: 0 20px; }
/* Video (hero + item gallery) */
.ev .ev-hero-img video { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }
.ev .ev-vid { background: #000; }
.ev .ev-vid video, .ev .ev-vid iframe { width: 100%; height: 100%; object-fit: contain; border: 0; display: block; border-radius: inherit; }

/* "Chairs from" circle: 10% smaller on phones, full size on desktop */
@media (max-width: 899px) {
  .ev .ev-disc { width: 94px; height: 94px; border-radius: 47px; }
  .ev .ev-disc span { font-size: 10px; }
  .ev .ev-disc b { font-size: 25px; }
}

/* Shop menu: desktop dropdown */
.ev-dd-host { position: relative; }
.ev.ev-dd { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); z-index: 40; min-width: 240px; margin-top: 10px; padding: 8px; background: var(--ev-card); border: 1.5px solid var(--ev-line2); border-radius: 16px; box-shadow: 0 18px 40px rgba(43,36,32,.14); display: flex; flex-direction: column; font-family: var(--ev-body); text-align: left; }
.ev.ev-dd[hidden] { display: none; }
.ev.ev-dd::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; } /* keeps hover alive across the gap */
.ev-skin .ev.ev-dd a.ev-dd-link, .ev.ev-dd a.ev-dd-link { display: block; padding: 10px 14px; border-radius: 10px; font-size: 15px !important; font-weight: 500 !important; color: var(--ev-ink) !important; text-decoration: none; white-space: nowrap; }
.ev.ev-dd a.ev-dd-link:hover, .ev.ev-dd a.ev-dd-link:focus-visible { background: var(--ev-sel); }
.ev-skin .ev.ev-dd a.ev-dd-all { margin-top: 4px; border-top: 1px solid var(--ev-line); border-radius: 0 0 10px 10px; font-weight: 700 !important; color: var(--ev-accent) !important; }
@media (max-width: 799px) { .ev.ev-dd { display: none !important; } }
/* Shop menu: mobile list inside the burger menu */
.ev.ev-mnav { display: flex; flex-direction: column; padding: 4px 0 14px; text-align: left; font-family: var(--ev-body); }
.ev.ev-mnav[hidden] { display: none; }
.ev .ev-mnav-item { display: block; color: var(--ev-ink); text-decoration: none; padding: 11px 0; border-top: 1px solid var(--ev-line); }
.ev .ev-mnav-all { color: var(--ev-accent); text-decoration: none; padding: 11px 0; border-top: 1px solid var(--ev-line); }
.ev-skin .header-menu-nav-item .ev-mnav a { font-family: "Bricolage Grotesque", Jost, sans-serif !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: -0.01em !important; }
.ev-chev { display: inline-flex; vertical-align: middle; margin-left: 8px; transition: transform .2s ease; position: relative; top: -2px; }
.ev-open .ev-chev { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .ev-chev { transition: none; } }
/* Sold out */
.ev .ev-tile { position: relative; }
.ev .ev-tile.ev-out .ev-img, .ev .ev-tile.ev-out .ev-thumb { opacity: .55; }
.ev .ev-soldtag { position: absolute; top: 10px; left: 10px; z-index: 1; }
.ev .ev-pill:disabled { opacity: .45; cursor: not-allowed; }
/* Manage dates */
.ev .ev-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.ev .ev-link { background: none; border: 0; padding: 8px 0; font: inherit; font-weight: 600; color: var(--ev-bad); text-decoration: underline; cursor: pointer; }
.ev select.ev-input { -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 40px; }

/* Home tiles: slow zoom + darker tint on hover/focus; a gentle press on phones */
.ev .ev-cat { isolation: isolate; -webkit-tap-highlight-color: transparent; }
.ev .ev-cat img { transition: transform .6s cubic-bezier(.2,.7,.2,1); will-change: transform; }
.ev .ev-cat::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(to top, rgba(43,36,32,.55), rgba(43,36,32,.05) 60%); opacity: .7; transition: opacity .4s ease; }
.ev .ev-cat span { z-index: 1; transition: transform .4s ease; }
@media (hover: hover) {
  .ev .ev-cat:hover img, .ev .ev-cat:focus-visible img { transform: scale(1.08); }
  .ev .ev-cat:hover::after, .ev .ev-cat:focus-visible::after { opacity: 1; background: linear-gradient(to top, rgba(43,36,32,.7), rgba(43,36,32,.25)); }
  .ev .ev-cat:hover span, .ev .ev-cat:focus-visible span { transform: translateY(-3px); }
}
.ev .ev-cat:active img { transform: scale(1.05); }
.ev .ev-cat:active::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .ev .ev-cat img, .ev .ev-cat span { transition: none; transform: none !important; } }

/* Event planner slider: big thumb, thick track, filled to the value; drag stays on the slider */
.ev input.ev-range { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; margin: 0; background: transparent; cursor: pointer; touch-action: none; --ev-fill: 38%; }
.ev input.ev-range:focus { outline: none; }
.ev input.ev-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(217,194,154,.5); }
.ev input.ev-range::-webkit-slider-runnable-track { height: 10px; border-radius: 5px; background: linear-gradient(to right, var(--ev-hi) var(--ev-fill), #5A4E44 var(--ev-fill)); }
.ev input.ev-range::-webkit-slider-thumb { -webkit-appearance: none; width: 34px; height: 34px; margin-top: -12px; border-radius: 50%; background: var(--ev-bg); border: 3px solid var(--ev-hi); box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.ev input.ev-range::-moz-range-track { height: 10px; border-radius: 5px; background: #5A4E44; }
.ev input.ev-range::-moz-range-progress { height: 10px; border-radius: 5px; background: var(--ev-hi); }
.ev input.ev-range::-moz-range-thumb { width: 30px; height: 30px; border-radius: 50%; background: var(--ev-bg); border: 3px solid var(--ev-hi); box-shadow: 0 2px 8px rgba(0,0,0,.35); }

/* Contact page */
.ev .ev-cc-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 8px; }
@media (min-width: 720px) { .ev .ev-cc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ev .ev-cc { padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.ev .ev-cc strong { font-size: 20px; }
.ev .ev-cc p { margin: 0; }
.ev .ev-cc-ic { width: 44px; height: 44px; border-radius: 22px; background: var(--ev-tint); color: var(--ev-accent); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.ev .ev-cc-big { font-family: var(--ev-bold); font-weight: 800; font-size: 22px; color: var(--ev-ink); text-decoration: none; word-break: break-word; }
.ev .ev-cc .ev-btn { width: auto; min-height: 46px; font-size: 15px; margin-top: 8px; }
.ev .ev-svc { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
@media (min-width: 720px) { .ev .ev-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; } }
.ev .ev-svc > div { padding: 14px 0; border-top: 1px solid var(--ev-line); }
.ev .ev-svc strong { font-size: 17px; display: block; margin-bottom: 2px; }
.ev .ev-svc p { margin: 0; }
.ev .ev-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.ev .ev-links a { padding: 10px 0; font-weight: 600; color: var(--ev-ink); text-decoration: none; border-bottom: 1px solid var(--ev-line); }
.ev .ev-links a:hover { color: var(--ev-accent); }
.ev .ev-cc-mail { font-size: clamp(15px, 4.6vw, 22px); word-break: normal; overflow-wrap: anywhere; letter-spacing: -0.02em; }
.ev .ev-hero-copy { display: flex; flex-direction: column; gap: 6px; }
.ev .ev-hero-copy .ev-lede { margin: 0; }
.ev .ev-tagline { margin: 0; font-family: var(--ev-bold); font-weight: 800; font-size: 22px; letter-spacing: -0.02em; line-height: 1.15; color: var(--ev-ink); }
/* Phones: "Efficient and Reliable." on one line, tight to the text below */
@media (max-width: 719px) {
  .ev .ev-tag-wide { display: none; }
  .ev .ev-tagline { white-space: nowrap; }
  .ev .ev-hero-copy { gap: 2px; }
}

/* ---------- social icons ---------- */
.ev .ev-social { display: flex; gap: 10px; flex-wrap: wrap; }
.ev .ev-social a { width: 40px; height: 40px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: transform .15s ease, background .15s ease, color .15s ease; }
.ev .ev-social-foot a { background: #3A312B; color: var(--ev-bg); }
.ev .ev-social-foot a:hover { background: var(--ev-accent); color: #fff; transform: translateY(-2px); }
.ev .ev-social-card a { background: var(--ev-ink, #2B2420); color: var(--ev-bg); }
.ev .ev-social-card a:hover { background: var(--ev-accent); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .ev .ev-social a { transition: none; } .ev .ev-social a:hover { transform: none; } }
