/* LP49: distinct mobile feeds with automatic pagination and native swiping. */
#start .lp-home-short-copy,
#start .lp-daily-mobile-value,
.lp-home-place-arrow,
#start .lp-mobile-directory-link,
#start .lp-mobile-shortcuts,
#start .lp-rail-controls { display:none; }
#start .lp-home-items { display:contents; }
#start .section-heading > a > span,
#start .places-heading h2 > span,
#start .places-heading > a > span { color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; }

@media (min-width:821px) {
  #start .lp-home-items > .lp-home-extra { display:none; }
  #start .places-grid > .lp-business-card:nth-child(n+5) { display:none; }
}
#start .lp-rail-tail { display:none; }
#start .lp-rail-controls { display:none!important; }

@media (max-width:820px) {
  #start .content { display:flex; flex-direction:column; gap:24px; padding-top:16px; padding-bottom:24px!important; }
  #start .content > section,#start .content > nav,#start .content > a { min-width:0; margin:0; }
  #start .content > .listings-section,
  #start .content > .discover-section,
  #start .content > .community-callout,
  #start .content > .trust-section { display:none; }
  #start .content > .lp-mobile-directory-link { order:0; }
  #start .content > .today-section { order:1; }
  #start .content > .lp-mobile-news { order:2; }
  #start .content > .places-section { order:3; }
  #start .content > .lp-mobile-shortcuts { order:4; }
  #start .content > .pwa-install-card { order:5; margin:0; }
  #start .lp-mobile-directory-link { display:flex; align-items:center; gap:12px; min-height:54px; padding:12px 14px; border:1px solid #dce6f1; border-radius:14px; background:#fff; box-shadow:0 4px 14px #1639560b; color:#123d72; }
  #start .lp-mobile-directory-link strong { flex:1; min-width:0; font-size:1rem; line-height:1.35; }
  #start .lp-mobile-directory-link svg { flex:none; width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.8; }
  #start .lp-mobile-directory-link > span { font-size:1.25rem; }
  #start .lp-home-wide-copy { display:none!important; }
  #start .lp-home-short-copy { display:inline; }
  #start .today-section,#start .places-section { padding:0; border:0; border-radius:0; background:transparent; }
  /* Separate the two feeds without adding another banner or a row of controls. */
  #start .content > .lp-mobile-news,
  #start .content > .places-section {
    padding:12px;
    border:1px solid var(--lp-section-border);
    border-top:3px solid var(--lp-section-accent);
    border-radius:18px;
    background:var(--lp-section-surface);
    box-shadow:0 5px 18px #102d4910;
  }
  #start .content > .lp-mobile-news {
    --lp-section-border:#c9d8e9;
    --lp-section-accent:#2b6caf;
    --lp-section-surface:linear-gradient(145deg,#eaf2fc,#f5f8fc);
  }
  #start .content > .places-section {
    --lp-section-border:#e5cfad;
    --lp-section-accent:#b46b19;
    --lp-section-surface:linear-gradient(145deg,#fff1db,#fffaf1);
  }
  #start .section-heading,#start .places-heading { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; }
  #start .section-heading > div,#start .places-heading > div { flex:1 1 0; min-width:0; }
  #start .section-heading > div > span,#start .places-heading > div > span,#start .places-heading p { display:none; }
  #start .section-heading h2,#start .section-heading.compact h2,#start .places-heading h2 { margin:0; font-size:1.25rem; line-height:1.3; letter-spacing:-.025em; }
  #start .section-heading > a,#start .places-heading > a { flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; width:auto; max-width:none; min-height:44px; margin:0; padding:0 2px; border:0; border-radius:0; background:none; color:#0c57a2; font-size:.875rem; line-height:1.4; white-space:nowrap; }
  #start .places-heading > a::before { content:none; }

  /* Native touch scrolling keeps vertical page scrolling available too. */
  #start .daily-grid,
  #start .lp-mobile-news .lp-home-items,
  #start .places-grid { display:grid; grid-auto-flow:column; grid-template-columns:none; grid-template-rows:auto; gap:12px; min-width:0; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scroll-padding-inline:2px; padding:3px 2px 8px; border:0; border-radius:0; background:transparent; box-shadow:none; scrollbar-width:none; }
  #start .daily-grid::-webkit-scrollbar,
  #start .lp-mobile-news .lp-home-items::-webkit-scrollbar,
  #start .places-grid::-webkit-scrollbar,
  #start .lp-place-quick::-webkit-scrollbar { display:none; }
  #start .daily-grid > article,#start .lp-home-items > .lp-home-item,#start .places-grid > .lp-business-card { scroll-snap-align:start; }
  #start .lp-mobile-news .lp-home-items,
  #start .places-grid { scroll-snap-type:x mandatory; scroll-behavior:smooth; }
  #start .daily-grid { grid-auto-columns:min(45vw,11rem); }
  #start .daily-grid > article { display:flex; flex-direction:column; align-items:stretch; gap:8px; min-height:142px; height:auto; padding:12px; border-radius:14px; box-shadow:0 4px 12px #16395612; }
  #start .daily-grid > article::after { content:'→'; position:absolute; right:12px; top:12px; color:#ffffffb3; font-size:1rem; }
  #start .daily-grid > article:hover { transform:none; }
  #start .daily-icon { flex:0 0 auto; width:30px; height:30px; border-radius:9px; }
  #start .daily-icon svg { width:20px; height:20px; }
  #start .daily-grid > article > div:last-child { gap:4px; }
  #start .daily-grid > article > div > span { margin:0; font-size:.875rem; font-weight:650; line-height:1.3; letter-spacing:0; text-transform:none; }
  #start .daily-grid > article .lp-daily-full-value,
  #start .daily-grid > article a,
  #start .daily-grid > article small { display:none; }
  #start .daily-grid > article .lp-daily-mobile-value { display:block; overflow:visible; color:#fff; font-size:1rem; font-weight:800; line-height:1.3; }
  #start .daily-grid > article[data-state='unknown'] .lp-daily-mobile-value,
  #start .daily-grid > article[data-state='stale'] .lp-daily-mobile-value { color:#fff3cb; }
  #start .daily-grid > article:focus-visible { outline-offset:-3px; }

  #start .lp-mobile-news .news-panel { overflow:visible; border:0; border-radius:0; background:none; box-shadow:none; }
  #start .lp-mobile-news .lp-home-news { display:block; height:auto; }
  #start .lp-mobile-news .lp-home-news-title { display:none; }
  #start .lp-mobile-news .lp-home-items { grid-auto-columns:min(74vw,19rem); }
  #start .lp-mobile-news .lp-home-item { display:flex; flex-direction:column; align-items:stretch; gap:0; width:100%; min-height:0; height:auto; padding:0; border:1px solid #c6d7e8; border-radius:14px; background:#fff; box-shadow:0 4px 10px #17385612; }
  #start .lp-mobile-news .lp-home-item .lp-feed-image { flex:none; width:100%; height:112px; min-height:112px; border-radius:0; }
  #start .lp-mobile-news .lp-home-item > span { display:flex; flex:1; flex-direction:column; padding:10px 12px 12px; }
  #start .lp-mobile-news .lp-home-headline { margin:0 0 6px; font-size:1rem; line-height:1.35; -webkit-line-clamp:3; }
  #start .lp-mobile-news .lp-home-meta { margin-top:auto; font-size:.8125rem; line-height:1.4; }
  #start .lp-mobile-news .lp-home-kicker { margin:0 0 4px; font-size:.75rem; line-height:1.3; }
  #start .lp-mobile-news [data-home-feed-kind='article'] .lp-home-kicker { display:none; }
  #start .lp-mobile-news .lp-home-item:focus-visible { outline-offset:-3px; }
  #start .lp-mobile-news .lp-event-date-badge { transform:scale(.85); transform-origin:bottom left; }

  #start .lp-place-quick { flex-wrap:nowrap; gap:7px; overflow-x:auto; margin:0 0 8px; padding:2px; scrollbar-width:none; }
  #start .lp-place-quick button { flex:none; min-height:42px; padding:7px 12px; font-size:.875rem; line-height:1.35; }
  #start .places-grid { grid-auto-columns:min(57vw,15rem); grid-auto-rows:auto; }
  #start .places-grid .lp-business-photo-card { min-height:0; height:auto; padding:0; border:1px solid #d9c8b1; border-radius:14px; background:#fff; box-shadow:0 4px 10px #70461712; }
  #start .places-grid .lp-business-card-body { flex:1; padding:10px 12px 12px; }
  #start .places-grid .lp-place-cover img { height:100px; }
  #start .places-grid .lp-place-cover figcaption { right:auto; left:6px; bottom:5px; padding:2px 5px; max-width:calc(100% - 12px); font-size:.75rem; line-height:1.3; border-radius:4px; }
  #start .places-grid .lp-business-photo-card > .lp-business-fav { top:6px; right:6px; width:44px; height:44px; font-size:23px; }
  #start .places-grid .lp-business-category { margin:0 0 3px; font-size:.875rem; line-height:1.4; letter-spacing:0; text-transform:none; }
  #start .places-grid h3 { position:static; margin:0 0 5px; font-size:1rem; line-height:1.35; }
  #start .places-grid .lp-business-title-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  #start .places-grid .lp-business-place { margin:0; padding-right:18px; font-size:.8125rem; line-height:1.4; overflow-wrap:anywhere; }
  #start .places-grid .lp-business-desc,
  #start .places-grid .lp-business-card-foot,
  #start .places-grid .lp-place-open { display:none; }
  #start .places-grid .lp-home-place-arrow { display:block; position:absolute; right:12px; bottom:12px; font-size:1rem; color:#0c57a2; }
  #start .places-grid .lp-business-name::after { border-radius:14px; }
  #start .lp-directory-attribution { margin:7px 2px 0; font-size:.75rem; line-height:1.45; }
  #start .lp-home-listings-empty { min-width:0; min-height:100px; padding:16px 12px; font-size:.875rem; }
  #start .places-grid > .lp-home-listings-empty { width:100%; grid-column:1; }
  #start .places-grid:has(> .lp-home-listings-empty) { grid-auto-columns:100%; }

  /* Native swiping and a glimpse of the next card replace the extra arrow row. */
  #start .lp-rail-controls { display:none; }
  #start .lp-rail-tail:not([hidden]) { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:18px 12px; min-width:0; min-height:140px; border:1px dashed #c6d5e4; border-radius:14px; background:#ffffffb3; color:#415c77; font-size:.875rem; line-height:1.4; text-align:center; scroll-snap-align:none; }
  #start .lp-rail-tail button { min-height:44px; padding:9px 12px; border:1px solid #c0d1e2; border-radius:10px; background:#fff; color:#0c57a2; font:inherit; font-weight:700; }
  #start .lp-home-items:focus-visible,#start .places-grid:focus-visible { outline:2px solid #287dd0; outline-offset:2px; }
  #start .lp-mobile-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #start .lp-mobile-shortcuts > a { display:flex; align-items:center; gap:8px; min-width:0; min-height:58px; padding:11px 12px; border-radius:12px; font-size:.875rem; line-height:1.35; }
  #start .lp-mobile-shortcuts strong { flex:1; min-width:0; }
  #start .lp-mobile-shortcuts svg { flex:none; width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; }
  #start .lp-shortcut-help { background:linear-gradient(120deg,#0a2448,#164a86); color:#fff; }
  #start .lp-shortcut-advice { background:#eaf3ff; color:#105799; }
  #start .lp-mobile-shortcuts > .lp-shortcut-civic { grid-column:1/-1; min-height:44px; padding:4px 2px; color:#0c57a2; font-weight:750; }
  #start .site-footer { padding:16px 0 18px; }
  #start .site-footer .footer-grid { display:none; }
  #start .footer-bottom { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; flex-direction:row; gap:12px; min-height:0; margin-top:0; padding-top:0; border:0; font-size:.75rem; line-height:1.5; color:#c3cfdd; }
  #start .footer-bottom > span:last-child { flex-wrap:wrap; gap:14px; }
  #start .footer-bottom a { display:inline-flex; align-items:center; min-height:32px; font-size:.875rem; }
}
@media (max-width:360px) {
  #start .lp-mobile-shortcuts > a { padding:10px 9px; gap:6px; }
  #start .lp-mobile-shortcuts svg { width:20px; height:20px; }
}
@media (prefers-reduced-motion:reduce) {
  #start .daily-grid,#start .lp-mobile-news .lp-home-items,#start .places-grid { scroll-behavior:auto; }
}
