
/* Armored Store v4.55 — retail collection layout */
.store-collection-page .site-header {
  background: rgba(7,7,7,.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.store-collection-page .site-header .main-nav a.is-current { color: var(--gold-bright); }
.store-main {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  padding: calc(var(--header-h) + 52px) clamp(24px, 4.2vw, 72px) 90px;
  background:
    radial-gradient(circle at 86% 0%, rgba(217,170,67,.055), transparent 25%),
    #070707;
}
.store-main::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 240px);
}
.store-hero-block,
.store-toolbar,
.store-grid,
.store-empty { position: relative; z-index: 1; }
.store-hero-block--minimal {
  display: block;
  margin: 0 0 34px;
}
.store-hero-copy--minimal {
  min-height: 250px;
  padding: 0 0 34px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.075);
  background: transparent;
}
.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}
.section-tag > span:first-child {
  width: 34px;
  height: 1px;
  background: var(--gold);
}
.store-hero-title-row {
  margin-top: 20px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}
.store-hero-copy--minimal h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(72px, 9.4vw, 132px);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.store-hero-copy--minimal h1 b { color: var(--gold); font-weight: 400; }
.store-hero-copy--minimal p {
  margin: 18px 0 0;
  color: #9097a0;
  font-size: 14px;
  line-height: 1.7;
}
.store-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 26px;
  margin-bottom: 22px;
  padding: 0 0 18px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.store-toolbar__left strong {
  display: block;
  margin-bottom: 6px;
  color: #f1eee5;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.store-toolbar__left p {
  margin: 0;
  color: #696f77;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.store-toolbar__right {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}
.store-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.store-filter,
.store-sort select {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.075);
  background: transparent;
  color: #8c929b;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.store-filter:hover,
.store-sort select:hover {
  border-color: rgba(217,170,67,.36);
  color: #f5f1e7;
}
.store-filter.is-active {
  border-color: var(--gold);
  background: var(--gold);
  color: #070707;
}
.store-sort {
  display: grid;
  gap: 7px;
  color: #6f757d;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.store-sort select {
  min-width: 145px;
  appearance: none;
}
.store-grid {
  display: grid;
  grid-template-columns: minmax(0, 300px);
  gap: 28px 18px;
  justify-content: start;
}
.store-card { min-width: 0; }
.store-card[hidden] { display: none !important; }
.store-card__click {
  width: 100%;
  padding: 0;
  text-align: left;
  background: transparent;
}
.store-card__media {
  position: relative;
  min-height: 250px;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 50% 18%, rgba(217,170,67,.045), transparent 30%),
    linear-gradient(180deg, #111214 0%, #0d0e10 100%);
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.store-card__click:hover .store-card__media {
  transform: translateY(-3px);
  border-color: rgba(217,170,67,.28);
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}
.store-card__image {
  display: block;
  width: 100%;
  height: 250px;
  min-height: 0;
  object-fit: cover;
  object-position: center top;
  transition: transform .28s ease;
}
.store-card__click:hover .store-card__image {
  transform: scale(1.018);
}
.store-card__mock,
.store-modal__mock {
  position: relative;
  width: 74%;
  max-width: 250px;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  transition: transform .28s ease;
}
.store-card__click:hover .store-card__mock { transform: scale(1.025); }
.store-card__mock::before,
.store-card__mock::after,
.store-modal__mock::before,
.store-modal__mock::after {
  content: "";
  position: absolute;
  inset: 0;
}
.store-card__mock-word,
.store-modal__mock span {
  position: relative;
  z-index: 2;
  font-family: var(--display);
  color: rgba(255,214,107,.88);
  letter-spacing: 2px;
  font-size: clamp(28px, 4vw, 40px);
}
.shape-jersey .store-card__mock,
.shape-jersey .store-modal__mock { aspect-ratio: 1 / 1.08; }
.shape-jersey .store-card__mock::before,
.shape-jersey .store-modal__mock::before {
  clip-path: polygon(24% 12%, 37% 12%, 43% 5%, 57% 5%, 63% 12%, 76% 12%, 88% 28%, 75% 38%, 73% 95%, 27% 95%, 25% 38%, 12% 28%);
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02));
}
.shape-hoodie .store-card__mock,
.shape-hoodie .store-modal__mock { aspect-ratio: 1 / 1.15; }
.shape-hoodie .store-card__mock::before,
.shape-hoodie .store-modal__mock::before {
  clip-path: polygon(34% 10%, 50% 4%, 66% 10%, 82% 26%, 73% 37%, 75% 95%, 25% 95%, 27% 37%, 18% 26%);
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02));
}
.shape-tee .store-card__mock,
.shape-tee .store-modal__mock { aspect-ratio: 1 / 1.05; }
.shape-tee .store-card__mock::before,
.shape-tee .store-modal__mock::before {
  clip-path: polygon(21% 16%, 39% 16%, 45% 7%, 55% 7%, 61% 16%, 79% 16%, 90% 30%, 77% 39%, 74% 94%, 26% 94%, 23% 39%, 10% 30%);
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02));
}
.shape-jacket .store-card__mock,
.shape-jacket .store-modal__mock { aspect-ratio: 1 / 1.14; }
.shape-jacket .store-card__mock::before,
.shape-jacket .store-modal__mock::before {
  clip-path: polygon(26% 10%, 74% 10%, 88% 26%, 78% 38%, 75% 95%, 54% 95%, 52% 34%, 48% 34%, 46% 95%, 25% 95%, 22% 38%, 12% 26%);
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02));
}
.shape-mousepad .store-card__mock,
.shape-mousepad .store-modal__mock { aspect-ratio: 1.4 / 1; max-width: 270px; }
.shape-mousepad .store-card__mock::before,
.shape-mousepad .store-modal__mock::before {
  inset: 14% 4% 18%;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.012));
  border: 1px solid rgba(217,170,67,.13);
}
.shape-cap .store-card__mock,
.shape-cap .store-modal__mock { aspect-ratio: 1.1 / 1; max-width: 230px; }
.shape-cap .store-card__mock::before,
.shape-cap .store-modal__mock::before {
  inset: 18% 22% 30%;
  border-radius: 54% 54% 34% 34%;
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02));
}
.shape-cap .store-card__mock::after,
.shape-cap .store-modal__mock::after {
  inset: 44% 11% 26% 48%;
  border-radius: 50px 80px 100px 30px;
  background: linear-gradient(180deg, rgba(217,170,67,.36), rgba(217,170,67,.07));
}
.shape-sleeve .store-card__mock,
.shape-sleeve .store-modal__mock { aspect-ratio: 1 / 1; max-width: 210px; }
.shape-sleeve .store-card__mock::before,
.shape-sleeve .store-modal__mock::before {
  inset: 18% 36% 10% 24%;
  transform: rotate(-18deg);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02));
}
.shape-badge .store-card__mock,
.shape-badge .store-modal__mock { aspect-ratio: 1 / 1; max-width: 230px; }
.shape-badge .store-card__mock::before,
.shape-badge .store-modal__mock::before {
  inset: 20% 20%;
  clip-path: polygon(50% 0%, 92% 24%, 92% 75%, 50% 100%, 8% 75%, 8% 24%);
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.02));
}
.store-card__content--retail { padding: 15px 2px 0; }
.store-card__meta-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 7px;
}
.store-card__category {
  color: #737a83;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.store-card__price {
  color: var(--gold-bright);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .5px;
}
.store-card h3 {
  margin: 0;
  color: #ece9e0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}
.store-card__view {
  display: inline-block;
  margin-top: 9px;
  color: transparent;
  transform: translateY(-2px);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  transition: color .2s ease, transform .2s ease;
}
.store-card__click:hover .store-card__view {
  color: var(--gold-bright);
  transform: translateY(0);
}
.store-empty {
  margin-top: 20px;
  padding: 30px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.06);
  color: #8d949d;
}

.store-toolbar__right--single {
  align-items: center;
}
.store-single-category {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(217,170,67,.24);
  color: #b8a36b;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

/* Responsive store */
@media (max-width: 1200px) {
  .store-grid { grid-template-columns: minmax(0, 300px); }
}
@media (max-width: 980px) {
  .store-main { padding-left: 20px; padding-right: 20px; }
  .store-toolbar { flex-direction: column; align-items: flex-start; }
  .store-toolbar__right { width: 100%; justify-content: flex-start; }
  .store-grid { grid-template-columns: minmax(0, 300px); }
}
@media (max-width: 720px) {
  .store-main { padding-top: calc(var(--header-h) + 30px); }
  .store-hero-copy--minimal { min-height: 200px; }
  .store-hero-title-row { align-items: flex-start; flex-direction: column; gap: 18px; }
  .store-grid { grid-template-columns: minmax(0, 100%); }
  .store-card { max-width: 300px; }
  .store-card__media { min-height: 250px; }
  .store-filter-group { width: 100%; }
  .store-filter { flex: 1 1 auto; }
  .store-sort { width: 100%; }
  .store-sort select { width: 100%; }
}


/* Product detail page — full page, no modal */
.product-main {
  position: relative;
  z-index: 2;
  padding: calc(var(--header-h) + 26px) clamp(24px, 4.5vw, 72px) 84px;
  background: var(--ink);
  min-height: 100vh;
}
.product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: #767d87;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.product-breadcrumb a:hover { color: var(--gold-bright); }
.product-breadcrumb strong { color: #cbd0d7; font-weight: 800; }
.product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(390px, .84fr);
  gap: clamp(30px, 4vw, 64px);
  align-items: start;
}
.product-gallery-main {
  position: relative;
  min-height: min(72vh, 720px);
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 34%, rgba(217,170,67,.09), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.008));
  border: 1px solid rgba(255,255,255,.06);
}
.product-gallery-index {
  position: absolute;
  top: 20px;
  left: 20px;
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.8px;
}
.product-mock-large {
  width: min(72%, 520px) !important;
  max-width: 520px !important;
}
.product-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.product-thumb {
  position: relative;
  min-height: 124px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.012);
}
.product-thumb.is-active { border-color: rgba(217,170,67,.55); }
.product-thumb .store-modal__mock { width: 72%; max-width: 90px; }
.product-buy-panel {
  position: sticky;
  top: 26px;
  padding-top: 14px;
}
.product-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 2.1px;
  text-transform: uppercase;
}
.product-buy-panel h1 {
  margin: 0;
  max-width: 700px;
  font-family: var(--display);
  font-size: clamp(54px, 6vw, 88px);
  font-weight: 400;
  line-height: .9;
  text-transform: uppercase;
}
.product-page-price {
  margin: 20px 0 22px;
  color: var(--gold-bright);
  font-family: var(--display);
  font-size: 42px;
}
.product-page-desc {
  margin: 0 0 28px;
  color: #9198a2;
  font-size: 14px;
  line-height: 1.8;
}
.product-config-block {
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,.07);
}
.product-config-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.product-config-label > span { color: #8a919b; }
.product-config-label strong { color: #e8ebef; }
.product-size-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.product-size {
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.01);
  color: #c8cdd4;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
}
.product-size:hover { border-color: rgba(217,170,67,.4); color: #fff; }
.product-size.is-selected { background: var(--gold); border-color: var(--gold); color: #090909; }
.product-color {
  width: 44px;
  height: 44px;
  padding: 5px;
  border: 1px solid rgba(255,255,255,.12);
  background: transparent;
}
.product-color span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(135deg, #080808 48%, var(--gold) 50%);
}
.product-color.is-selected { border-color: var(--gold); }
.product-add-btn {
  width: 100%;
  min-height: 58px;
  margin-top: 12px;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  background: var(--gold);
  color: #090909;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  opacity: 1;
}
.product-add-btn:disabled { cursor: not-allowed; }
.product-edit-note {
  margin: 10px 0 0;
  color: #6f7680;
  font-size: 10px;
  text-align: center;
}
.product-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin-top: 22px;
}
.product-benefits > div {
  min-height: 88px;
  padding: 14px 15px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-content: center;
  border: 1px solid rgba(255,255,255,.06);
}
.benefit-icon { grid-row: 1 / 3; color: var(--gold-bright); font-size: 18px; align-self: center; }
.product-benefits strong { font-size: 9px; letter-spacing: 1.6px; }
.product-benefits small { color: #777e88; font-size: 9px; line-height: 1.4; }
.product-info-sections {
  margin-top: 56px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.product-info-sections details { border-bottom: 1px solid rgba(255,255,255,.07); }
.product-info-sections summary {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  color: #e6e8eb;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  list-style: none;
}
.product-info-sections summary::-webkit-details-marker { display: none; }
.product-info-sections details[open] summary span:last-child { transform: rotate(45deg); }
.product-info-sections details > div { padding: 0 0 24px; }
.product-info-sections p { max-width: 780px; margin: 0; color: #8f96a0; font-size: 13px; line-height: 1.8; }
@media (max-width: 980px) {
  .product-layout { grid-template-columns: 1fr; }
  .product-buy-panel { position: static; }
  .product-gallery-main { min-height: 560px; }
}
@media (max-width: 640px) {
  .product-main { padding-left: 16px; padding-right: 16px; }
  .product-gallery-main { min-height: 420px; }
  .product-thumbs { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .product-thumb { min-height: 84px; }
  .product-size-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .product-benefits { grid-template-columns: 1fr; }
}
