/* Homepage composition only. Shared commerce, Admin and Shop styles stay scoped. */
.home-page {
  --av-home-section-gap: 36px;
  --av-home-heading: 28px;
  --av-home-card-gap: 14px;
  --av-home-card-radius: 14px;
  --av-card-radius: var(--av-home-card-radius);
  --av-browse-radius: var(--av-home-card-radius);
  --av-card-gap: var(--av-home-card-gap);
  --av-browse-gap: var(--av-home-card-gap);
}
.home-page #mainContent { display: flex; flex-direction: column; gap: var(--av-home-section-gap); padding-block: 24px 32px; }
.home-page #mainContent > section { margin: 0; min-width: 0; }
.home-page.motion-enhanced #mainContent > section.ux-reveal { opacity: 1; transform: none; filter: none; transition: none; }
.home-page #mainContent > section:not(.av-brand-story, .kit-builder-section) { padding: 0; border: 0; }
.home-page #product-comparison:not(:has(.compare-panel:not([hidden]))) { display: none; }
.home-page :is(#featured, #categories, #collections, #reviews, #playedWithAvSection, #comingSoon) .section-heading { align-items: center; gap: 12px; margin: 0 0 12px; }
.home-page :is(#featured, #categories, #collections, #reviews, #playedWithAvSection, #comingSoon) .section-heading h2 { font-size: var(--av-home-heading); line-height: 1.2; letter-spacing: -.025em; }
.home-page :is(#featured, #categories, #collections, #reviews, #playedWithAvSection, #comingSoon) .section-heading h2::after { display: none; }
.home-page .section-heading .eyebrow { font-size: 11px; line-height: 1.2; margin-bottom: 5px; }
.home-page .section-heading .section-note { font-size: 13px; line-height: 1.4; margin: 6px 0 0; }
.home-page .quick-shop-heading { margin: 0 0 12px; }
.home-page .quick-shop-copy h1 { font-size: var(--av-home-heading); }
.home-page .quick-shop-description { font-size: 13px; }
.home-page .shortcut-grid a { padding: 10px 12px; min-height: 64px; }
.home-page #featured { gap: var(--av-home-section-gap); }
.home-page #featured .featured-block { padding: 0; border: 0; }
.home-page #featured .product-grid-featured { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--av-home-card-gap); }
/* Reuse Shop's full-image gallery and portrait frame. A shared frame also
   aligns mixed bat/accessory cards; contain retains each source's proportions. */
.home-page .product-image-wrap { --product-media-ratio: 3 / 4; }
.home-page .collection-grid::-webkit-scrollbar { display: none; }
.home-page .collection-grid > .collection-card { grid-row: span 4; scroll-snap-align: start; }
.home-page .collection-card .av-browse-card-title { font-size: 17px; }
.home-page .kit-builder-section { padding: 20px 24px; gap: 16px; box-shadow: var(--shadow-sm); }
.home-page .kit-builder-section h2 { margin: 0 0 8px; font-size: var(--av-home-heading); line-height: 1.2; }
.home-page .kit-builder-section p:not(.eyebrow) { font-size: 14px; line-height: 1.5; }
.home-page .kit-builder-section .eyebrow { font-size: 11px; margin-bottom: 8px; }
.home-page .av-brand-story h2 { line-height: 1.2; }
.home-page .trust-summary-top { margin: 0 0 12px; padding: 10px 12px; gap: 6px 12px; box-shadow: none; }
.home-page .trust-summary-top .trust-summary-stars { color: #9a6700; font-size: 16px; }
.home-page .trust-summary-top :is(strong, span) { font-size: 13px; }
.home-page .trust-subsection { margin-top: 14px; }
.home-page .google-review-details { margin: 0 0 14px; border-bottom: 1px solid var(--avs-border); }
.home-page .google-review-details summary { min-height: 44px; padding: 12px 0; cursor: pointer; color: var(--avs-blue-dark); font-size: 13px; font-weight: 700; }
.home-page .google-review-details summary:focus-visible { outline: 2px solid var(--avs-blue); outline-offset: 2px; }
.home-page .google-review-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 28px) / 3); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-block: 4px 12px; }
.home-page .google-review-card { min-width: 0; padding: 12px; scroll-snap-align: start; }
.home-page .google-review-card p { font-size: 13px; line-height: 1.5; }
@media (min-width: 1024px) {
  .home-page .shortcut-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
}
@media (max-width: 1023px) {
  .home-page { --av-home-section-gap: 28px; --av-home-heading: 24px; }
  .home-page #mainContent { padding-top: 20px; }
  .home-page .google-review-grid { grid-auto-columns: clamp(250px, 60%, 340px); }
}
@media (max-width: 767px) {
  .home-page { --av-home-section-gap: 20px; --av-home-heading: 21px; }
  .home-page #mainContent { padding-block: 16px 24px; }
  .home-page .section-heading .eyebrow { font-size: 10px; }
  .home-page .kit-builder-section { padding: 18px; }
  .home-page .kit-builder-section p:not(.eyebrow) { font-size: 13px; }
  .home-page .kit-actions { justify-content: flex-start; gap: 8px; }
  .home-page .kit-actions .btn { min-height: 44px; padding: 8px 10px; font-size: 11px; }
  .home-page .trusted-players-heading { flex-wrap: wrap; }
  .home-page #writeReviewBtn { min-height: 44px; font-size: 12px; padding: 8px 12px; }
  .home-page .trust-summary-top { gap: 6px 10px; }
  .home-page .trust-summary-top .trust-summary-link { min-height: 44px; display: inline-flex; align-items: center; }
  .home-page .google-review-grid { grid-auto-columns: 84%; }
}


@media (prefers-reduced-motion: reduce) {
  .home-page :is(.collection-grid, .google-review-grid) { scroll-behavior: auto; }
}
