/* EventCentralOps v0.9.293 — mobile event-website readability repair.
 * Scoped to tenant public sites. Keeps authored text, branding, animations,
 * desktop layouts, and all registration/volunteer behavior unchanged. */
@media (max-width: 820px) {
  /* Do not allow a two-column/editorial parent to compress readable text
     into one-character columns. This includes motion design variants. */
  .eco-public-site .eco-public-event-hero {
    display: block;
    height: auto;
    min-height: min(740px, 100svh);
    padding: 0;
  }
  .eco-public-site.eco-public-layout-motion[class*="eco-public-design-"] .eco-public-event-hero > .eco-public-hero-content,
  .eco-public-site .eco-public-event-hero > .eco-public-hero-content {
    display: block !important;
    box-sizing: border-box !important;
    position: relative;
    width: calc(100% - 36px) !important;
    max-width: 680px !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    padding: 76px 0 108px !important;
    grid-template-columns: none !important;
    text-align: left;
  }
  .eco-public-site .eco-public-event-hero .eco-public-hero-content > :is(h1,p,.eco-public-eyebrow,.eco-public-hero-identity-row,.eco-public-meta,.eco-countdown,.eco-public-actions) {
    box-sizing: border-box !important;
    position: relative;
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
  }
  .eco-public-site .eco-public-event-hero .eco-public-hero h1,
  .eco-public-site .eco-public-event-hero h1 {
    font-size: clamp(32px, 10.2vw, 52px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none;
    text-wrap: balance;
  }
  .eco-public-site .eco-public-event-hero .eco-public-lead {
    display: block !important;
    font-size: clamp(16px, 4.2vw, 19px) !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-wrap: pretty;
    max-inline-size: 65ch !important;
  }
  .eco-public-site .eco-public-event-hero .eco-public-meta {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .eco-public-site .eco-public-event-hero .eco-public-meta > span {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .eco-public-site.eco-public-layout-motion[class*="eco-public-design-"] .eco-public-event-hero .eco-countdown,
  .eco-public-site .eco-public-event-hero .eco-countdown {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 7px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }
  .eco-public-site .eco-public-event-hero .eco-countdown > div {
    box-sizing: border-box;
    min-width: 0 !important;
    width: 100%;
    padding: 12px 3px;
  }
  .eco-public-site .eco-public-event-hero .eco-countdown span {
    font-size: 9px;
    letter-spacing: .03em;
    white-space: nowrap;
  }
  .eco-public-site.eco-public-layout-motion[class*="eco-public-design-"] .eco-public-event-hero .eco-public-actions,
  .eco-public-site .eco-public-event-hero .eco-public-actions {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 10px !important;
    justify-content: stretch !important;
  }
  .eco-public-site .eco-public-event-hero .eco-public-actions > :is(a,button) {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px;
    padding: 12px 16px;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: center;
    justify-content: center;
  }
  .eco-public-site.eco-public-layout-motion .eco-motion-toggle {
    max-width: calc(100% - 32px);
    right: 16px;
    bottom: 16px;
    white-space: nowrap;
  }
  /* Text must use the full section width; do not allow desktop splits,
     including high-specificity motion/editorial variants, to persist. */
  .eco-public-site .eco-public-section :is(.eco-public-wrap,.eco-public-section-head,.eco-public-split,.eco-public-richtext,.eco-wedding-subhead),
  .eco-public-site .eco-public-section :is(.eco-public-section-head h2,.eco-public-split h2,.eco-wedding-subhead h3) {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  .eco-public-site .eco-public-section .eco-public-split {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
  }
  .eco-public-site .eco-public-section :is(.eco-public-split h2,.eco-public-section-head h2,.eco-wedding-subhead h3) {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none;
    line-height: 1.13;
    font-size: clamp(28px, 8.6vw, 43px);
  }
  .eco-public-site .eco-public-section :is(.eco-public-richtext,.eco-wedding-subhead p,.eco-public-section-head p) {
    white-space: normal;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    line-height: 1.6;
  }
  /* Agenda items are ordinary readable cards on mobile, never a clipped
     presentation rail with an off-screen second card. */
  .eco-public-site .eco-timeline,
  .eco-public-site.eco-public-layout-motion .eco-timeline {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding: 0 0 8px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  .eco-public-site .eco-timeline > article,
  .eco-public-site.eco-public-layout-motion .eco-timeline > article {
    box-sizing: border-box;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 22px !important;
    flex: none !important;
    margin: 0 !important;
    scroll-snap-align: none;
  }
  .eco-public-site.eco-public-layout-motion .eco-timeline > article time {margin-bottom: 20px;}
  .eco-public-site .eco-timeline > article :is(h3,p,time) {
    overflow-wrap: break-word !important;
    word-break: normal !important;
    max-width: 100%;
  }
  .eco-public-site .eco-wedding-schedule-grid,
  .eco-public-site.eco-public-layout-motion .eco-wedding-schedule-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 16px;
    max-width: 100%;
  }
  .eco-public-site .eco-wedding-schedule-grid > article {min-width:0;width:100%;max-width:100%;}
  /* Guest travel cards have light backgrounds in wedding identity templates:
     prevent the motion palette from leaving white-on-white airport text. */
  .eco-public-site .eco-wedding-airport-grid,
  .eco-public-site .eco-wedding-nearby-grid {grid-template-columns: minmax(0,1fr) !important;max-width:100%;}
  .eco-public-site .eco-wedding-airport-card {
    box-sizing: border-box;
    grid-template-columns: auto minmax(0,1fr) auto !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 12px;
    padding: 16px;
    background: #fff !important;
    border: 1px solid #d9dfe7 !important;
    color: #1d2734 !important;
  }
  .eco-public-site .eco-wedding-airport-card > div {min-width:0;}
  .eco-public-site .eco-wedding-airport-card h4 {color:#1d2734!important;overflow-wrap:break-word;word-break:normal;}
  .eco-public-site .eco-wedding-airport-card p {color:#4b5563!important;overflow-wrap:break-word;word-break:normal;}
  .eco-public-site .eco-wedding-airport-card > a {
    flex-shrink:0;
    width:44px;
    height:44px;
    border-color:#d9dfe7;
    color:#b94725!important;
  }
  .eco-public-site .eco-wedding-nearby-card {min-width:0;max-width:100%;}
  /* Brand title remains on one line; the nav row itself scrolls if needed. */
  .eco-public-site .eco-public-header-inner {column-gap:12px;min-width:0;}
  .eco-public-site .eco-public-header .eco-public-brand {min-width:0;max-width:calc(100% - 90px);}
  .eco-public-site .eco-public-header .eco-public-brand > span:last-child {
    min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  }
  .eco-public-site .eco-public-header nav {min-width:0;max-width:100%;overscroll-behavior-x:contain;}
  .eco-public-site .eco-public-header nav a {flex-shrink:0;min-height:40px;display:inline-flex;align-items:center;}
}
@media (max-width: 359px) {
  .eco-public-site.eco-public-layout-motion[class*="eco-public-design-"] .eco-public-event-hero .eco-countdown,
  .eco-public-site .eco-public-event-hero .eco-countdown {gap:4px!important;}
  .eco-public-site .eco-public-event-hero .eco-countdown > div {padding-inline:2px;}
  .eco-public-site .eco-public-event-hero .eco-countdown span {font-size:8px;}
  .eco-public-site .eco-wedding-airport-card {gap:8px;padding:12px;}
  .eco-public-site .eco-wedding-airport-code {min-width:42px;padding-inline:5px;}
}
