.bastion-708 {
  --b708-ink: #122641;
  --b708-muted: #50627a;
  --b708-line: #dce5ef;
  --b708-blue: #1765eb;
  color: var(--b708-ink);
}
.bastion-708 .b708-hero, .bastion-708 .panel {
  background: #fff;
  border: 1px solid var(--b708-line);
  border-radius: 16px;
  padding: clamp(14px, 2.5vw, 26px);
}
.bastion-708 .b708-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2.4vw, 32px);
}
.bastion-708 .b708-heading { grid-column: 1 / -1; }
#product-info .bastion-708 .b708-heading h1 { font-size: clamp(24px, 3.1vw, 40px); line-height: 1.14; margin: 4px 0 0; }
.bastion-708 .b708-code, .bastion-708 .intro { color: var(--b708-muted); }
.bastion-708 .intro { font-size: 16px; line-height: 1.55; }
.bastion-708 .intro strong { color: var(--b708-ink); }
.bastion-708 .gallery-open {
  position: relative;
  width: 100%;
  padding: 12px;
  border: 1px solid var(--b708-line);
  border-radius: 14px;
  background: #fff;
  cursor: zoom-in;
}
.bastion-708 .gallery-open span {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 5px 9px;
  border-radius: 6px;
  background: #edf4ff;
  color: var(--b708-ink);
}
.bastion-708 .gallery-main {
  display: block;
  width: 100%;
  height: clamp(220px, 30vw, 360px);
  object-fit: contain;
}
.bastion-708 .gallery-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.bastion-708 .gallery-thumbs button { padding: 3px; min-height: 44px; border: 1px solid var(--b708-line); border-radius: 9px; background: #fff; }
.bastion-708 .gallery-thumbs button[aria-pressed=true] { box-shadow: inset 0 0 0 1px var(--b708-blue); border-color: var(--b708-blue); }
.bastion-708 .gallery-thumbs img { width: 100%; height: 56px; object-fit: contain; }
.bastion-708 .facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; }
.bastion-708 .facts div { padding: 8px; background: #edf4ff; border-radius: 8px; }
.bastion-708 .facts dt { font-size: 12px; color: var(--b708-muted); }
.bastion-708 .facts dd { margin: 0; font-size: clamp(14px, 1.6vw, 20px); font-weight: 750; }
.bastion-708 .b708-offer { padding: 16px; border: 1px solid var(--b708-line); border-radius: 12px; background: #f5f8fc; }
.bastion-708 .b708-offer .price-new { font-size: 29px; }
.bastion-708 .b708-stock { margin-bottom: 12px; color: var(--b708-muted); }
.bastion-708 .b708-fast { min-height: 44px; width: 100%; margin-bottom: 10px; }
.bastion-708 .b708-phone {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 4px 12px;
  min-height: 48px;
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: #edf4ff;
  color: #174a9d;
  text-decoration: none;
}
.bastion-708 .b708-phone strong { font-size: clamp(18px, 2vw, 24px); white-space: nowrap; }
.bastion-708 .b708-phone:hover strong { text-decoration: underline; }
.bastion-708 .b708-order { width: min(440px, calc(100% - 24px)); max-height: calc(100dvh - 24px); border: 1px solid var(--b708-line); border-radius: 14px; padding: 20px; color: var(--b708-ink); }
.bastion-708 .b708-order::backdrop { background: #0b162cb3; }
.bastion-708 .b708-order h2 { font-size: 24px; }
.bastion-708 .b708-offer input[name=quantity] { flex: 0 1 80px; }
.bastion-708 .store-links, .bastion-708 .spec-groups, .bastion-708 .answers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bastion-708 .store-links { margin-top: 12px; }
.bastion-708 .store-links a { display: flex; align-items: center; min-height: 44px; border: 1px solid var(--b708-line); border-radius: 8px; padding: 6px 10px; }
.bastion-708 .b708-sections { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 16px 0 12px; padding: 4px; border: 1px solid var(--b708-line); border-radius: 10px; background: #fff; }
.bastion-708 .b708-sections a { display: grid; place-items: center; min-height: 44px; text-align: center; font-size: clamp(10px, 3.3vw, 15px); font-weight: 650; }
.bastion-708 .panel { margin-bottom: 12px; scroll-margin-top: 110px; }
.bastion-708 .panel h2 { font-size: clamp(20px, 2.5vw, 24px); }
.bastion-708 .panel h3 { font-size: 16px; font-weight: 700; }
.bastion-708 .spec-groups { gap: 18px 26px; }
.bastion-708 .specs dl { margin: 0; }
.bastion-708 .specs dl div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 8px 0; border-top: 1px solid var(--b708-line); font-size: 14px; }
.bastion-708 .specs dt { color: var(--b708-muted); font-weight: 400; }
.bastion-708 .specs dd { margin: 0; font-weight: 650; }
.bastion-708 .photo-dialog { width: min(900px, calc(100% - 24px)); max-height: calc(100dvh - 24px); border: 1px solid var(--b708-line); border-radius: 14px; padding: 14px; }
.bastion-708 .photo-dialog::backdrop { background: #0b162cd9; }
.bastion-708 .photo-dialog img { display: block; width: 100%; height: min(69dvh, 720px); object-fit: contain; }
.bastion-708 .photo-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bastion-708 .photo-toolbar button { min-width: 44px; min-height: 44px; }
.bastion-708 :focus-visible { outline: 2px solid var(--b708-blue); outline-offset: 2px; }
@media (max-width: 767px) {
  .bastion-708 .b708-hero, .bastion-708 .spec-groups, .bastion-708 .answers { grid-template-columns: 1fr; }
  .bastion-708 .gallery-main { height: 235px; }
}
