/* Homepage discovery only; the approved hero stays in home-hero.css. */
.home-reference-page .home-header-location { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: inherit; font-size: 12px; text-decoration: none; margin-inline: 88px auto; }
.home-reference-page .home-header-location .bi { font-size: 18px; }
.home-reference-page .home-page .catalog-section { padding: 0; margin-block: 20px 24px; border: 0; background: transparent; }
.home-reference-page .home-page .catalog-heading { flex-wrap: nowrap; align-items: flex-start; gap: 8px; margin: 0 4px 10px; }
.home-reference-page .home-page .catalog-heading h2 { font-size: clamp(18px, 4.6vw, 24px); line-height: 1.5; }
.home-reference-page .home-page .catalog-heading p { margin-top: 2px; font-size: 12px; line-height: 1.6; }
.home-reference-page .home-page .catalog-heading > a { flex-shrink: 0; gap: 5px; min-height: 44px; font-size: 12px; text-decoration: none; }

/* Native RTL scrolling preserves touch momentum, vertical scrolling and keyboard navigation. */
.home-reference-page .home-page .marketplace-categories,
.home-reference-page .home-page .home-store-rail { display: flex; width: calc(100% + 16px); margin-inline: -8px; padding: 4px 12px 10px; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-inline: 12px; overscroll-behavior-inline: contain; }
.home-reference-page .home-page .marketplace-categories .discovery-card { flex: 0 0 calc((100% - 26px) / 4.25); min-width: 0; align-self: stretch; border: 1px solid #edf1ee; border-radius: 14px; background: #fff; box-shadow: 0 5px 14px rgb(24 71 52 / 5%); scroll-snap-align: start; }
.home-reference-page .home-page .marketplace-categories .discovery-link { padding: 4px 4px 7px; gap: 6px; }
.home-reference-page .home-page .marketplace-categories .category-visual { width: 100%; height: auto; aspect-ratio: .9; flex: 0 0 auto; border-radius: 10px; font-size: 30px; }
.home-reference-page .home-page .marketplace-categories .category-visual img { padding: 2px; }
.home-reference-page .home-page .marketplace-category-label { width: 100%; }
.home-reference-page .home-page .marketplace-category-label strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.9em; font-size: 11px; line-height: 1.45; }
.home-reference-page .home-page .marketplace-category-label small { display: none; }
.home-reference-page .home-page .category-rail-next { display: none; }
.home-reference-page .home-page .store-carousel-controls { min-height: 28px; gap: 4px; margin-top: -4px; }
.home-reference-page .home-page .store-carousel-pause { width: 44px; height: 44px; }
.home-reference-page .home-page :is(.category-rail-dots, .store-carousel-dots) { gap: 6px; }
.home-reference-page .home-page :is(.category-rail-dots, .store-carousel-dots) span { width: 6px; height: 6px; border-radius: 50%; }
.home-reference-page .home-page :is(.category-rail-dots, .store-carousel-dots) .is-current { background: var(--primary-color); }

.home-reference-page .home-page .home-store-rail { gap: 10px; }
.home-reference-page .home-page .home-store-rail > .marketplace-store-card { display: flex; flex-direction: column; flex: 0 0 calc((100% - 14px) / 2.2); min-width: 0; align-self: stretch; padding: 7px; gap: 0; border: 1px solid #e8efeb; border-radius: 16px; background: #fff; box-shadow: 0 5px 16px rgb(24 71 52 / 5%); scroll-snap-align: start; }
.home-reference-page .home-page .home-store-rail .marketplace-store-photo { flex: 0 0 auto; width: 100%; height: auto; aspect-ratio: 1.65; border-radius: 10px; }
.home-reference-page .home-page .home-store-rail .marketplace-store-photo.has-logo > img { padding: 8px; }
.home-reference-page .home-page .home-store-rail .marketplace-store-card > .marketplace-store-avatar { width: 32px; height: 32px; inset-inline-end: 12px; inset-block-start: 12px; border-radius: 8px; font-size: 16px; }
.home-reference-page .home-page .home-store-rail .marketplace-store-card > .marketplace-store-copy { display: flex; width: 100%; flex: 1; flex-direction: column; gap: 3px; padding-top: 6px; text-align: center; }
.home-reference-page .home-page .home-store-rail .marketplace-store-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; min-height: 3em; font-size: 13px; line-height: 1.5; }
.home-reference-page .home-page .home-store-rail .marketplace-store-meta { display: block; margin: 0; min-height: 18px; }
.home-reference-page .home-page .home-store-rail .marketplace-store-category { display: block; font-size: 11px; }
.home-reference-page .home-page .home-store-rail .marketplace-store-actions { align-self: center; margin: auto 0 3px; padding-top: 3px; }
.home-reference-page .home-page .home-store-rail .marketplace-store-state { display: inline-flex; align-items: center; gap: 4px; padding: 3px 7px; border-radius: 20px; background: #e1f8e9 !important; color: #146b49; font-size: 10px; line-height: 1.6; white-space: nowrap; }
.home-reference-page .home-page .store-card-link::after { border-radius: 16px; }
.home-reference-page .home-page .home-store-rail .marketplace-store-state.is-closed { background: #f5ead8 !important; color: #715b34; }
.home-reference-page .home-page .home-store-action { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px; padding: 6px; border: 0; border-radius: 10px; background: linear-gradient(115deg, #00694d, #087650); color: #fff; font-size: 12px; font-weight: 700; }
.home-reference-page .home-page .home-store-action .bi { font-size: 17px; }
.home-reference-page :is(.home-header-location, .home-store-action, .discovery-link):focus-visible { outline: 3px solid var(--primary-color); outline-offset: 3px; }

.home-reference-page .home-page .student-callout { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 6px 10px; padding: 12px; margin-block: 18px 14px; border: 1px solid #dceee4; border-radius: 14px; background: #eaf6ef; }
.home-reference-page .home-page .student-callout > i { font-size: 30px; }
.home-reference-page .home-page .student-callout h2 { font-size: 15px; line-height: 1.6; }
.home-reference-page .home-page .student-callout p { font-size: 11px; line-height: 1.7; }
.home-reference-page .home-page .student-callout a { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 6px 12px; font-size: 12px; border-radius: 10px; }
.home-reference-page .home-page .store-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-block: 14px; padding: 12px 8px; border-radius: 14px; background: #fff; }
.home-reference-page .home-page .store-benefits > div { grid-template-columns: minmax(0, 1fr); gap: 3px; text-align: center; }
.home-reference-page .home-page .store-benefits > div + div { border-inline-start: 1px solid #e8efeb; padding-inline-start: 8px; }
.home-reference-page .home-page .store-benefits i { font-size: 21px; }
.home-reference-page .home-page .store-benefits strong { font-size: 10px; line-height: 1.6; }
.home-reference-page .home-page .store-benefits span { grid-column: 1; font-size: 9px; line-height: 1.7; }

@media (max-width: 767.98px) {
    .home-reference-page .navbar > .container { grid-template-columns: 74px minmax(0, 1fr) repeat(3, 44px); gap: 4px; padding: 8px; }
    .home-reference-page .home-mobile-brand { gap: 4px; font-size: 17px; }
    .home-reference-page .navbar-nav > .home-header-notifications { grid-column: 3; grid-row: 1; }
    .home-reference-page .navbar-nav > .home-header-favorites { grid-column: 4; }
    .home-reference-page .navbar-nav > .home-header-cart { grid-column: 5; }
    .home-reference-page .navbar-nav .nav-link { min-height: 44px; }
    .home-reference-page .navbar-nav .badge { top: 3px !important; right: auto !important; left: 0 !important; transform: none !important; }
    .home-reference-page .storefront-search input { padding-inline: 8px 44px !important; text-align: start; }
    .home-reference-page .storefront-search button { inset-inline-start: auto !important; inset-inline-end: 0 !important; width: 44px; }
}
@media (min-width: 768px) {
    .home-reference-page .home-page .catalog-section { margin-block: 28px; }
    .home-reference-page .home-page .catalog-heading p,
    .home-reference-page .home-page .catalog-heading > a { font-size: 14px; }
    .home-reference-page .home-page .marketplace-categories,
    .home-reference-page .home-page .home-store-rail { width: 100%; margin-inline: 0; padding-inline: 4px; scroll-padding-inline: 4px; gap: 14px; }
    .home-reference-page .home-page .marketplace-categories .discovery-card { flex-basis: calc((100% - 56px) / 4.5); }
    .home-reference-page .home-page .marketplace-categories .category-visual { aspect-ratio: 1.1; font-size: 42px; }
    .home-reference-page .home-page .marketplace-category-label strong { font-size: 14px; }
    .home-reference-page .home-page .home-store-rail > .marketplace-store-card { flex-basis: calc((100% - 36px) / 3.2); padding: 10px; }
    .home-reference-page .home-page .home-store-rail .marketplace-store-name { font-size: 16px; }
    .home-reference-page .home-page .home-store-rail .marketplace-store-category,
    .home-reference-page .home-page .home-store-action { font-size: 14px; }
    .home-reference-page .home-page .home-store-rail .marketplace-store-state { font-size: 12px; }
    .home-reference-page .home-page .student-callout { grid-template-columns: 48px minmax(0, 1fr) auto; padding: 16px 20px; }
    .home-reference-page .home-page .student-callout a { grid-column: 3; grid-row: 1; }
    .home-reference-page .home-page .student-callout p { font-size: 13px; }
    .home-reference-page .home-page .store-benefits > div { grid-template-columns: auto minmax(0, 1fr); text-align: start; column-gap: 10px; }
    .home-reference-page .home-page .store-benefits i { grid-row: 1 / 3; align-self: center; font-size: 28px; }
    .home-reference-page .home-page .store-benefits strong { font-size: 13px; }
    .home-reference-page .home-page .store-benefits span { grid-column: 2; font-size: 11px; }

    /* One or two results form a compact group; larger collections retain the swipe rails. */
    .home-reference-page .home-page #categories:has(.marketplace-categories > :nth-child(-n+2):last-child) { width: min(100%, 640px); margin-inline: auto; }
    .home-reference-page .home-page #categories:has(.marketplace-categories > :first-child:last-child) { width: min(100%, 320px); }
    .home-reference-page .home-page [data-store-carousel]:has(.home-store-rail > :nth-child(-n+2):last-child) { width: min(100%, 960px); margin-inline: auto; }
    .home-reference-page .home-page [data-store-carousel]:has(.home-store-rail > :first-child:last-child) { width: min(100%, 520px); }
    .home-reference-page .home-page :is(.marketplace-categories, .home-store-rail):has(> :nth-child(-n+2):last-child) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; scroll-snap-type: none; }
    .home-reference-page .home-page :is(.marketplace-categories, .home-store-rail):has(> :first-child:last-child) { grid-template-columns: minmax(0, 1fr); }
    .home-reference-page .home-page #categories:has(.marketplace-categories > :nth-child(-n+2):last-child) .catalog-heading p,
    .home-reference-page .home-page [data-store-carousel]:has(.home-store-rail > :nth-child(-n+2):last-child) .catalog-heading p { display: none; }
    .home-reference-page .home-page .marketplace-categories:has(> :nth-child(-n+2):last-child) .discovery-link { flex-direction: row; align-items: center; gap: 14px; padding: 12px; text-align: start; }
    .home-reference-page .home-page .marketplace-categories:has(> :nth-child(-n+2):last-child) .category-visual { width: 88px; height: 88px; flex: 0 0 88px; aspect-ratio: 1; }
    .home-reference-page .home-page .marketplace-categories:has(> :nth-child(-n+2):last-child) .marketplace-category-label strong { min-height: 0; font-size: 16px; }
    .home-reference-page .home-page .home-store-rail:has(> :nth-child(-n+2):last-child) > .marketplace-store-card { display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr); align-items: stretch; gap: 14px; min-height: 190px; }
    .home-reference-page .home-page .home-store-rail:has(> :nth-child(-n+2):last-child) .marketplace-store-photo { height: 100%; min-height: 168px; aspect-ratio: auto; }
    .home-reference-page .home-page .home-store-rail:has(> :nth-child(-n+2):last-child) .marketplace-store-copy { padding-block: 6px; text-align: start; }
    .home-reference-page .home-page .home-store-rail:has(> :nth-child(-n+2):last-child) .marketplace-store-name { min-height: 0; }
    .home-reference-page .home-page .home-store-rail:has(> :nth-child(-n+2):last-child) .marketplace-store-actions { align-self: flex-start; }
}
