.store-page { background: #fff; color: #20222b; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.store-home { width: 100%; max-width: 1280px; margin: 0 auto; padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
.store-home a { color: inherit; text-decoration: none; }
.home-loading { padding: 72px 16px; text-align: center; color: #777; }
.home-loading button { display: block; margin: 20px auto; padding: 10px 24px; border: 1px solid #ddd; }
.home-hero { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #53523b; }
.hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-controls { position: absolute; right: 12px; top: 12px; display: flex; gap: 6px; }
.hero-controls button { width: 36px; height: 36px; border-radius: 50%; background: #0008; color: white; font-size: 22px; }
.home-text { padding: 12px; }
.home-text p { margin: 0; padding: 6px 12px; border-radius: 4px; background: #fff8e8; color: #ff9933; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 22.4px; }
.service-mosaic { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: repeat(2,1fr); gap: 1px; aspect-ratio: 3 / 2; }
.service-tile { min-width: 0; min-height: 0; overflow: hidden; display: block; }
.service-tile:first-child { grid-row: 1 / 3; }
.service-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-banner { display: block; width: 100%; aspect-ratio: 3 / 1; overflow: hidden; }
.home-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-leather { padding: 0 12px 14px; }
.home-leather h2 { margin: 0; display: grid; place-items: center; height: 64px; font-size: 16px; font-weight: 400; }
.leather-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.leather-item { min-width: 0; display: block; }
.leather-item img { width: 100%; display: block; aspect-ratio: 1; object-fit: cover; }
.leather-item p { margin: 8px 0 0; font-size: 12px; line-height: 20px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.home-navigation { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 8px; gap: 16px 0; }
.home-category { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 0; }
.home-category img { display: block; width: 62%; max-width: 140px; aspect-ratio: 1; object-fit: contain; }
.home-category span { max-width: 100%; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 4px; font-size: 12px; line-height: 19.2px; }

.store-page .category-drawer.has-selection .drawer-content { height: calc(100% - 125px); }
.home-apply-tags { position: absolute; bottom: 8px; right: 12px; left: calc(28% + 12px); height: 36px; background: #18ad83; border-radius: 4px; color: white; }
@media(min-width:760px) {
  .home-hero { aspect-ratio: 2 / 1; }
  .home-text { padding: 4px 0; }
  .home-text p { padding: 16px 12px; border-radius: 0; }
  .home-category span { margin-top: 7.2px; }
  .home-leather { padding: 0 12px 20px; }
}

/* Remaining original decoration components, in API order. */
.home-section-title { margin: 0; height: 64px; display: grid; place-items: center; font-size: 16px; font-weight: 400; }
.home-articles { padding: 0 12px 14px; }
.home-article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.home-poster-grid { display: grid; grid-template-columns: repeat(var(--poster-columns),minmax(0,1fr)); gap: 1px; }
.home-poster { display: block; min-width: 0; }
.home-poster img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.home-navigation .home-category span { color: #717886; }

@media (min-width:600px) { .home-section-title { font-size: 24px; height: 80px; } }
