.shop-types-page .shop-type-hero { padding-bottom: 44px; }
.shop-type-hero h1 { max-width: 22ch; }
.shop-type-hero h1 span, .shop-type-hero .solution-entry { color: #ffcf57; }
.shop-type-hero .demo-lead { max-width: 56ch; }
.shop-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; padding-top: 30px; padding-bottom: 38px; border-top: 1px solid var(--line); }
.shop-paths > div { border-left: 3px solid var(--gold); padding-left: 20px; }
.shop-paths span { font-size: .72rem; font-weight: 800; letter-spacing: .07em; color: #436475; }
.shop-paths h2 { margin: 10px 0; font-size: 1.4rem; color: var(--navy); letter-spacing: -.02em; }
.shop-paths p { margin: 0; font-size: .96rem; color: #465c6b; }
.shop-type-controls > label { display: block; color: var(--navy); font-weight: 700; margin-bottom: 8px; }
.shop-search-row { display: flex; gap: 12px; margin-bottom: 20px; }
.shop-search-row input { width: 100%; min-width: 0; max-width: 680px; min-height: 48px; border: 1px solid #8fa7b7; background: #fff; border-radius: 7px; padding: 12px 14px; font: inherit; color: var(--navy); }
.shop-search-row input::placeholder { color: #546775; }
.shop-search-row button { padding: 10px 15px; font: inherit; font-weight: 700; border: 1px solid #8fa7b7; border-radius: 7px; background: white; color: var(--navy); cursor: pointer; }
.shop-type-card summary { min-height: 222px; }
.shop-type-card .solution-title { font-size: 1.14rem; }
.shop-type-benefit { color: #495f6d; line-height: 1.45; margin-top: 10px; font-size: .93rem; }
.shop-type-card .solution-product { margin-top: auto; padding-top: 14px; font-weight: 700; }
.shop-type-card[data-shop-group="check"] .solution-category { color: #71510d; }
.shop-type-card[open] .solution-product { margin-top: 0; }
.shop-empty { padding: 28px; border: 1px solid #c8d6df; border-radius: 8px; background: #fff; }
.shop-empty h3 { margin-top: 0; color: var(--navy); }
.shop-type-next h2 { color: var(--navy); margin-bottom: 26px; }
.shop-type-finder { scroll-margin-top: 180px; }
.shop-types-page [hidden] { display: none !important; }
@media(max-width: 760px) {
  .shop-paths { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .shop-type-finder, .shop-type-card { scroll-margin-top: 24px; }
}
@media(max-width: 600px) {
  .shop-search-row { flex-direction: column; }
  .shop-search-row button { align-self: flex-start; min-height: 44px; }
  .shop-type-card summary { min-height: auto; }
  .shop-type-card .solution-product { margin-top: 0; }
}
