/* Home refinement. All rules are scoped to the landing page. */
.home-page { --home-gap: 24px; }
.home-page h1, .home-page h2 { text-wrap: balance; }
.home-page .home-hero { border-bottom: 3px solid var(--nb-color-brand-yellow); }
.home-page .home-hero__inner { gap: 40px; padding-block: 52px; }
.home-page .home-kicker { margin: 0; color: var(--nb-color-brand-yellow); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-page .home-hero h1 { margin: 16px 0 0; font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.12; letter-spacing: -.035em; font-weight: 700; }
.home-page .home-hero h1 span { color: var(--nb-color-brand-yellow); }
.home-page .home-hero__intro { max-width: 33rem; margin-top: 20px; font-size: 1rem; line-height: 1.65; color: #c5cddc; }
.home-page .hero-search { margin-top: 28px; max-width: 36rem; }
.home-page .hero-search .catalog-search { flex-direction: row; gap: 0; background: #fff; padding: 5px; border: 1px solid #fff; border-radius: 10px; }
.home-page .hero-search .catalog-search__input { min-width: 0; min-height: 46px; border: 0; background: #fff; padding-inline: 12px; color: var(--nb-color-text); font-size: 16px; }
.home-page .hero-search .catalog-search__submit { min-height: 46px; padding-inline: 20px; border-radius: 6px; }
.home-page .home-hero__ctas { gap: 8px 28px; margin-top: 14px; }
.home-page .home-hero__link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #fff; font-size: .875rem; text-decoration: none; font-weight: 600; }
.home-page .home-hero__link--secondary { color: #c5cddc; font-weight: 400; }
.home-page .home-hero__link:hover { text-decoration: underline; text-underline-offset: 5px; }
.home-page .home-showcase { align-self: center; min-width: 0; padding: 24px; border: 1px solid #46516b; border-radius: 12px; background: #212e49; }
.home-page .home-showcase h2 { margin: 0 0 16px; color: #e3e8f0; font-size: .875rem; font-weight: 500; }
.home-page .home-preview { display: flex; align-items: center; gap: 16px; padding: 16px 0; color: #fff; text-decoration: none; border-top: 1px solid #46516b; }
.home-page .home-preview__image { flex: 0 0 76px; display: grid; place-items: center; background: #fffdf9; border-radius: 6px; padding: 8px; }
.home-page .home-preview__image img { display: block; width: 60px; height: 76px; object-fit: contain; }
.home-page .home-preview__body { display: grid; gap: 10px; min-width: 0; }
.home-page .home-preview__name { font-size: .875rem; line-height: 1.45; overflow-wrap: anywhere; }
.home-page .home-preview__price { font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.home-page .home-preview__price small, .home-page .home-preview__meta { font-size: .75rem; font-weight: 400; color: #c5cddc; }
.home-page .home-preview__arrow { margin-left: auto; color: var(--nb-color-brand-yellow); }
.home-page .home-preview:hover .home-preview__name { text-decoration: underline; text-underline-offset: 4px; }
.home-page .home-showcase__note { margin: 8px 0 0; font-size: .75rem; color: #c5cddc; line-height: 1.6; }
.home-page .hero-panel { padding: 28px; border-color: #46516b; border-radius: 12px; background: #212e49; }
.home-page .hero-panel__head { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; }
.home-page .hero-panel__title { margin: 0; font-size: .875rem; color: #fff; font-weight: 500; }
.home-page .home-draft-label { color: #c5cddc; font-size: .75rem; padding-left: 10px; border-left: 2px solid var(--nb-color-brand-yellow); }
.home-page .hero-panel__count { margin: 24px 0 0; font-size: 2.25rem; line-height: 1.2; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.home-page .hero-panel__note { margin: 16px 0 0; color: #c5cddc; }
.home-page .hero-panel__cta { display: flex; justify-content: space-between; margin-top: 24px; background: var(--nb-color-brand-yellow); color: var(--nb-color-brand-navy); border-radius: 8px; }
.home-page .hero-panel__cta:hover { background: #ffe080; }
.home-page .home-categories { padding-block: 32px; }
.home-page .category-shelf { padding: 0; border: 0; }
.home-page .category-shelf__head { align-items: center; gap: 16px; }
.home-page .category-shelf .section-title { margin: 0; font-size: 1.25rem; font-weight: 600; }
.home-page .category-shelf__link { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--nb-color-brand-blue); font-size: .8125rem; }
.home-page .category-shelf__grid { gap: 12px 24px; margin-top: 16px; }
.home-page .category-tile { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; min-height: 76px; padding: 14px 0; border: 0; border-top: 1px solid var(--nb-color-border); border-radius: 0; background: transparent; transition: border-color .15s; }
.home-page .category-tile:hover { transform: none; border-color: var(--nb-color-brand-blue); }
.home-page .category-tile__name { margin: 0; font-size: .9375rem; overflow-wrap: anywhere; }
.home-page .category-tile__count { grid-column: 1; margin: 0; font-size: .75rem; }
.home-page .category-tile__arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--nb-color-brand-blue); }
.home-page .home-products { padding-block: 36px 40px; background: var(--nb-color-surface); border-block: 1px solid var(--nb-color-border); }
.home-page .product-carousel__title { margin: 0; font-size: 1.75rem; font-weight: 600; }
.home-page .product-carousel__view-all { color: var(--nb-color-brand-blue); }
.home-page .product-carousel__track { gap: 20px; margin-top: 24px; padding: 4px 3px 12px; }
.home-page .product-carousel__track--loop { scroll-snap-type: none; scroll-behavior: auto; overflow-anchor: none; }
.home-page .product-carousel__track > * { flex-basis: 78%; }
.home-page .product-card { border-radius: 10px; box-shadow: none; }
.home-page .product-card__visual { background: #edf0f2; }
.home-page .product-card__visual img { height: 152px; padding: 16px; }
.home-page .product-card__body { gap: 8px; padding: 16px; }
.home-page .product-card__name { min-height: 2.6em; -webkit-line-clamp: 2; font-size: .9375rem; }
.home-page .product-card__code { color: var(--nb-color-text-muted); font-size: .75rem; font-weight: 400; letter-spacing: 0; }
.home-page .product-card__price-label { font-size: .6875rem; letter-spacing: .035em; }
.home-page .product-card__price-value { font-variant-numeric: tabular-nums; }
.home-page .product-card__add-button { border-radius: 7px; }
.home-page .home-products__note { margin: 16px 0 0; font-size: .8125rem; color: var(--nb-color-text-muted); }
.home-page .home-contact { padding-block: 40px; }
.home-page .home-contact__inner { display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: center; justify-content: space-between; }
.home-page .home-contact h2 { margin: 0; font-size: 1.5rem; font-weight: 600; letter-spacing: -.025em; }
.home-page .home-contact p { margin: 8px 0 0; color: var(--nb-color-text-muted); font-size: .9375rem; }
.home-page .home-contact__link { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; padding: 12px 20px; border: 1px solid var(--nb-color-brand-blue); border-radius: 8px; color: var(--nb-color-brand-blue); font-size: .875rem; text-decoration: none; font-weight: 600; }
.home-page .home-contact__link:hover { background: #edf3fc; }
.page-main:has(.home-page) + .brand-footer { margin-top: 0; }
body:has(.home-page) .brand-header .brand-cta { border: 1px solid transparent; }
@media (min-width: 640px) { .home-page .product-carousel__track > * { flex-basis: calc((100% - 20px) / 2); } }
@media (min-width: 1024px) {
    .home-page .home-hero__inner { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: 72px; }
    .home-page .product-carousel__track > * { flex-basis: calc((100% - 60px) / 4); }
}
@media (max-width: 1023px) {
    .home-page .home-showcase { display: none; }
    .home-page .home-hero__content { max-width: 42rem; }
    .home-page .hero-panel { max-width: 42rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 20px; }
    .home-page .hero-panel__head { grid-column: 1 / -1; }
    .home-page .hero-panel__count { margin: 0; font-size: 1.75rem; align-self: center; }
    .home-page .hero-panel__cta { margin: 0; gap: 16px; grid-column: 2; grid-row: 2; font-size: .875rem; }
    .home-page .hero-panel__note { grid-column: 1 / -1; margin: 0; font-size: .8125rem; }
}
@media (max-width: 639px) {
    .home-page .home-hero__inner { padding-block: 32px; gap: 24px; }
    .home-page .home-hero h1 { font-size: clamp(1.9rem, 7.6vw, 2.5rem); }
    .home-page .home-hero__intro { margin-top: 16px; font-size: .9375rem; }
    .home-page .hero-search { margin-top: 22px; }
    .home-page .hero-search .catalog-search__input { padding-inline: 8px; }
    .home-page .hero-search .catalog-search__submit { padding-inline: 14px; }
    .home-page .home-hero__ctas { column-gap: 20px; margin-top: 8px; }
    .home-page .home-hero__link { font-size: .8125rem; }
    .home-page .home-categories { padding-block: 24px; }
    .home-page .category-shelf .section-title { font-size: 1.0625rem; }
    .home-page .category-shelf__grid { gap: 8px 20px; margin-top: 8px; }
    .home-page .category-tile { min-height: 72px; }
    .home-page .category-tile__name { font-size: .875rem; }
    .home-page .home-products { padding-block: 28px; }
    .home-page .product-carousel__title { font-size: 1.5rem; }
    .home-page .product-carousel__view-all { font-size: .8125rem; }
    .home-page .product-carousel__control { width: 40px; height: 40px; min-height: 40px; }
    .home-page .home-contact { padding-block: 32px; }
}
