/* Mobile-only homepage layout; shared bottom navigation. Existing theme tokens are preserved. */
:root {
  --pv-surface: var(--bg-cream);
  --pv-ink: var(--text-dark);
  --pv-muted: var(--text-light);
  --pv-border: var(--border-warm);
  --pv-accent: var(--accent-brown);
  --pv-on-accent: var(--bg-cream);
  --pv-shadow: var(--shadow-warm);
  --pv-radius: 8px;
  --pv-nav-height: 64px;
}
.pv-home-intro, .pv-home-categories, .pv-daily-photo { display: none; }
@media (max-width: 768px) {
  body { padding-bottom: calc(var(--pv-nav-height) + env(safe-area-inset-bottom, 0px) + 16px) !important; }
  .site-header { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px !important; padding: 0 12px !important; }
  .header-brand, .header-brand .logo-link { min-width: 0; }
  .header-brand .logo-text { overflow: hidden; text-overflow: ellipsis; }
  .header-right { min-width: 0; gap: 8px !important; }
  .header-right > .btn-primary, .header-right > .nav-birthdays { display: none; }
  .header-right > .btn-ghost { white-space: nowrap; padding: 8px !important; }
  .header-right .nav-toggle, .header-right .icon-btn, .header-right .account-chip { flex-shrink: 0; }
  .bottom-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); min-height: var(--pv-nav-height); padding: 0 8px env(safe-area-inset-bottom, 0px); background: var(--pv-surface); border-top: 1px solid var(--pv-border); box-shadow: 0 -2px 12px var(--pv-shadow); z-index: 900; }
  .bottom-nav__item { min-width: 0; min-height: var(--pv-nav-height); padding: 6px 1px; gap: 4px; color: var(--pv-muted); }
  .bottom-nav__icon { display: grid; place-items: center; width: 32px; height: 28px; font-family: system-ui, sans-serif; font-size: 27px; }
  .bottom-nav__label { font-size: 10px; letter-spacing: 0; line-height: 1.3; overflow-wrap: anywhere; }
  .bottom-nav__item.is-active { color: var(--pv-accent); }
  .bottom-nav__item.is-active::before { background: var(--pv-accent); }
  .pv-nav-create .bottom-nav__icon { background: var(--pv-accent); color: var(--pv-on-accent); width: 36px; height: 30px; border-radius: var(--pv-radius); font-size: 28px; }
  .bottom-nav__item:focus-visible { outline: 2px solid var(--pv-accent); outline-offset: -3px; }
  body.pv-home > .container { display: flex; flex-direction: column; gap: 18px; padding: 16px 12px 24px; }
  .pv-home .pv-home-intro { display: block; order: 0; }
  .pv-home-greeting { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
  .pv-home-greeting > div { min-width: 0; }
  .pv-home-greeting h1 { font-size: 21px; line-height: 1.3; margin: 0; overflow-wrap: anywhere; letter-spacing: 0; }
  .pv-home-balance { white-space: nowrap; font-size: 13px; font-weight: 700; padding: 8px 0; text-decoration: none; }
  .pv-home-streak { font-size: 13px; margin: 5px 0 0; }
  .pv-home .home-dashboard-grid { display: contents; }
  .pv-home .search-container { order: 1; }
  .pv-home .fridge-card { order: 2; }
  .pv-home .pv-home-categories { order: 3; display: flex; gap: 12px; overflow-x: auto; min-width: 0; padding: 0 0 8px; scrollbar-width: thin; }
  .pv-home-categories a { flex: 0 0 76px; display: flex; flex-direction: column; align-items: center; gap: 7px; font-size: 11px; line-height: 1.3; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
  .pv-home-category-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--pv-border); background: var(--pv-surface); font-size: 24px; }
  .pv-home .main-layout { order: 4; min-width: 0; display: block; }
  .pv-home .pv-home-stats { order: 5; }
  .pv-home .news-widget { order: 6; }
  .pv-home .categories-accordion { display: none !important; }
  .pv-home .dashboard-card { min-width: 0; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; }
  .pv-home .search-form-main { display: block; margin: 0; }
  .pv-home .search-input-wrapper { display: grid; grid-template-columns: minmax(0, 1fr) 48px; gap: 8px; }
  .pv-home .search-input-main { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; padding: 12px; background: var(--pv-surface); color: var(--pv-ink); border: 1px solid var(--pv-border); border-radius: var(--pv-radius); }
  .pv-home .search-btn-main { width: 48px; min-height: 48px; padding: 0 !important; border-radius: var(--pv-radius) !important; }
  .pv-home .pv-search-label, .pv-home .search-stats { display: none; }
  .pv-home .fridge-card > div { display: none; }
  .pv-home .btn-fridge-main { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 12px; border-radius: var(--pv-radius) !important; }
  .pv-home .content { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
  .pv-home .content > .section { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; min-width: 0; }
  .pv-home .section[aria-labelledby="daily-heading"] { order: -1; }
  .pv-home .section-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; margin-bottom: 12px; }
  .pv-home .section-title { font-size: 19px; min-width: 0; overflow-wrap: anywhere; }
  .pv-home .slider-nav { flex-shrink: 0; }
  .pv-home .slider-arrow { display: none; }
  .pv-home .slider-more-link, .pv-home .section-header > a { display: inline-flex; align-items: center; min-height: 44px; }
  .pv-home .daily-recipe-card { padding: 0 0 12px !important; border-radius: var(--pv-radius) !important; overflow: hidden; box-shadow: none !important; }
  .pv-home .pv-daily-photo:not([hidden]) { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: 0 0 12px; }
  .pv-home .daily-recipe-header, .pv-home .daily-recipe-desc, .pv-home .daily-recipe-card > .recipe-meta { margin-left: 12px; margin-right: 12px; }
  .pv-home .daily-recipe-header { min-width: 0; align-items: flex-start; }
  .pv-home .daily-recipe-title { font-size: 18px; overflow-wrap: anywhere; }
  .pv-home .daily-recipe-icon { flex-shrink: 0; }
  .pv-home .daily-recipe-btn { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 0 12px; background: var(--pv-accent); color: var(--pv-on-accent); font-size: 14px; border-radius: var(--pv-radius); }
  .pv-home .recipes-slider { min-width: 0; max-width: 100%; padding: 0 0 8px; }
  .pv-home .recipes-slider .recipe-card { flex: 0 0 170px; min-width: 0; border-radius: var(--pv-radius) !important; }
  .pv-home .section[aria-labelledby="new-heading"] .recipes-slider { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; overflow: visible !important; }
  .pv-home .section[aria-labelledby="new-heading"] .recipe-card { width: auto !important; min-width: 0 !important; max-width: none !important; }
  .pv-home .recipes-slider .recipe-card .recipe-img { height: auto !important; aspect-ratio: 4 / 3; }
  .pv-home .recipes-slider .recipe-card .recipe-img img { width: 100%; height: 100%; object-fit: cover; }
  .pv-home .recipes-slider .recipe-card .recipe-title { font-size: 14px; overflow-wrap: anywhere; }
  .pv-home .recipe-meta { display: flex; flex-wrap: wrap; gap: 5px 8px; font-size: 11px; }
  .pv-home .top-six-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
  .pv-home .mini-stat-card { min-width: 0; border-radius: var(--pv-radius); }
  .pv-home .news-widget > a { min-height: 44px; margin-top: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-home *, .bottom-nav * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
