/* Old Imperial Market · Modern Rustic
   Type: Antonio (titles, labels, nav) · Special Gothic Expanded One (headers)
         Mr Dafoe (script) · DM Sans (body, buttons)
   Colours: Imperial Red #D31212 · Tobacco Black #171C1C · Morning Mist #DCE8EB
            Warm Linen #F6F2EF · Weathered Brick #B8ADA6 · Timber Taupe #5E5653 */


*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;background:#E9E2DC;color:#171C1C;font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}

.paper{width:100%;background-color:#F6F2EF;background-image:url(../images/texture-paper.png);background-size:512px 512px}

.mist{background-color:#DCE8EB;background-image:url(../images/texture-paper.png);background-size:512px 512px}

.cond{font-family:'Antonio','Arial Narrow',sans-serif;font-weight:700}

.title{font-family:'Antonio','Arial Narrow',sans-serif;font-weight:700;font-size:184px;line-height:1.2;letter-spacing:.14em;margin:0 -.14em 0 0;text-transform:uppercase;color:#D31212;white-space:nowrap}

.wide{font-family:'Special Gothic Expanded One','Arial Black',sans-serif;font-weight:400;letter-spacing:.005em}

.script{font-family:'Mr Dafoe','Brush Script MT',cursive;font-weight:400;line-height:1.1;white-space:nowrap;padding:0 .12em}

.sans{font-family:'DM Sans',system-ui,sans-serif}

.distress{font-family:'Antonio',Impact,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.06em;-webkit-mask-image:url(../images/texture-distress.png);mask-image:url(../images/texture-distress.png);-webkit-mask-size:520px;mask-size:520px}

.label{font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase}

.btn{font-family:'DM Sans',system-ui,sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.ph{background-color:#E4DBD4;background-image:repeating-linear-gradient(135deg,rgba(94,86,83,.16) 0 1.5px,transparent 1.5px 10px)}

.img{display:block;width:100%;height:100%;object-fit:cover}

a{color:#D31212;text-underline-offset:4px;font-family:'DM Sans',system-ui,sans-serif}

a:not(.card).label,a:not(.card).cond,.nav a,.r-link{font-family:'DM Sans',system-ui,sans-serif !important;font-weight:700 !important;letter-spacing:.1em !important;text-transform:uppercase}

.nav nav a{font-weight:600 !important;letter-spacing:.18em !important;font-size:15px !important}

a:hover{color:#171C1C}

.nav a{color:#171C1C;text-decoration:none}

.nav a:hover{color:#D31212}

.btn-red:hover{background:#171C1C !important;color:#F6F2EF !important}

.btn-line:hover{background:#171C1C !important;color:#F6F2EF !important}

.btn-light:hover{background:#171C1C !important;color:#F6F2EF !important;border-color:#171C1C !important}

.card:hover{transform:translateY(-4px);box-shadow:8px 8px 0 #171C1C}

.booth{transition:transform .15s, opacity .2s}

.booth:hover{transform:scale(1.08);z-index:2}

.chip:hover{border-color:#D31212 !important}

.ig:hover img{opacity:.8}

.field{font-family:'DM Sans',system-ui,sans-serif;font-size:18px;color:#171C1C;background:transparent;border:0;border-bottom:2px solid #171C1C;padding:10px 0;width:100%;box-sizing:border-box;outline:none;border-radius:0}

.field:focus{border-bottom-color:#D31212;background:rgba(211,18,18,.04)}

.field::placeholder{color:#7A706B}

.foot a{color:#F6F2EF;text-decoration:none}

.foot a:hover{color:#FF6B5E}


/* Events state: set hasUpcomingEvents in js/config.js */
html:not(.no-events) [data-when="empty"]{display:none !important}
html.no-events [data-when="events"]{display:none !important}

/* Contact form: event-only fields */
[data-event-field][hidden]{display:none !important}

button{font:inherit}
.booth:focus-visible,.chip:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #D31212;outline-offset:3px}

/* ───────────────────────── Responsive ─────────────────────────
   --u  scales the 1440px design down proportionally on smaller screens.
   --gut is the side gutter. Breakpoints: 1024 (tablet), 900 (menu), 640 (phone). */
:root{--u:min(1px, calc(100vw / 1440));--gut:64px}
img{max-width:100%}
.menu-btn{display:none}

@media (max-width:1024px){
  :root{--gut:40px}
  .r-grid.g3,.r-grid.g4,.r-grid.g5{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .r-grid.g6{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .r-grid.g12,.r-stack{grid-template-columns:minmax(0,1fr) !important;row-gap:40px !important}
  .r-grid.g12>*,.r-stack>*{grid-column:auto !important}
  .r-stack>*{border-right:0 !important}
  .r-hide-t,.r-stub{display:none !important}
  .r-absparent{display:flex !important;flex-direction:column;height:auto !important;min-height:0 !important}
  .r-absparent[style*="--padt"]{padding-top:var(--padt) !important}
  .r-abs{position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;order:9;margin:40px auto 0 !important;width:min(100%,420px) !important}
  .wide,.r-wrap{white-space:normal !important}
}

@media (max-width:900px){
  .paper>.label:first-child{justify-content:center !important;height:auto !important;padding-top:10px !important;padding-bottom:10px !important;text-align:center}
  .paper>.label:first-child>span:not(:first-child){display:none}
  header.nav{height:auto !important;padding-top:14px !important;padding-bottom:14px !important;flex-wrap:wrap;gap:12px}
  header.nav>a:first-child{height:auto !important}
  header.nav>a:first-child img{height:60px !important}
  header.nav>.btn-red{margin-left:auto;padding:14px 18px !important;font-size:12px !important}
  header.nav>nav{display:none !important;order:9;width:100%;flex-direction:column;align-items:stretch !important}
  header.nav.open>nav{display:flex !important}
  header.nav>nav a{border:0 !important;border-top:1px solid #171C1C !important;padding:16px 0 !important}
  .menu-btn{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:12px;border:2px solid #171C1C;background:transparent;cursor:pointer}
  .menu-btn span{display:block;height:2px;background:#171C1C;transition:transform .2s,opacity .2s}
  header.nav.open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.nav.open .menu-btn span:nth-child(2){opacity:0}
  header.nav.open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

@media (max-width:640px){
  :root{--gut:20px}
  .paper{--sk:1.35}
  .paper .r-grid.r-grid{grid-template-columns:minmax(0,1fr) !important}
  .paper .r-grid.r-grid>*{grid-column:auto !important}
  .paper>section:has(> img.img:first-child)>svg{display:none}
  .r-grid:not(.r-media)>[style*="border-left"]{border-left:0 !important;border-top:1px solid #B8ADA6 !important}
  .r-row{flex-wrap:wrap !important;row-gap:14px}
  header.nav>.btn-red{display:none !important}
  header.nav>a:first-child img{height:52px !important}
  .btn{letter-spacing:.06em}
  .card:hover{transform:none;box-shadow:none}
}
.title{font-size:max(40px, calc(184 * var(--u)))}
@media (max-width:1024px){
  .paper>section:has(> img.img:first-child){padding-left:var(--gut) !important;padding-right:var(--gut) !important}
  .paper{--sk:1.15}
  .script:not(.r-abs-script){white-space:normal !important;text-wrap:balance;line-height:1 !important}
  .r-abs-script{--sk:1}
  .script:not(.r-abs-script){height:auto !important;width:auto !important}
}
@media (max-width:640px){
  .title{letter-spacing:.1em;margin-right:-.1em}
}
@media (max-width:640px){
  /* the market map shows in full on phones */
  .paper [data-map] .booth{font-size:9px !important;letter-spacing:0 !important}
  .paper [data-map] .label{font-size:6px !important;letter-spacing:.08em !important}
}
}

/* ── Refinements ── */
header.nav{position:sticky;top:0;z-index:60;background-color:#F6F2EF;background-image:url(../images/texture-paper.png);background-size:512px 512px}
.paper{overflow:clip !important}
.dir-more{display:none}
@media (max-width:1024px){
  .paper>section:has(> img.img:first-child){padding-bottom:56px !important}
  .paper>section:has(> img.img:first-child) .r-row{justify-content:center}
  .r-abs svg{left:auto !important;right:6px !important;top:-40px !important;bottom:auto !important}
  .r-abs{margin-bottom:24px !important;margin-top:64px !important}
}
@media (max-width:640px){
  /* phone grids: cancel the old two-column rule, use r-two instead */
  .paper .r-grid.r-grid.g4:not(.r-two){grid-template-columns:minmax(0,1fr) !important}
  .paper .r-grid.r-grid.r-two{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  /* divider grids stack flush left */
  .paper .r-divgrid>*{padding-left:0 !important;padding-right:0 !important;border-left:0 !important}
  .paper .r-divgrid>*:not(:first-child){border-top:1px solid #B8ADA6 !important;padding-top:28px !important}
  .paper .r-divgrid>*{padding-bottom:28px !important}
  .paper .r-divgrid>.r-divfill{box-shadow:calc(-1 * var(--gut)) 0 0 #171C1C, var(--gut) 0 0 #171C1C}
  .paper .r-divgrid>.r-divfill[style*="211, 18, 18"],.paper .r-divgrid>.r-divfill[style*="D31212"]{box-shadow:calc(-1 * var(--gut)) 0 0 #D31212, var(--gut) 0 0 #D31212}
  /* steps */
  .r-step{padding-top:12px;margin-bottom:22px !important}
  /* vendor filter chips: one flush-left row that swipes */
  .paper [role="group"][aria-label^="Filter"]{flex-wrap:nowrap !important;overflow-x:auto;justify-content:flex-start !important;margin-right:calc(-1 * var(--gut));padding-right:var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .paper [role="group"][aria-label^="Filter"]::-webkit-scrollbar{display:none}
  .paper [role="group"][aria-label^="Filter"]>*{flex-shrink:0;white-space:nowrap}
  /* directory: first five, then expand */
  html:not(.dir-open) #directory .card.is-extra{display:none !important}
  .dir-more{display:block;align-self:flex-start;background:transparent;border:2px solid #171C1C;color:#171C1C;padding:16px 24px;cursor:pointer;font-family:'DM Sans',system-ui,sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
}
.dir-more[hidden]{display:none !important}
@media (max-width:640px){
  /* numbered lists: number above the text */
  .paper ol>li.r-row:has(> .cond:first-child + .sans),.paper ul>li.r-row:has(> .cond:first-child + .sans){flex-direction:column !important;align-items:flex-start !important;gap:6px !important}
}

/* Hero side table of contents: original type treatment */
nav.nav[aria-label="Sections"] a{font-family:'Antonio','Arial Narrow',sans-serif !important;font-weight:500 !important;letter-spacing:.12em !important;text-transform:none !important;white-space:nowrap}
@media (max-width:1024px){.vi-stamp{display:none !important}}

/* Featured carousel + directory filter on phones */
@media (max-width:640px){
  .paper [data-carousel] div:has(> [data-car="bar"]){display:none !important}
  .paper [data-carousel] .r-row{flex-wrap:nowrap !important}
  .paper [data-carousel] .r-row > .cond{margin-left:auto;white-space:nowrap}
  .paper [data-carousel] .r-row > .btn{white-space:nowrap;flex-shrink:0}
  .paper .slide{box-shadow:6px 6px 0 #171C1C !important}
  .paper .slide > div:first-child{border-right:0 !important;border-bottom:3px solid #171C1C}
}

/* Instagram embed on the home page: Instagram needs at least 326px, so drop the frame on phones */
@media (max-width: 640px){
  [data-instagram-wrap]{padding:0 !important;border:0 !important;box-shadow:none !important;background:none !important}
  #instagram-feed{max-width:none !important}
}
