.store-page .site-header { background: rgba(8,9,10,.96); border-bottom-color: var(--line); }
.store-page .site-nav [aria-current="page"] { color: #fff; }
.store-page .site-nav [aria-current="page"]::after { transform: scaleX(1); }
.store-main { width: min(1440px,100%); margin: auto; padding: 9rem var(--pad) 5rem; }
.store-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.8rem; }
.store-heading h1 { margin: 0; font-size: clamp(2rem,3.5vw,3.3rem); line-height: 1.15; letter-spacing: -.035em; }
.store-heading p:not(.eyebrow) { margin: 1rem 0 0; color: #b6bbc1; font-size: 1.05rem; }
.store-contact { font-size: .875rem; color: #b6bbc1; text-underline-offset: .3rem; }
.store-feature { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); border: 1px solid #303438; background: #141719; }
.store-feature-image { display: block; position: relative; min-width: 0; overflow: hidden; text-decoration: none; }
.store-feature-image > img { width: 100%; height: 100%; object-fit: cover; }
.store-feature-image::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.8)); }
.store-new { position: absolute; left: 1.2rem; top: 1.2rem; z-index: 1; background: #c4392d; color: #fff; padding: .4rem .75rem; font-size: .875rem; font-weight: 800; letter-spacing: .08em; }
.store-image-caption { position: absolute; z-index: 1; bottom: 2rem; left: 2rem; right: 2rem; }
.store-image-caption span { display: block; font-size: .875rem; letter-spacing: .15em; font-weight: 700; }
.store-image-caption strong { display: block; font-size: clamp(1.7rem,3vw,3.2rem); letter-spacing: -.035em; line-height: 1.15; margin-top: .4rem; }
.store-feature-info { padding: clamp(1.5rem,2.7vw,2.8rem); min-width: 0; }
.store-product-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; color: #afb5ba; font-size: .875rem; }
.store-status { color: #b3d0c1; }
.store-status.upcoming { color: #e7c38e; }
.store-feature h2 { font-size: clamp(1.65rem,2.35vw,2.65rem); line-height: 1.18; letter-spacing: -.035em; margin: 1rem 0; }
.store-lead { color: #c0c5ca; margin: 0; }
.store-package-list { list-style: none; padding: 0; margin: 1.3rem 0; }
.store-package-list li { padding: .42rem 0; display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.store-package-list span { color: #b3b9bf; white-space: nowrap; }
.store-requirement { color: #aeb4bb; font-size: .875rem; margin: 0 0 1.5rem; }
.store-price { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 1rem; padding-top: 1.25rem; margin-bottom: 1.3rem; border-top: 1px solid #303438; }
.store-price-amount { display: flex; flex-direction: column; gap: .3rem; }
.store-price strong { font-size: clamp(1.65rem,2.3vw,2rem); font-weight: 650; line-height: 1.2; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.store-price span { font-size: .875rem; color: #b3b9bf; line-height: 1.5; }
.store-delivery { padding-bottom: .1rem; }
.store-button { display: flex; justify-content: center; align-items: center; text-align: center; min-height: 3.5rem; padding: .85rem 1rem; font-size: 1rem; font-weight: 750; text-decoration: none; border: 1px solid #646c73; background: #242a2e; color: #fff; transition: background .2s, border-color .2s; }
.store-button:hover { background: #343d44; border-color: #aeb6bc; }
.store-button-primary { border-color: #f2f3f4; background: #f2f3f4; color: #111315; }
.store-button-primary:hover, .store-button-primary:focus-visible { border-color: #fff; background: #fff; color: #08090a; }
.store-page a:focus-visible,.store-page button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.store-catalog { margin-top: 4rem; }
.store-catalog-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.store-catalog-heading h2 { margin: 0; font-size: 1.8rem; letter-spacing: -.035em; }
.store-result-count { color: #aeb4bb; font-size: .875rem; }
.store-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.4rem 0 1.8rem; }
.store-filters button { cursor: pointer; min-height: 2.8rem; padding: .65rem 1.1rem; font-size: .875rem; background: transparent; border: 1px solid #363c42; color: #c0c5ca; border-radius: 3px; }
.store-filters button[aria-pressed="true"] { background: #eff1f3; color: #111315; border-color: #eff1f3; }
.store-filters button:hover:not([aria-pressed="true"]) { border-color: #9aabb7; }
.store-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.4rem; align-items: stretch; }
.store-card { background: #131618; border: 1px solid #303438; display: flex; flex-direction: column; min-width: 0; }
.store-card[hidden] { display: none; }
.store-card-image { position: relative; display: block; overflow: hidden; aspect-ratio: 16/9; }
.store-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.store-card-image:hover img { transform: scale(1.025); }
.store-card-body { padding: 1.35rem; flex: 1; display: flex; flex-direction: column; }
.store-card h3 { font-size: 1.5rem; letter-spacing: -.035em; line-height: 1.25; margin: 1rem 0; }
.store-card-body > p { color: #b6bdc3; margin: 0 0 1rem; }
.store-card-body .store-platform { color: #e1e4e6; font-size: .875rem; margin-top: auto; padding-top: .6rem; }
.store-card-price { padding: 1.05rem 0; margin-bottom: .5rem; border-top: 1px solid #303438; display: flex; flex-direction: column; gap: .15rem; }
.store-card-price strong { font-size: 1.5rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.store-card-price span { color: #aeb4bb; font-size: .875rem; }
.store-detail-link { text-align: center; padding-top: .85rem; font-size: .875rem; text-underline-offset: .25rem; color: #c6ccd1; }
.store-help { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; border-top: 1px solid #303438; padding-top: 2rem; margin-top: 4rem; }
.store-help h2 { font-size: 1.1rem; margin: 0 0 .75rem; }
.store-help p { color: #aeb4bb; margin: 0 0 .65rem; }
.store-help a { font-size: .875rem; text-underline-offset: .25rem; overflow-wrap: anywhere; }
@media (min-width: 1440px) { .store-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 1100px) { .store-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) {
  .store-feature { grid-template-columns: minmax(0,1fr); }
  .store-feature-image { aspect-ratio: 16/9; }
  .store-heading { display: block; }
  .store-contact { display: inline-block; margin-top: 1.2rem; }
  .store-main { padding-top: 7.5rem; }
}
@media (max-width: 600px) {
  .store-grid,.store-help { grid-template-columns: minmax(0,1fr); }
  .store-main { padding-inline: 1.25rem; }
  .store-heading { margin-bottom: 1.8rem; }
  .store-heading h1 { font-size: 2.15rem; }
  .store-feature-info { padding: 1.3rem; }
  .store-image-caption { left: 1.3rem; bottom: 1.3rem; }
  .store-catalog { margin-top: 2.6rem; }
  .store-filters button { flex: 1 1 auto; }
  .store-help { gap: 1.7rem; }
}
@media (prefers-reduced-motion: reduce) { .store-card-image img,.store-button { transition: none; } }
/* Hosted checkout remains closed until the downloadable package is ready. */
.store-button-shopier { width:100%; margin-top:.75rem; background:#252b30; color:#c2c9cf; border:1px solid #515c64; font:inherit; font-weight:700; cursor:not-allowed; }
.store-button-shopier:disabled { opacity:1; }
