/* Shared web refinement: controls remain regular in every state, including
   nested labels from account/admin templates. The brand artwork is untouched. */
:root, body {
  --brand-yellow: #ffe36a;
  --gold: #ffe36a;
  --honey: #ffe36a;
  --ink: #171815;
  --muted: #62655f;
  --line: #e5e7e1;
  --control-weight: 400;
  --chip-weight: 400;
  --primary-button-shadow: none;
  --primary-button-shadow-hover: none;
  --button-shadow: none;
  --button-shadow-hover: none;
}
body :is(button, [role="button"], input, select, textarea,
  .button, .btn, .source-link, .micro-action, .load-button, .tag-filter,
  .filter-button, .category-button, .vibe-button, .web-experience-tab,
  .event-card-cta, .nav-links a, .mobile-nav-panel a, .hero-tags a,
  .app-link-row a, .event-detail-actions a, .actions a, summary),
body :is(button, [role="button"], .button, .btn, .source-link, .micro-action,
  .load-button, .tag-filter, .filter-button, .category-button, .vibe-button,
  .web-experience-tab, .event-card-cta, summary) :is(span, strong, b, em, small) {
  font-weight: 400 !important;
  font-variation-settings: "wght" 400 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}
body :is(button, .button, .btn, .source-link, .micro-action, .load-button,
  .tag-filter, .filter-button, .category-button, .vibe-button, .web-experience-tab) {
  box-shadow: none !important;
}
body :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid #504a27;
  outline-offset: 3px;
}
body .site-header .nav-links {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body .site-header .nav-links a { background: transparent; border-color: transparent; }
body .site-header .nav-links a.is-active {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: inset 0 -2px #ffe36a !important;
}
body .site-header .header-auth-secondary {
  background: #fff !important;
  border-color: #d9dcd4 !important;
}
body .site-header .header-submit { background: #ffe36a !important; }
body .site-header .button { border-radius: 6px; }
body .mobile-menu-button { border-color: #e5e7e1; }
body .munich-now-home, body.munich-now-home { --brass: #62655f; }
body.munich-now-home .hero-title { font-weight: 650; letter-spacing: -.035em; }
body.munich-now-home .hero-copy { max-width: 44ch; font-size: 20px; line-height: 1.5; }
body.munich-now-home .hero-typing { font-weight: 400; font-size: 18px; }
body.munich-now-home .hero-search-form button { font-size: 14px; padding-inline: 16px; }
body .hero-tags { gap: 8px; }
body .hero-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.2;
}
body .hero-tags a:hover { background: rgba(255,255,255,.2); }
body.munich-now-home :is(.section-head h2, .app-showcase h2, .organizer-intro h2) {
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.025em;
}
body.munich-now-home :is(.lead, .app-points .point, .step-list li) {
  font-weight: 400;
  font-size: 17px;
  line-height: 1.55;
}
body.munich-now-home .app-points { gap: 16px; }
body.munich-now-home .web-experience-section { padding-block: 56px; }
body.munich-now-home .web-experience-section .section-head { margin-bottom: 28px; }
body.munich-now-home .web-experience-section .section-head h2 { max-width: none; }
body.munich-now-home .web-experience-section .section-head .lead { max-width: 44ch; }
body.munich-now-home :is(.filter-button, .web-experience-tab).is-active {
  background: #fff6d2;
  border-color: #d9c567;
}
body.munich-now-home .event-list { gap: 24px; }
body.munich-now-home .event-card .event-copy { padding: 14px 0 22px; }
body.munich-now-home .event-card .event-meta {
  color: #62655f;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  gap: 3px;
  flex-direction: column;
  align-items: flex-start;
}
body.munich-now-home .event-card h4 {
  margin-block: 8px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
}
body.munich-now-home .event-card p { font-size: 14px; font-weight: 400; line-height: 1.5; }
body.munich-now-home .event-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0; }
body.munich-now-home .event-facts .tag {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 2px 0;
  min-height: 26px;
  color: #62655f;
  font-size: 12px !important;
}
body.munich-now-home .event-facts button { text-decoration: underline; text-underline-offset: 3px; }
body.munich-now-home .event-actions { gap: 6px; }
body.munich-now-home .event-list .event-card :is(.event-actions, .vibe-options) :is(a, button) { height: auto !important; min-height: 32px !important; font-size: 12px !important; }
body.munich-now-home .vibe-row { display: block; margin-top: 14px; }
body.munich-now-home .vibe-status { display: block; color: #62655f; font-size: 12px; font-weight: 400; }
body.munich-now-home .vibe-options { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 6px; }
body.munich-now-home .vibe-options button { min-height: 32px; }
body.munich-now-home .map-panel .panel-head p { font-weight: 400; font-size: 14px; }
body.munich-now-home .map-feed button { text-align: left; }
body.munich-now-home .panel-head h3 { font-size: 25px; font-weight: 600; }
body.munich-now-home .count-badge { border-color: #e5e7e1; font-weight: 400; }
/* Utility and editorial pages share a readable scale, including long titles. */
body:is(.page-legal, .page-contact, .page-seo, .page-news, .page-editorial, .page-event-detail, .page-status) h1 {
  max-width: 22ch !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 600 !important;
  letter-spacing: -.025em !important;
  line-height: 1.08 !important;
  word-break: normal !important;
  overflow-wrap: anywhere;
  hyphens: manual;
}
body:is(.page-legal, .page-contact, .page-seo, .page-news, .page-editorial, .page-event-detail, .page-status) h2 {
  max-width: 30ch !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -.015em !important;
}
body:is(.page-legal, .page-contact, .page-seo, .page-news, .page-editorial, .page-event-detail, .page-status) :is(.intro, .section-copy > p, .lead) {
  font-weight: 400 !important;
  line-height: 1.6;
}
/* Informational city heroes use an open, bright split layout rather than
   dark overlays. The homepage and approved office portraits retain their art. */
body:is(.page-seo, .page-news) > main > .hero-with-media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 380px;
  padding: 0 !important;
  background: #f6f7f3;
  color: #171815;
  overflow: hidden;
}
body:is(.page-seo, .page-news) .hero-with-media .hero-copy-block {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  padding: clamp(30px, 4vw, 64px);
  align-self: center;
}
body:is(.page-seo, .page-news) .hero-with-media :is(h1, .intro, .eyebrow) { color: #171815 !important; text-shadow: none !important; }
body:is(.page-seo, .page-news) .hero-with-media .intro { font-size: 18px; }
body:is(.page-seo, .page-news) .hero-with-media .seo-hero-visual { position: relative; inset: auto; min-height: 380px; }
body:is(.page-seo, .page-news) .hero-with-media .seo-hero-visual :is(img, video) { filter: none; }
body:is(.page-seo, .page-news) .seo-hero-overlay,
body:is(.page-seo, .page-news) .seo-hero-caption { display: none !important; }
body:is(.page-seo, .page-news) .seo-hero-credit { bottom: 12px !important; left: 12px !important; right: auto !important; font-weight: 400; }
@media (min-width: 1100px) {
  body.munich-now-home .event-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  body.munich-now-home .hero-copy { width: 100%; max-width: 32ch; font-size: 17px; line-height: 1.5; }
  body.munich-now-home .hero-typing { font-size: 16px; min-height: 2.7em; }
  body.munich-now-home .hero { min-height: 640px; }
  body.munich-now-home .hero-tags { padding-top: 24px; }
  body.munich-now-home .hero-tags a { min-height: 36px; padding-inline: 10px; font-size: 12px; }
  body.munich-now-home .section { padding-block: 40px; }
  body.munich-now-home .web-experience-section .section-head { gap: 12px; }
  body.munich-now-home .section-head .lead { font-size: 16px; }
  body.munich-now-home .event-card h4 { font-size: 20px; }
  body.munich-now-home .event-list .event-card :is(.event-actions, .vibe-options) :is(a, button) { height: auto !important; min-height: 36px !important; }
  body:is(.page-legal, .page-contact, .page-seo, .page-news, .page-editorial, .page-event-detail, .page-status) h1 { font-size: clamp(30px, 8.2vw, 38px) !important; }
  body:is(.page-legal, .page-contact, .page-event-detail) > main > .hero:not(.hero-with-media) { padding-block: 28px 20px; }
  body:is(.page-legal, .page-contact, .page-event-detail) .intro { font-size: 17px; }
  body:is(.page-seo, .page-news) > main > .hero-with-media { grid-template-columns: 1fr; }
  body:is(.page-seo, .page-news) .hero-with-media .hero-copy-block { padding: 28px 20px; }
  body:is(.page-seo, .page-news) .hero-with-media .seo-hero-visual { min-height: 210px; }
  body:is(.page-seo, .page-news) .hero-with-media .intro { font-size: 16px; }
  body .site-footer-inner { column-gap: 20px; }
}

.event-reactions-status { display: flex; align-items: center; gap: 8px; margin: 0; color: #315e54; font-size: 16px; font-weight: 400; }
