.store-hero { position: relative; display: flex; min-height: 510px; align-items: center; overflow: hidden; isolation: isolate; padding: 145px max(9vw, 42px) 90px; background: #101013; }
.store-hero-image { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(7,7,9,.9) 0%, rgba(7,7,9,.68) 43%, rgba(7,7,9,.16) 100%), linear-gradient(0deg, rgba(7,7,9,.48), transparent 50%), url("../images/hero-cybertruck.49ace5feb34a.png") center 52% / cover no-repeat; filter: saturate(.82); }
.store-hero-content { max-width: 720px; }
.store-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0; color: #a7a196; font: 9px var(--font-mono); letter-spacing: .16em; }
.store-eyebrow > span { width: 6px; height: 6px; border-radius: 50%; background: #d3c3a2; box-shadow: 0 0 12px rgba(211,195,162,.55); }
.store-hero h1 { margin: 27px 0 15px; color: #f0eee8; font: 500 clamp(54px, 8vw, 98px)/.98 var(--font-display); letter-spacing: -.08em; }
.store-hero h1 em, .store-heading h2 em { color: #cabb9d; font-family: var(--font-editorial); font-weight: 400; }
.store-hero-content > p:not(.store-eyebrow) { max-width: 435px; margin: 0; color: #c4c0b9; font-size: 12px; line-height: 1.8; }
.store-hero-link { display: inline-flex; align-items: center; gap: 13px; margin-top: 27px; padding: 12px 0; border-bottom: 1px solid rgba(224,214,195,.57); color: #f0ece4; font: 10px var(--font-mono); }
.store-hero-link svg { width: 15px; height: 15px; }
.store-hero-index { position: absolute; right: 7%; bottom: 45px; color: #d5ccbd; font: 8px var(--font-mono); letter-spacing: .16em; }
.store-shell { width: min(1280px, calc(100% - 72px)); margin: 0 auto; padding: 94px 0 105px; }
.store-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.store-heading h2 { margin: 17px 0 0; font: 400 clamp(36px, 4vw, 53px)/1.12 var(--font-editorial); letter-spacing: -.06em; }
.store-cart-button { display: inline-flex; min-height: 42px; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid rgba(227,219,203,.3); border-radius: 999px; background: rgba(255,255,255,.025); color: #e4dfd5; cursor: pointer; font: 9px var(--font-mono); transition: background .2s ease, border-color .2s ease; }
.store-cart-button:hover { border-color: #cabb9d; background: rgba(255,255,255,.07); }
.store-cart-button svg { width: 14px; height: 14px; color: #cabb9d; }
.store-cart-button > span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #d9cfba; color: #181715; font-size: 8px; }
.store-disclosure { display: grid; grid-template-columns: 19px 1fr; gap: 12px; align-items: start; margin: 27px 0 36px; padding: 16px 18px; border: 1px solid rgba(218,203,166,.2); background: rgba(180,157,110,.045); }
.store-disclosure > svg { width: 15px; height: 15px; margin-top: 2px; color: #cabb9d; }
.store-disclosure p { margin: 0; color: #aaa59b; font-size: 10px; line-height: 1.8; }
.store-disclosure strong { color: #e1dbd0; font-weight: 500; }
.store-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.13); }
.store-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.store-filter { display: flex; min-height: 34px; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: #9c978e; cursor: pointer; font-size: 9px; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.store-filter:hover { color: #efebe1; }
.store-filter.is-active { border-color: rgba(219,204,173,.34); background: rgba(213,195,157,.1); color: #e7dfd1; }
.store-filter span { color: #b7a984; font: 8px var(--font-mono); }
.store-search { display: flex; width: min(250px, 100%); min-height: 37px; flex: 0 0 auto; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.025); }
.store-search svg { width: 14px; height: 14px; color: #8c877f; }
.store-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #f2eee6; font-size: 9px; }
.store-search input::placeholder { color: #817c74; }
.store-results { margin: 14px 0 19px; color: #76716a; font: 8px var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.store-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 27px 19px; }
.store-card { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(155deg, rgba(255,255,255,.035), rgba(255,255,255,.008) 38%, rgba(255,255,255,.018)); transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.store-card:hover { transform: translateY(-3px); border-color: rgba(208,192,156,.37); box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.store-gallery { padding: 9px 9px 0; }
.store-gallery-stage { position: relative; height: clamp(178px, 19vw, 244px); overflow: hidden; background: #141417; }
.store-gallery-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.015); transition: opacity .32s ease, transform .55s ease; }
.store-gallery-image.is-active { opacity: 1; transform: scale(1); }
.store-gallery-stage::after { position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgba(6,6,8,.53), transparent); content: ""; pointer-events: none; }
.store-image-count, .store-image-caption { position: absolute; z-index: 1; bottom: 10px; color: #f1eee8; font: 7px var(--font-mono); letter-spacing: .1em; }
.store-image-count { left: 10px; }
.store-image-caption { right: 9px; color: rgba(236,232,223,.72); font-size: 6px; }
.store-view-details { position: absolute; z-index: 2; right: 10px; bottom: 30px; display: inline-flex; min-height: 29px; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid rgba(255,255,255,.55); background: rgba(8,8,10,.64); color: #f0ece4; cursor: pointer; font: 8px var(--font-mono); opacity: 0; transform: translateY(3px); transition: opacity .2s ease, transform .2s ease, background .2s ease; backdrop-filter: blur(7px); }
.store-gallery-stage:hover .store-view-details, .store-view-details:focus-visible { opacity: 1; transform: translateY(0); }
.store-view-details:hover { background: rgba(8,8,10,.92); }
.store-view-details svg { width: 12px; height: 12px; color: #d7c7a6; }
.store-detail-dialog { width: min(1050px, calc(100% - 34px)); max-width: 1050px; max-height: min(88vh, 830px); overflow: auto; padding: 22px; border: 1px solid rgba(226,211,182,.3); background: #101012; color: #eeeae2; box-shadow: 0 30px 90px rgba(0,0,0,.7); }
.store-detail-dialog::backdrop { background: rgba(0,0,0,.76); backdrop-filter: blur(7px); }
.store-detail-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.12); }
.store-detail-eyebrow { color: #b7a889; font: 8px var(--font-mono); letter-spacing: .14em; text-transform: uppercase; }
.store-detail-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(270px, .85fr); gap: 27px; padding-top: 21px; }
.store-detail-stage { position: relative; height: clamp(300px, 51vh, 510px); overflow: hidden; background: #17171a; }
.store-detail-stage::after { position: absolute; right: 0; bottom: 0; left: 0; height: 96px; background: linear-gradient(0deg, rgba(0,0,0,.6), transparent); content: ""; pointer-events: none; }
.store-detail-stage > img { width: 100%; height: 100%; object-fit: cover; }
.store-detail-counter { position: absolute; z-index: 2; bottom: 14px; left: 15px; color: #f2eee6; font: 9px var(--font-mono); letter-spacing: .1em; }
.store-detail-arrow { position: absolute; z-index: 2; top: 50%; display: grid; width: 38px; height: 38px; place-items: center; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(8,8,10,.58); color: white; cursor: pointer; backdrop-filter: blur(7px); }
.store-detail-arrow:hover { border-color: #e5d3ae; background: rgba(8,8,10,.9); }
.store-detail-arrow svg { width: 15px; height: 15px; }
.store-detail-previous { left: 12px; }
.store-detail-next { right: 12px; }
.store-detail-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 8px; }
.store-detail-thumb { height: 62px; overflow: hidden; padding: 0; border: 1px solid transparent; background: #19191b; cursor: pointer; opacity: .63; transition: border-color .2s ease, opacity .2s ease; }
.store-detail-thumb:hover, .store-detail-thumb.is-active { border-color: #d2bd94; opacity: 1; }
.store-detail-thumb img { width: 100%; height: 100%; object-fit: cover; }
.store-detail-content { align-self: center; padding: 8px 8px 8px 0; }
.store-detail-content > .store-eyebrow { color: #a79d88; font-size: 8px; }
.store-detail-content h2 { margin: 14px 0 12px; color: #f0ece4; font: 500 clamp(28px, 4vw, 43px)/1.07 var(--font-display); letter-spacing: -.06em; }
.store-detail-description { margin: 0; color: #a49e94; font-size: 11px; line-height: 1.9; }
.store-detail-content > h3 { margin: 25px 0 9px; color: #e4ded2; font: 11px var(--font-display); }
.store-detail-specs { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; list-style: none; }
.store-detail-specs li { padding: 6px 8px; border: 1px solid rgba(255,255,255,.12); color: #c2b9a9; font: 8px var(--font-mono); }
.store-detail-price { display: grid; gap: 9px; padding: 18px 0; margin-top: 17px; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.store-detail-price > span { color: #817a6f; font: 8px var(--font-mono); letter-spacing: .1em; }
.store-detail-price > a { display: flex; align-items: center; gap: 7px; color: #e4d4b5; font: 11px var(--font-mono); }
.store-detail-price > a svg { width: 14px; height: 14px; }
.store-detail-price > small { color: #8a847a; font-size: 8px; line-height: 1.7; }
.store-detail-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 17px; }
.store-detail-actions > * { min-height: 42px; }
.store-detail-actions .store-add-button, .store-detail-actions .store-buy-button { font-size: 9px; }
.store-detail-actions .store-price-tag { font-size: 12px; }
.store-gallery-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 5px; }
.store-gallery-thumb { position: relative; height: 43px; overflow: hidden; padding: 0; border: 1px solid transparent; background: #151518; cursor: pointer; opacity: .63; transition: border-color .2s ease, opacity .2s ease; }
.store-gallery-thumb:hover, .store-gallery-thumb.is-active { border-color: rgba(217,198,161,.78); opacity: 1; }
.store-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.store-card-content { padding: 17px 16px 15px; }
.store-card-kicker { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #b4a889; font: 7px var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.store-category-marker { color: #75716b; }
.store-card h3 { margin: 8px 0 8px; color: #eeeae2; font: 500 19px var(--font-display); letter-spacing: -.045em; }
.store-description { min-height: 55px; margin: 0; color: #9c978e; font-size: 9px; line-height: 1.8; }
.store-specs { display: flex; min-height: 34px; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px 0; margin: 13px 0 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); list-style: none; }
.store-specs li { padding: 4px 7px; border: 1px solid rgba(255,255,255,.1); color: #b7b1a6; font: 7px var(--font-mono); }
.store-price-row { display: flex; min-height: 49px; align-items: center; justify-content: space-between; gap: 8px; }
.store-price-label { color: #777169; font: 7px var(--font-mono); letter-spacing: .09em; }
.store-live-price { display: inline-flex; align-items: center; gap: 5px; color: #e0d4bd; font: 9px var(--font-mono); }
.store-live-price:hover { color: white; }
.store-live-price svg { width: 12px; height: 12px; }
.store-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.store-add-button, .store-buy-button { display: flex; min-height: 37px; align-items: center; justify-content: center; gap: 6px; padding: 0 8px; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #e4dfd5; cursor: pointer; font: 8px var(--font-mono); transition: background .2s ease, border-color .2s ease; }
.store-add-button:hover { border-color: rgba(222,207,172,.6); background: rgba(222,207,172,.08); }
.store-add-button svg { width: 13px; height: 13px; color: #cfbd9a; }
.store-buy-button { border-color: #d4c6a9; background: #d4c6a9; color: #171615; }
.store-buy-button:hover { border-color: #eee5d3; background: #eee5d3; }
.store-buy-button svg { width: 12px; height: 12px; }
.store-price-tag { display: flex; min-height: 37px; align-items: center; justify-content: center; gap: 6px; padding: 0 8px; border: 1px solid #d4c6a9; background: #d4c6a9; color: #171615; font: 600 11px var(--font-mono); letter-spacing: .02em; white-space: nowrap; }
.store-price-tag svg { width: 12px; height: 12px; }
.store-order-button { display: flex; grid-column: 1 / -1; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; border: 1px solid rgba(200,185,154,.55); background: linear-gradient(105deg, rgba(224,217,202,.16), rgba(181,170,148,.08)); color: #f0e9da; cursor: pointer; font: 9px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; transition: background .2s ease, border-color .2s ease; }
.store-order-button:hover { border-color: #eee5d3; background: rgba(224,217,202,.22); }
.store-order-button svg { width: 13px; height: 13px; color: #cfbd9a; }
.store-footnote { max-width: 790px; margin: 28px 0 0; color: #77726b; font: 8px/1.8 var(--font-mono); }
.store-empty { min-height: 240px; flex-direction: column; align-items: center; justify-content: center; gap: 9px; border: 1px dashed rgba(255,255,255,.14); color: #928c83; }
.store-empty:not([hidden]) { display: flex; }
.store-empty svg { width: 22px; height: 22px; margin-bottom: 4px; color: #b2a07f; }
.store-empty strong { color: #ded8ce; font: 13px var(--font-display); }
.store-empty span { font-size: 9px; }
.store-cart-dialog { position: fixed; width: min(430px, calc(100% - 30px)); max-height: min(80vh, 690px); padding: 22px; border: 1px solid rgba(226,211,182,.3); background: #111113; color: #eeeae2; box-shadow: 0 30px 90px rgba(0,0,0,.65); }
.store-cart-dialog::backdrop { background: rgba(0,0,0,.68); backdrop-filter: blur(5px); }
.store-cart-top { display: flex; align-items: start; justify-content: space-between; gap: 15px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.12); }
.store-cart-top .store-eyebrow { font-size: 8px; }
.store-cart-top h2 { margin: 7px 0 0; font: 400 24px var(--font-editorial); }
.store-cart-close { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; background: transparent; cursor: pointer; }
.store-cart-close svg { width: 15px; height: 15px; }
.store-cart-note { color: #928c83; font-size: 9px; line-height: 1.7; }
.store-cart-items { display: grid; max-height: 42vh; gap: 9px; overflow: auto; padding: 0; margin: 18px 0; list-style: none; }
.store-cart-items li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px; border: 1px solid rgba(255,255,255,.11); color: #e2ddd3; font: 10px var(--font-mono); }
.store-cart-items button { border: 0; background: transparent; color: #b1a994; cursor: pointer; font-size: 8px; }
.store-cart-empty { padding: 20px 10px; color: #928c83; font-size: 9px; line-height: 1.7; }
.store-cart-clear { width: 100%; min-height: 36px; border: 1px solid rgba(255,255,255,.17); background: transparent; color: #bcb6aa; cursor: pointer; font: 8px var(--font-mono); }
.store-toast { position: fixed; z-index: 51; right: 24px; bottom: 24px; max-width: calc(100% - 48px); padding: 13px 17px; transform: translateY(12px); border: 1px solid rgba(207,190,154,.4); background: #171619; color: #e8e1d4; opacity: 0; pointer-events: none; font-size: 9px; transition: opacity .22s ease, transform .22s ease; }
.store-toast.is-visible { transform: translateY(0); opacity: 1; }

@media (max-width: 1050px) {
  .store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .store-shell { width: calc(100% - 52px); }
}
@media (max-width: 760px) {
  .store-hero { min-height: 440px; padding: 124px 23px 65px; }
  .store-hero-image { background-position: 58% center; }
  .store-hero h1 { font-size: clamp(51px, 13vw, 76px); }
  .store-hero-content > p:not(.store-eyebrow) { max-width: 330px; font-size: 10px; }
  .store-hero-index { right: 22px; bottom: 22px; }
  .store-shell { width: calc(100% - 34px); padding: 65px 0 75px; }
  .store-heading { align-items: start; }
  .store-heading h2 { font-size: 33px; }
  .store-cart-button { min-height: 36px; gap: 7px; padding: 0 10px; font-size: 8px; }
  .store-disclosure { margin: 22px 0 25px; padding: 13px; }
  .store-disclosure p { font-size: 9px; }
  .store-toolbar { align-items: stretch; flex-direction: column-reverse; gap: 13px; }
  .store-search { width: 100%; }
  .store-filters { gap: 5px; }
  .store-filter { min-height: 31px; padding: 0 9px; font-size: 8px; }
  .store-grid { grid-template-columns: 1fr; gap: 17px; }
  .store-gallery-stage { height: min(66vw, 330px); }
  .store-gallery-thumb { height: 52px; }
  .store-card-content { padding: 16px; }
  .store-description { min-height: auto; }
  .store-cart-dialog { padding: 18px; }
  .store-detail-dialog { width: calc(100% - 20px); max-height: 92vh; padding: 14px; }
  .store-detail-layout { grid-template-columns: 1fr; gap: 20px; padding-top: 14px; }
  .store-detail-stage { height: min(63vw, 360px); min-height: 220px; }
  .store-detail-thumb { height: 52px; }
  .store-detail-content { padding: 0 2px 6px; }
  .store-detail-content h2 { margin: 9px 0; font-size: 29px; }
  .store-detail-description { font-size: 10px; }
  .store-detail-content > h3 { margin-top: 16px; }
  .store-detail-price { padding: 13px 0; margin-top: 12px; }
  .store-detail-actions { margin-top: 12px; }
  .store-view-details { right: 7px; bottom: 27px; min-height: 27px; opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .store-card, .store-gallery-image, .store-filter, .store-cart-button, .store-toast { transition-duration: .01ms; }
}
