/* Product selection follows the quiet, two-column Apple Store layout. */
#buy {
  padding: 70px 0 100px;
  background: #fff;
  border-top: 1px solid var(--hairline);
}
#buy .purchase-layout {
  width: min(980px, calc(100% - 80px));
  max-width: 980px;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 68px;
  row-gap: 0;
  align-items: start;
}
#buy .shop-product-heading { grid-column: 1; grid-row: 1; min-width: 0; }
#buy .shop-eyebrow { color: #b64400; font-size: 12px; line-height: 1.5; margin-bottom: 8px; }
#buy #purchase-title { font-size: 32px; line-height: 1.2; font-weight: 600; letter-spacing: .004em; text-wrap: initial; }
#buy .shop-product-finish { display: block; }
#buy #cat-price { margin-top: 22px; font-size: 21px; line-height: 1.38; letter-spacing: .011em; font-weight: 400; font-variant-numeric: tabular-nums; }
#buy .shop-price-note { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.5; letter-spacing: 0; }
#buy .shop-product-options { grid-column: 1; grid-row: 2; min-width: 0; padding-top: 32px; }
#buy .shop-choice-label { font-size: 17px; line-height: 1.5; font-weight: 600; letter-spacing: -.012em; }
#buy .shop-choice-label > span { font-weight: 400; }
#buy .shop-finish-swatch { display: block; width: 34px; height: 34px; margin-top: 12px; border: 3px solid #fff; border-radius: 50%; background: linear-gradient(135deg,#d9dadd 5%,#777b7d 48%,#c2c5c6 50%,#45494b 93%); box-shadow: 0 0 0 2px var(--focus), inset 0 0 0 1px rgba(0,0,0,.12); }
#buy .shop-version-group { margin: 30px 0 0; padding: 0; border: 0; }
#buy .shop-version-group legend { padding: 0; margin-bottom: 12px; font-size: 17px; font-weight: 600; line-height: 1.5; }
#buy .cat-version-picker { margin: 0; gap: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
#buy .version-option { min-width: 0; min-height: 80px; padding: 14px; background: #fff; border: 1px solid #86868b; border-radius: 12px; gap: 6px; justify-content: center; transition: border-color .18s, box-shadow .18s; }
#buy .version-option > span { font-size: 17px; line-height: 1.3; font-weight: 600; }
#buy .version-option > strong { font-size: 12px; line-height: 1.5; font-weight: 400; }
#buy .version-option[aria-pressed="true"] { border: 1px solid var(--focus); box-shadow: inset 0 0 0 1px var(--focus); padding: 14px; }
#buy .version-option:hover { border-color: var(--focus); }
#buy .version-option:active { transform: none; }
#buy .shop-version-note { margin-top: 12px; font-size: 12px; line-height: 1.5; color: var(--muted); letter-spacing: 0; }
#buy .shop-consult-button { margin-top: 28px; width: 100%; min-height: 44px; justify-content: center; border-radius: 10px; padding: 11px 16px; background: var(--focus); font-size: 17px; }
#buy .shop-consult-button:hover { background: #0077ed; }
#buy .shop-save-button { margin: 9px auto 0; min-height: 44px; font-size: 14px; }
#buy .shop-visit-options { margin-top: 20px; border-top: 1px solid var(--hairline); padding-top: 24px; display: grid; gap: 20px; }
#buy .shop-visit-option { display: flex; align-items: flex-start; gap: 12px; }
#buy .shop-visit-option > .icon { width: 24px; height: 24px; margin-top: 1px; }
#buy .shop-visit-option strong { display: block; font-size: 14px; line-height: 1.5; font-weight: 600; }
#buy .shop-visit-option p { font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 2px; letter-spacing: 0; }
#buy .shop-help-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; min-height: 44px; color: var(--blue); font-size: 14px; padding: 0; }
#buy .shop-help-link:hover { text-decoration: underline; }
#buy .shop-product-gallery { grid-column: 2; grid-row: 1 / 3; min-width: 0; padding-top: 0; }
#buy .shop-main-photo { height: 620px; width: 100%; display: flex; align-items: center; justify-content: center; background: #fff; }
#buy .shop-main-photo img { width: 100%; height: 100%; object-fit: contain; margin: 0; mix-blend-mode: normal; }
#buy .shop-photo-thumbnails { display: flex; justify-content: center; gap: 18px; margin-top: 24px; }
#buy .shop-photo-thumbnail { position: relative; width: 64px; height: 76px; padding: 4px 4px 12px; display: flex; align-items: center; justify-content: center; border-radius: 0; border: 0; }
#buy .shop-photo-thumbnail img { width: 56px; height: 56px; object-fit: contain; margin: 0; mix-blend-mode: normal; }
#buy .shop-photo-thumbnail::after { content: ""; position: absolute; bottom: 0; left: 8px; right: 8px; height: 2px; background: transparent; }
#buy .shop-photo-thumbnail[aria-pressed="true"]::after { background: var(--ink); }
#buy .shop-photo-thumbnail:hover::after { background: #86868b; }
#buy .shop-gallery-caption { margin-top: 16px; text-align: center; font-size: 12px; line-height: 1.5; color: var(--muted); letter-spacing: 0; }

@media (max-width: 1023px) {
  #buy .purchase-layout { grid-template-columns: 290px minmax(0,1fr); column-gap: 36px; }
  #buy .shop-main-photo { height: 560px; }
  #buy .shop-photo-thumbnails { gap: 8px; }
}
@media (max-width: 767px) {
  #buy { padding: 48px 0 64px; }
  #buy .purchase-layout { width: calc(100% - 40px); display: flex; flex-direction: column; gap: 0; }
  #buy .shop-product-heading { order: 0; width: 100%; }
  #buy #purchase-title { font-size: 28px; line-height: 1.23; }
  #buy #cat-price { margin-top: 16px; font-size: 19px; }
  #buy .shop-product-gallery { order: 1; width: 100%; padding-top: 24px; }
  #buy .shop-main-photo { height: min(470px,112vw); }
  #buy .shop-photo-thumbnails { margin-top: 18px; gap: 16px; }
  #buy .shop-gallery-caption { margin-top: 10px; }
  #buy .shop-product-options { order: 2; width: 100%; padding-top: 32px; }
  #buy .shop-version-group { margin-top: 28px; }
  #buy .version-option { min-height: 80px; }
}
@media (max-width: 374px) {
  #buy .shop-photo-thumbnails { gap: 10px; }
  #buy .shop-photo-thumbnail { width: 58px; }
}
