/* All visual overrides are restricted to phones and small tablets. */
.event-app-only { display: none; }
.event-app-sheet:not([open]) { display: none; }
@media screen and (max-width: 800px) {
  body:is(.logged-in,.guest-workspace).events-view #eventsPage { padding: 12px 14px 24px !important; }
  body:is(.logged-in,.guest-workspace).events-view #eventsPage > .events-hero { display: none !important; }
  body:is(.logged-in,.guest-workspace).events-view #eventsPage > .events-page-top { display: none !important; }
  body:has(.event-app-sheet[open]) { overflow: hidden; }
  #eventsPage .event-app-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 16px; }
  #eventsPage .event-app-header h1 { margin: 0; color: #173f32; font: 750 22px/1.3 system-ui,sans-serif; letter-spacing: -.4px; }
  #eventsPage .event-app-header p { margin: 3px 0 0; font-size: 13px; color: #66766d; }
  #eventsPage #eventAppCreate { flex: 0 0 auto; min-height: 44px; padding: 10px 15px; border-radius: 12px; font: 650 13px/1.4 system-ui,sans-serif; }
  #eventsPage .event-type-strip { gap: 7px; margin: 0 -14px 0; padding: 0 14px 12px; scroll-padding-inline: 14px; overscroll-behavior-x: contain; }
  #eventsPage .event-type-strip button { min-height: 44px; padding: 10px 14px; border-radius: 24px; font: 650 12px/1.35 system-ui,sans-serif; background: #fffdfa; color: #4c6257; border-color: #dce4dc; }
  #eventsPage .event-type-strip button.active { background: #174d3b; color: white; border-color: #174d3b; }
  body:is(.logged-in,.guest-workspace).events-view #eventsPage .events-toolbar { position: relative !important; top: auto !important; display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; align-items: center; gap: 8px; padding: 0; border: 0; box-shadow: none; background: transparent; min-height: 0; border-radius: 0; }
  #eventsPage .events-toolbar > :is(select,.custom-select) { display: none !important; }
  #eventsPage .events-toolbar .event-search { grid-column: 1; height: 46px; min-height: 46px; min-width: 0; width: 100%; margin: 0; padding: 0 12px; border: 1px solid #d8e1d9; border-radius: 12px; background: #fffdfa; }
  #eventsPage .event-search svg { flex: 0 0 18px; width: 18px; height: 18px; color: #6b7b71; }
  #eventsPage #eventSearch { width: 100%; min-width: 0; height: 44px; padding: 0; font: 400 16px/1.4 system-ui,sans-serif; }
  #eventsPage #eventSearch::placeholder { font-size: 13px; }
  #eventsPage #eventAppFilters { display: flex; grid-column: 2; grid-row: 1; align-items: center; justify-content: center; gap: 6px; width: auto; min-height: 46px; margin: 0; padding: 0 12px; border: 1px solid #d8e1d9; border-radius: 12px; background: #fffdfa; color: #244f3d; font: 650 12px/1.3 system-ui,sans-serif; }
  #eventAppFilters svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  #eventsPage #eventAppFilters { grid-column: 2 !important; width: auto !important; }
  #eventsPage .events-toolbar .event-search { grid-column: 1 !important; grid-row: 1; }
  #eventsPage #eventAppFilters.active { background: #e6eee7; border-color: #abc2b2; }
  #eventsPage .event-app-results { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 10px; color: #68766c; font-size: 12px; }
  #eventAppClear { border: 0; background: transparent; color: #22593f; font-size: 12px; font-weight: 650; padding: 8px 0 8px 12px; }
  #eventAppClear[hidden] { display: none; }
  body:is(.logged-in,.guest-workspace).events-view #eventsPage .events-body { display: block; height: auto; border: 0; box-shadow: none; background: transparent; overflow: visible; }
  body:is(.logged-in,.guest-workspace).events-view #eventsList { display: block !important; width: 100%; padding: 0; }
  body:is(.logged-in,.guest-workspace).events-view #eventsList .event-card-row { display: flex; flex-direction: row; width: 100%; max-width: none; padding: 15px; gap: 12px; margin-bottom: 10px; border: 1px solid #dce4dc; border-radius: 14px; background: #fffdfa; box-shadow: 0 2px 7px #173c2904; }
  body:is(.logged-in,.guest-workspace).events-view #eventsList .event-card-row[hidden] { display: none !important; }
  body:is(.logged-in,.guest-workspace).events-view #eventsList .event-card-row + .event-card-row { margin-left: 0; }
  body:is(.logged-in,.guest-workspace).events-view #eventsList .event-card-row.active { box-shadow: none; border-color: #c1d2c5; }
  #eventsList .event-date-tile { width: 44px; height: 54px; border: 1px solid #dce4dc; border-radius: 9px; background: #f3f6f0; }
  #eventsList .event-date-tile b { padding: 5px 0; font: 700 10px/1.2 system-ui,sans-serif; background: #e7eee5; color: #3d6350; }
  #eventsList .event-date-tile strong { margin-top: 4px; font: 750 22px/1 system-ui,sans-serif; color: #244b37; }
  #eventsList .event-card-copy .event-organizer-logo { display: none; }
  #eventsList .event-card-copy h3 { margin: 5px 0 6px; font: 650 16px/1.35 system-ui,sans-serif; letter-spacing: -.15px; overflow-wrap: anywhere; }
  #eventsList .event-card-copy > small { display: block; color: #6d7c70; font: 600 11px/1.5 system-ui,sans-serif; letter-spacing: 0; text-transform: none; }
  #eventsList .event-card-copy > b { font: 500 12px/1.45 system-ui,sans-serif; color: #415e4c; }
  #eventsList .event-card-copy > span { font: 400 12px/1.5 system-ui,sans-serif; color: #748074; margin-top: 5px; }
  #eventsPage .events-empty { padding: 38px 20px; background: #fffdfa; border: 1px solid #dce4dc; border-radius: 14px; font-size: 14px; }
  #eventsPage .events-empty h3 { font: 650 18px/1.4 system-ui,sans-serif; }
  #eventsPage .events-empty button { min-height: 44px; border: 1px solid #cadace; border-radius: 10px; background: #edf3ec; color: #24583d; padding: 9px 15px; }
  #eventsPage.mobile-event-detail-open > :is(.event-app-header,.event-app-results) { display: none; }
  body:is(.logged-in,.guest-workspace).events-view #eventsPage.mobile-event-detail-open .events-toolbar { display: none !important; }
  body:is(.logged-in,.guest-workspace).events-view #eventsPage.mobile-event-detail-open #eventsList { display: none !important; }
  body:is(.logged-in,.guest-workspace).events-view #eventsPage .mobile-event-back { position: sticky; top: var(--lu-app-header,64px); z-index: 20; margin: 0 -14px 12px; width: calc(100% + 28px); padding: 0 16px; min-height: 48px; border: 0; border-bottom: 1px solid #e0e6dd; border-radius: 0; background: #f3f5f2; font: 650 13px/1.4 system-ui,sans-serif; }
  body:is(.logged-in,.guest-workspace).events-view #eventDetail { padding-bottom: 90px; }
  body:is(.logged-in,.guest-workspace).events-view #eventDetail .event-detail-card { padding: 18px 16px; border-radius: 14px; box-shadow: none; }
  #eventDetail .event-detail-card h1 { font: 700 21px/1.3 system-ui,sans-serif !important; margin: 8px 0 10px; }
  #eventDetail .event-organizer { margin: 0; font: 400 13px/1.5 system-ui,sans-serif; }
  #eventDetail .event-organizer-logo { width: 120px; height: 44px; margin-bottom: 12px; }
  #eventDetail .event-detail-card > header > .event-header-meta { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; }
  #eventDetail .event-registration-deadline { text-align: left; padding: 8px 10px; }
  #eventDetail .event-registration-deadline strong { font-size: 12px; }
  #eventDetail .event-registration-deadline small { font-size: 10px; }
  #eventDetail .event-format { font-size: 11px; padding: 6px 9px; }
  #eventDetail .event-top-links { gap: 8px; padding-top: 14px; }
  #eventDetail .event-top-links a { width: auto; flex: 1 1 auto; font-size: 12px; padding: 10px 12px; min-height: 44px; text-align: center; white-space: normal; }
  #eventDetail .event-facts { gap: 8px; padding: 16px 0; }
  #eventDetail .event-facts > div { border-radius: 10px; padding: 12px; }
  #eventDetail .event-facts strong { font-size: 13px; }
  #eventDetail .event-facts em { font-size: 12px; }
  #eventDetail .event-description { font: 400 14px/1.65 system-ui,sans-serif; }
  #eventDetail .event-description h3 { font-size: 16px; }
  #eventDetail .event-brochure-preview h2 { font-size: 16px; margin-bottom: 4px; }
  #eventDetail .event-app-brochure-link { display: flex; align-items: center; min-height: 44px; font: 650 13px/1.4 system-ui,sans-serif; color: #20553c; }
  #eventDetail .event-brochure-preview iframe { height: 48dvh; min-height: 240px; margin-top: 8px; }
  #eventDetail .event-app-detail-actions { position: fixed; z-index: 70; bottom: var(--lu-app-dock,68px); left: 0; right: 0; display: flex; align-items: center; justify-content: center; padding: 10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left)); background: #fffdfa; border-top: 1px solid #dde5da; box-shadow: 0 -4px 14px #173c2908; }
  #eventDetail .event-app-detail-actions > :is(a,button,span) { display: flex; justify-content: center; align-items: center; width: 100%; max-width: 640px; min-height: 46px; border-radius: 12px; text-decoration: none; font: 650 14px/1.4 system-ui,sans-serif; }
  #eventDetail .event-app-closed { background: #f3eee5; color: #7b603d; }
  body:not(.events-view) #eventDetail .event-app-detail-actions,
  #eventsPage:not(.mobile-event-detail-open) .event-app-detail-actions,
  body.modal-open #eventDetail .event-app-detail-actions { display: none; }
  .event-app-sheet { position: fixed; inset: auto 0 0; margin: 0 auto; width: 100%; max-width: 640px; max-height: calc(var(--lu-visual-height,100dvh) - 16px); box-sizing: border-box; padding: 20px 18px calc(18px + env(safe-area-inset-bottom)); border: 0; border-radius: 22px 22px 0 0; background: #fffdfa; color: #1b3e2d; overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 -10px 40px #10281925; }
  .event-app-sheet::backdrop { background: #112d2459; }
  .event-app-sheet header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
  .event-app-sheet h2 { margin: 0; font: 700 19px/1.3 system-ui,sans-serif; }
  .event-app-sheet header button { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #eff3ec; color: #30563b; font: 400 26px/1 system-ui,sans-serif; }
  .event-app-sheet p { font: 400 14px/1.5 system-ui,sans-serif; color: #607164; }
  .event-app-sheet-fields { display: grid; gap: 16px; }
  .event-app-sheet label { display: grid; gap: 7px; font: 600 13px/1.4 system-ui,sans-serif; }
  .event-app-sheet select { width: 100%; min-width: 0; height: 48px; padding: 0 12px; border: 1px solid #d7e1d5; border-radius: 10px; background: white; color: #224b36; font: 400 16px/1.4 system-ui,sans-serif; }
  .event-app-sheet footer { display: flex; gap: 10px; margin-top: 24px; }
  .event-app-sheet footer button { min-height: 46px; padding: 10px 15px; border: 1px solid #d1ddcf; border-radius: 12px; background: transparent; color: #28583e; font: 650 13px/1.4 system-ui,sans-serif; }
  .event-app-sheet footer .primary-btn { flex: 1; background: #174d3b; color: white; border-color: #174d3b; }
  .event-app-registration-options { display: grid; gap: 10px; }
  .event-app-registration-options a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px; border: 1px solid #d1ddcf; border-radius: 12px; font: 650 14px/1.4 system-ui,sans-serif; text-decoration: none; color: #174d3b; }
  body:is(.logged-in,.guest-workspace) #eventModal > #eventForm { padding: 0 16px !important; border-radius: 18px 18px 0 0 !important; }
  #eventForm > .modal-head { position: sticky; top: 0; z-index: 4; margin: 0 -16px; padding: 16px; background: #fffdfa; border-bottom: 1px solid #e1e6dd; }
  #eventForm .modal-head h2 { font: 700 20px/1.3 system-ui,sans-serif; }
  #eventForm .modal-head p:not(.eyebrow) { font: 400 12px/1.5 system-ui,sans-serif; }
  #eventForm .event-form-grid { grid-template-columns: minmax(0,1fr); gap: 16px; margin-top: 20px; }
  #eventForm .event-form-grid label { min-width: 0; font: 650 13px/1.4 system-ui,sans-serif; }
  #eventForm .event-form-grid label.wide { grid-column: 1; }
  #eventForm :is(input,select,textarea,.custom-select-trigger) { width: 100%; min-width: 0; max-width: 100%; min-height: 46px; border-radius: 10px; font-size: 16px; }
  #eventForm .modal-footer { position: sticky; bottom: 0; z-index: 3; display: flex; margin: 20px -16px 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #e1e6dd; background: #fffdfa; }
  #eventForm .modal-footer span { display: none; }
  #eventForm .modal-footer button { width: 100%; border-radius: 12px; min-height: 46px; font-size: 14px; }
  @media(max-height:520px) { #eventForm .modal-head p { display: none; } #eventForm > .modal-head { padding-block: 9px; } .event-app-sheet { padding-top: 12px; } .event-app-sheet header { margin-bottom: 10px; } .event-app-sheet-fields { gap: 10px; } .event-app-sheet footer { margin-top: 14px; } }
}
