/* LOCK-CALENDAR-LOCATION-2026-11-06: paper/hub Location pill = ink + cream Barlow Condensed.
   Supersedes rust #9C341F badge on papers/hubs. Home .fg-home-mast keeps rust Option E. */
/* Masthead location badge — Option E no-pin (Evan 2026-11-05 3:46 AM ET).
   Rust #9C341F / cream #FBF7EE. Region under when on. Never prompts on load. */
.fg-mast-region-e{
  flex:0 1 auto; min-width:0; max-width:min(168px,44vw);
  display:flex; flex-direction:column; align-items:flex-start; gap:3px;
  margin-right:auto; padding:4px 2px 2px 0; box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  z-index:4;
}
.fg-mast-region-e .fg-loc-badge{
  appearance:none!important; -webkit-appearance:none!important;
  display:inline-flex; align-items:center; gap:4px;
  margin:0; padding:4px 8px; border:0!important; border-radius:999px;
  background:#9C341F!important; color:#FBF7EE!important;
  font-family:"Liberation Sans",Arial,sans-serif!important;
  font-weight:700!important; font-size:10px!important; line-height:1.1;
  letter-spacing:.02em; text-transform:none!important;
  box-shadow:none!important; cursor:pointer;
  white-space:nowrap;
}
.fg-mast-region-e .fg-loc-badge:hover{background:#7A2818!important}
.fg-mast-region-e .fg-loc-badge:focus-visible{
  outline:2px solid #1A1510; outline-offset:2px;
}
.fg-mast-region-e .fg-mr-name{
  display:block; max-width:100%; min-width:0;
  padding:0 2px;
  font-family:"Liberation Sans",Arial,sans-serif;
  font-size:10px; font-weight:700; line-height:1.1; color:#1A1510;
  text-decoration:none; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.fg-mast-region-e .fg-mr-name:hover{color:#9C341F}
.fg-mast-region-e .fg-mr-name:focus-visible{
  outline:2px solid #9C341F; outline-offset:1px; border-radius:4px;
}
.fg-mast-region-e[data-loc="off"] .fg-mr-name{display:none}

/* Home mast: flex row, badge first + margin-right:auto keeps icons right */
header.fg-home-mast{
  display:flex!important; align-items:center!important;
  justify-content:flex-end!important; gap:4px!important;
}
header.fg-home-mast > .fg-mast-region-e{order:0; margin-right:auto}

/* <900px: reserve left column for badge; brand + icons keep prior slots.
   Desktop (>=900) restored below so badge does not shift viewport center. */
html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast){
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:8px!important;
  position:sticky; /* keep existing sticky when already set */
}
html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast) > .fg-mast-region-e{
  grid-column:1!important; grid-row:1!important;
  justify-self:start!important; align-self:center!important;
  margin-right:0; padding-left:0;
}
html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast) > .mock-brand{
  grid-column:2!important; grid-row:1!important;
}
/* State pages: keep name mark centered in the middle column (phone/tablet) */
html body header.mock-mast.fg-state-mast:has(> .fg-mast-region-e) > .mock-brand{
  justify-self:center!important; text-align:center!important;
  align-items:center!important;
}
html body header.mock-mast.fg-state-mast:has(> .fg-mast-region-e) > .mock-brand .pennants{
  margin-left:auto!important; margin-right:auto!important;
}
/* Papers (left-justified brand) below 900: stay start-aligned in middle column */
html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast):not(.fg-state-mast) > .mock-brand{
  justify-self:start!important; text-align:left!important; align-items:flex-start!important;
}
html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast) > .mock-icons{
  grid-column:3!important; grid-row:1!important; justify-self:end!important;
}

@media(min-width:900px){
  .fg-mast-region-e{max-width:280px; gap:4px; padding:6px 4px 4px 0}
  .fg-mast-region-e .fg-loc-badge{font-size:11px!important; padding:5px 10px; gap:5px}
  .fg-mast-region-e .fg-mr-name{font-size:11px}

  /* Staging 2026-11-05: restore Evan Nov 4 desktop namemark center lock.
     Equal 1fr side columns; .mock-brand on true viewport center; location badge
     overlays left (absolute) so it does not consume a track or shift the center.
     Icons stay end of col 3. Home mast untouched. Below 900 unchanged. */
  html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast){
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    position:sticky;
  }
  html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast) > .fg-mast-region-e{
    position:absolute!important;
    left:14px; top:50%; transform:translateY(-50%);
    grid-column:1!important; grid-row:1!important;
    justify-self:start!important; align-self:center!important;
    margin:0; padding-left:0; z-index:5;
    max-width:min(280px,28vw);
  }
  html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast) > .mock-brand{
    grid-column:2!important; grid-row:1!important;
    justify-self:center!important; text-align:center!important;
    align-items:center!important;
    display:flex!important; flex-direction:column!important;
  }
  html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast):not(.fg-state-mast) > .mock-brand{
    justify-self:center!important; text-align:center!important; align-items:center!important;
  }
  html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast) > .mock-brand .pennants{
    margin-left:auto!important; margin-right:auto!important; align-self:center!important;
  }
  html body header.mock-mast:has(> .fg-mast-region-e):not(.fg-home-mast) > .mock-icons{
    grid-column:3!important; grid-row:1!important; justify-self:end!important;
  }
}
@media(max-width:400px){
  .fg-mast-region-e{max-width:min(148px,40vw)}
}

/* Namemark hide (Evan 2026-11-05 4:02 AM ET): on masts that share one row with the
   location badge + right icons (papers, community guides, town/type/venue pages),
   the centered/left Festival·Gazette wordmark overflows onto Menu at <480px.
   Measured paint-overlap at 320–420; clean from 480 up. Hide the inline .mock-brand
   only below 480px. Desktop lock (flags + name mark centered) kept from 480px.
   Home (fg-home-mast) and state hubs without .mock-icons are untouched — their
   name mark is either below the mast or fits alone with the badge. */
@media (max-width: 479px) {
  html body header.mock-mast:has(> .fg-mast-region-e):has(> .mock-icons):not(.fg-home-mast) > .mock-brand {
    display: none !important;
  }
  html body header.mock-mast:has(> .fg-mast-region-e):has(> .mock-icons):not(.fg-home-mast) {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }
  html body header.mock-mast:has(> .fg-mast-region-e):has(> .mock-icons):not(.fg-home-mast) > .mock-icons {
    grid-column: 3 !important;
  }
}

/* LOCK-LOCATION-2026-11-06 — papers/hubs: ink pill, Exact/Approx/ZIP/Off; no rust */
header.mock-mast:not(.fg-home-mast) .fg-mast-region-e .fg-loc-badge{
  background:#1A1510!important; color:#FBF7EE!important;
  border-radius:0!important;
  font-family:"Barlow Condensed",Barlow,sans-serif!important;
  font-weight:700!important; font-size:11px!important;
  letter-spacing:.06em; text-transform:uppercase!important;
  padding:5px 10px;
}
header.mock-mast:not(.fg-home-mast) .fg-mast-region-e .fg-loc-badge:hover{
  background:#1A1510!important; opacity:.92;
}
header.mock-mast:not(.fg-home-mast) .fg-mast-region-e .fg-mr-name{
  font-family:"Barlow Condensed",Barlow,sans-serif;
  font-size:11px; letter-spacing:.04em; text-transform:uppercase;
  color:#1A1510;
}
header.mock-mast:not(.fg-home-mast) .fg-mast-region-e .fg-mr-name:hover{color:#1A1510; text-decoration:underline}
header.mock-mast:not(.fg-home-mast) .fg-loc-zip-open{
  appearance:none; background:transparent; border:0; padding:0 2px;
  font:700 10px/1 "Barlow Condensed",sans-serif; letter-spacing:.06em;
  text-transform:uppercase; color:#1A1510; cursor:pointer; text-decoration:underline;
  text-underline-offset:2px;
}
.fg-loc-zip{
  display:flex; flex-wrap:wrap; gap:6px; align-items:center;
  margin-top:6px; padding:8px; background:#FBF7EE; border:1.5px solid #1A1510;
  border-radius:0; max-width:min(280px,90vw);
}
.fg-loc-zip[hidden]{display:none!important}
.fg-loc-zip-lab{
  display:flex; flex-direction:column; gap:4px;
  font:700 11px/1.2 "Barlow Condensed",sans-serif; letter-spacing:.06em; text-transform:uppercase;
  color:#1A1510; flex:1 1 100%;
}
.fg-loc-zip input{
  font:400 14px/1.3 Newsreader,serif; border:1.5px solid #1A1510; border-radius:0;
  padding:8px 10px; background:#FBF7EE; color:#1A1510;
}
.fg-loc-zip button{
  font:700 12px/1 "Barlow Condensed",sans-serif; letter-spacing:.06em; text-transform:uppercase;
  border:1.5px solid #1A1510; border-radius:0; padding:8px 12px; cursor:pointer;
  background:#1A1510; color:#FBF7EE;
}
.fg-loc-zip button[data-fg-zip-cancel]{background:#FBF7EE; color:#1A1510}
.fg-your-paper{
  font:400 15px/1.45 Newsreader,serif; color:#1A1510; margin:10px 0 0;
}
.fg-your-paper a{color:#1A1510; font-weight:600; text-underline-offset:3px}

/* calloc ink override (papers/hubs) */
header.mock-mast:not(.fg-home-mast) .fg-mast-region-e .fg-loc-badge,
header.mock-mast:not(.fg-home-mast) .fg-mast-region-e[data-loc] .fg-loc-badge{
  background:#1A1510!important; color:#FBF7EE!important;
  border-radius:0!important;
  font-family:"Barlow Condensed",Barlow,sans-serif!important;
  font-weight:700!important; font-size:11px!important;
  letter-spacing:.06em; text-transform:uppercase!important;
}
header.mock-mast:not(.fg-home-mast) .fg-mast-region-e .fg-loc-badge:hover{
  background:#1A1510!important; filter:brightness(1.08);
}
