/**
 * LifeKeeper — Public inner pages (content inside basemain / base2).
 */

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE supplements (lk-home.css covers most hero rules)
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .home-audience-paths--four .row {
    --bs-gutter-y: 0.75rem;
  }

  body.lk-public .home-audience-paths .lk-pillar-card {
    min-height: 0;
    padding: 1.15rem 1rem;
  }

  body.lk-public .lk-recent-section-foot {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }

  body.lk-public .lk-recent-section-foot .lk-btn-accent,
  body.lk-public .lk-recent-section-foot .lk-btn-outline {
    width: 100%;
    margin: 0 !important;
    justify-content: center;
  }

  body.lk-public .home-partners-section .row {
    --bs-gutter-y: 1rem;
  }

  body.lk-public .home-partners-section .partner-benefit-card {
    height: auto;
  }

  body.lk-public .home-partners-section .lk-btn-accent,
  body.lk-public .home-partners-section .lk-btn-outline {
    width: 100%;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════════
   EXPLORE /searchdeceased/ — lk-search.css companions
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .lk-explore-toolbar .input-group,
  body.lk-public .lk-search-section .input-group {
    flex-direction: column;
    gap: 0.5rem;
  }

  body.lk-public .lk-explore-toolbar .form-control,
  body.lk-public .lk-explore-toolbar .lk-btn-accent,
  body.lk-public .lk-search-section .form-control,
  body.lk-public .lk-search-section .lk-btn-accent {
    border-radius: 50px !important;
    width: 100%;
    border-right: 1px solid var(--lk-border) !important;
  }

  body.lk-public .lk-explore-toolbar .lk-btn-accent,
  body.lk-public .lk-search-section .lk-btn-accent {
    justify-content: center;
  }

  body.lk-public .lk-explore-memorial-nav {
    flex-direction: column;
    align-items: stretch;
  }

  body.lk-public .lk-explore-memorial-nav .lk-btn-outline,
  body.lk-public .lk-explore-memorial-nav .lk-btn-accent {
    width: 100%;
    justify-content: center;
  }

  body.lk-public .memorial-tabs .nav-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-bottom: 1px solid var(--lk-border);
    padding-bottom: 0.15rem;
  }

  body.lk-public .memorial-tabs .nav-tabs::-webkit-scrollbar {
    display: none;
  }

  body.lk-public .memorial-tabs .nav-link {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.78rem;
    padding: 0.55rem 0.75rem;
  }

  body.lk-public .lk-memorial-sidebar {
    padding: 1.25rem 1rem;
  }

  body.lk-public .lk-memorial-avatar {
    width: 120px;
    height: 120px;
  }

  body.lk-public .lk-memorial-sidebar-dates {
    flex-direction: column;
    gap: 0.65rem;
  }

  body.lk-public .lk-mem-feed {
    max-height: min(300px, 45vh);
  }

  body.lk-public .lk-explore-result-card {
    flex-direction: column;
    align-items: stretch;
  }

  body.lk-public .lk-explore-result-cta {
    width: 100%;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════════
   GRAVE LOCATOR — public search & results
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .lk-grave-locator-page .lk-grave-form-card {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  body.lk-public .lk-grave-type-pills {
    flex-direction: column;
    align-items: stretch;
  }

  body.lk-public .lk-grave-type-pill label {
    display: block;
    text-align: center;
  }

  body.lk-public .lk-grave-result-row {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }

  body.lk-public .lk-grave-result-actions {
    grid-column: 1 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--lk-border);
    margin-top: 0.35rem;
  }

  body.lk-public .lk-grave-result-actions .lk-btn-accent,
  body.lk-public .lk-grave-result-actions .lk-btn-outline,
  body.lk-public .lk-grave-result-actions .lk-btn-sm {
    width: 100%;
    justify-content: center;
  }

  body.lk-public .lk-map-container {
    height: min(52vh, 360px);
  }

  body.lk-public .lk-map-controls {
    flex-wrap: wrap;
    gap: 0.35rem;
  }

  body.lk-public .lk-map-controls .btn {
    flex: 1 1 auto;
    min-width: 0;
  }
}

/* ══════════════════════════════════════════════════════════════
   CONTACT
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .lk-contact-channels {
    padding: 2.5rem 0;
  }

  body.lk-public .lk-contact-channel-card {
    padding: 1.35rem 1rem;
  }

  body.lk-public .lk-contact-form-card {
    padding: 1.35rem 1rem;
  }

  body.lk-public .lk-contact-form-section,
  body.lk-public .lk-contact-faq {
    padding: 2.5rem 0;
  }

  body.lk-public .lk-contact-hours-grid {
    flex-direction: column;
    gap: 1rem;
  }
}

/* ══════════════════════════════════════════════════════════════
   ABOUT
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .about-page-hero .home-hero-copy-panel {
    text-align: center;
  }

  body.lk-public .about-page-hero .home-hero-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  body.lk-public .about-page-hero .home-hero-button-primary,
  body.lk-public .about-page-hero .home-hero-button-secondary {
    width: 100%;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════════
   AUTH PAGES (basemain + lk-auth.css)
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .lk-reg-shell,
  body.lk-public .lk-login-shell,
  body.lk-public .lk-reset-shell {
    margin: 0.75rem auto 1.5rem;
    padding: 0 0.5rem;
  }

  body.lk-public .lk-reg-form-panel,
  body.lk-public .lk-login-panel {
    padding: 1.25rem 1rem;
  }

  body.lk-public .lk-reg-showcase {
    display: none;
  }

  body.lk-public .lk-reg-submit,
  body.lk-public .lk-reg-form .lk-btn-accent {
    width: 100%;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════════
   GALLERY / PORTRAIT (supplements lk-gallery-pages.css)
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .lk-shop-filters,
  body.lk-public .lk-portrait-filters {
    padding: 1rem;
  }

  body.lk-public .lk-shop-filters .row,
  body.lk-public .lk-portrait-filters .row {
    --bs-gutter-y: 0.65rem;
  }

  body.lk-public .lk-shop-filters .form-control,
  body.lk-public .lk-shop-filters .form-select,
  body.lk-public .lk-shop-filters .lk-btn-accent,
  body.lk-public .lk-portrait-filters .form-control,
  body.lk-public .lk-portrait-filters .lk-btn-accent {
    width: 100%;
  }

  body.lk-public .lk-portrait-filter-chips {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════════
   LEGAL PAGES (base2)
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.lk-public .legal-content,
  body.lk-public .policy-content,
  body.lk-public main .container.py-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 2rem !important;
  }

  body.lk-public .legal-content h1,
  body.lk-public .policy-content h1 {
    font-size: 1.45rem;
  }
}
