/* MODTAC v9.5.2.2 — masaüstü korunur, <=740px mobil teçhizat masası */
:root {
  color-scheme: dark;
  --bg: #160f0a;
  --panel: #21170f;
  --panel-2: #2d1f14;
  --line: #5d4028;
  --muted: #b9a895;
  --cream: #f7f0e6;
  --orange: #c98532;
  --orange-soft: rgba(201, 133, 50, .16);
  --font-display: "Armalite Rifle TR", "Oswald", sans-serif;
  --font-body: "Inter", Arial, Helvetica, sans-serif;
  font-family: var(--font-body);
}

@font-face {
  font-family: "Armalite Rifle TR";
  src: url("/assets/fonts/armalite-tr.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--cream);
  background:
    radial-gradient(circle at 50% -20%, #6d451f 0, transparent 42%),
    var(--bg);
}
button, input { font: inherit; }
button { color: inherit; }

.product-manager-control,
.product-manager-control:link,
.product-manager-control:visited,
.product-manager-control:hover,
.product-manager-control:focus,
.product-manager-control:focus-visible,
.product-manager-control:active {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 11px 12px;
  appearance: none;
  border: 1px solid var(--orange);
  border-radius: 0;
  color: var(--cream) !important;
  background: rgba(201, 133, 50, .13);
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  cursor: pointer;
  outline: none;
}
.product-manager-control:hover,
.product-manager-control:focus,
.product-manager-control:focus-visible {
  border-color: var(--cream);
  color: var(--cream) !important;
  background: rgba(201, 133, 50, .25);
  box-shadow: 0 0 0 2px rgba(201, 133, 50, .18);
}

.topbar {
  display: flex;
  min-height: 74px;
  padding: 12px clamp(18px, 4vw, 64px);
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(36, 24, 15, .94);
}

.brand { display: flex; gap: 12px; align-items: center; color: inherit; text-decoration: none; }
.brand__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #111;
  background: var(--orange);
  font-size: 25px;
  font-weight: 900;
}
.brand b, .brand small { display: block; }
.brand b { font-size: 18px; letter-spacing: .16em; }
.brand small { margin-top: 3px; color: var(--muted); font-size: 8px; letter-spacing: .1em; }
.preview-badge {
  padding: 8px 10px;
  border: 1px solid #8f642f;
  color: #e0b66f;
  font-size: 9px;
  letter-spacing: .15em;
}

main {
  width: min(1580px, 100%);
  margin: auto;
  padding: clamp(24px, 4vw, 56px) clamp(14px, 2.6vw, 40px) 64px;
}

.intro {
  display: flex;
  gap: 24px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 28px;
}
.eyebrow { margin: 0 0 8px; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .3em; }
.intro h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(34px, 5vw, 72px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: .025em;
}
.intro h1 span { color: #c6a06c; }
.intro > div > p:last-child { max-width: 650px; margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.calibration-card {
  display: grid;
  flex: 0 0 min(360px, 35%);
  gap: 5px;
  padding: 13px 15px;
  border: 1px solid #76532f;
  border-left: 3px solid #c89a58;
  background: rgba(105, 67, 30, .42);
}
.calibration-card b { color: #ead0a7; font-size: 10px; letter-spacing: .12em; }
.calibration-card span { color: var(--muted); font-size: 9px; line-height: 1.4; }

.configurator {
  display: grid;
  grid-template-columns: minmax(230px, .68fr) minmax(520px, 1.7fr) minmax(300px, .92fr);
  min-height: 720px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .3);
}

.weapon-panel, .accessory-panel { min-width: 0; padding: 18px; }
.weapon-panel { border-right: 1px solid var(--line); }
.accessory-panel { border-left: 1px solid var(--line); }
.panel-title { display: flex; gap: 11px; align-items: center; margin-bottom: 16px; }
.panel-title > span { color: var(--orange); font-size: 11px; font-weight: 800; }
.panel-title b, .panel-title small { display: block; }
.panel-title b { font-size: 11px; letter-spacing: .13em; }
.panel-title small { margin-top: 4px; color: var(--muted); font-size: 10px; }

.weapon-type-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 12px; }
.weapon-type-tabs button {
  padding: 9px 6px;
  border: 1px solid #5f422a;
  color: #aeb4ac;
  background: transparent;
  cursor: pointer;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
}
.weapon-type-tabs button span { color: var(--muted); }
.weapon-type-tabs button.is-active { border-color: var(--orange); color: #fff; background: var(--orange-soft); }

.weapon-list { display: grid; gap: 8px; max-height: 650px; overflow: auto; padding-right: 4px; }
.weapon-card {
  display: grid;
  width: 100%;
  grid-template-columns: 70px 1fr;
  gap: 9px;
  align-items: center;
  padding: 9px;
  border: 1px solid transparent;
  color: inherit;
  background: #2b1e14;
  cursor: pointer;
  text-align: left;
  transition: .18s ease;
}
.weapon-card:hover { border-color: #806046; transform: translateX(2px); }
.weapon-card.is-selected { border-color: var(--orange); background: #332316; }
.weapon-card img { width: 70px; height: 45px; object-fit: contain; filter: drop-shadow(0 5px 5px rgba(0,0,0,.45)); }
.weapon-card small, .weapon-card b, .weapon-card em { display: block; }
.weapon-card small { color: var(--orange); font-size: 7px; letter-spacing: .12em; }
.weapon-card b { margin-top: 4px; font-size: 10px; line-height: 1.25; }
.weapon-card em { margin-top: 5px; color: var(--muted); font-size: 8px; font-style: normal; }

.workspace { min-width: 0; padding: 18px; background: #18100b; }
.workspace__head { display: flex; gap: 20px; align-items: flex-end; justify-content: space-between; margin-bottom: 14px; }
.type-tag { color: var(--orange); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.workspace__head h2 { max-width: 660px; margin: 6px 0 0; font-size: clamp(16px, 2vw, 24px); line-height: 1.15; }
.specs { display: flex; flex: 0 0 auto; gap: 20px; text-align: right; }
.specs small, .specs b { display: block; }
.specs small { color: var(--muted); font-size: 8px; letter-spacing: .12em; }
.specs b { margin-top: 4px; font-size: 11px; }

.viewer {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid #4d3522;
  background: radial-gradient(circle at center, #8d6a46 0, #6b4a30 58%, #503722 100%);
}
.viewer__grid {
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image:
    linear-gradient(#96734f 1px, transparent 1px),
    linear-gradient(90deg, #96734f 1px, transparent 1px);
  background-size: 5% 8.888%;
}
.viewer__toolbar { position: absolute; z-index: 20; top: 10px; right: 10px; }
.viewer__toolbar button {
  padding: 7px 9px;
  border: 1px solid #79583c;
  color: #bec5bb;
  background: rgba(12, 15, 12, .8);
  cursor: pointer;
  font-size: 7px;
  letter-spacing: .1em;
}
.viewer__toolbar button[aria-pressed="true"] { border-color: var(--orange); color: #fff; }

.mod-stage {
  position: absolute;
  z-index: 3;
  left: 3%;
  top: 48%;
  width: 76%;
  transform: translateY(-50%);
}
.mod-stage[data-profile="pistol"] { left: 15%; width: 48%; }
.weapon-image { display: block; width: 100%; height: 100%; object-fit: fill; filter: drop-shadow(0 18px 20px rgba(0,0,0,.45)); }
.layer-host, .anchor-host { position: absolute; inset: 0; overflow: visible; pointer-events: none; }
.accessory-layer { position: absolute; z-index: 8; object-fit: fill; filter: drop-shadow(0 6px 6px rgba(0,0,0,.5)); }
.accessory-layer--optic { z-index: 9; }
.accessory-layer--magnifier { z-index: 8; }
.accessory-layer--light { z-index: 10; }
.accessory-layer--grip { z-index: 11; }
.accessory-layer--muzzle { z-index: 12; }

.anchor-dot {
  --anchor-color: #fff;
  position: absolute;
  width: 9px;
  height: 9px;
  border: 2px solid #111;
  border-radius: 50%;
  background: var(--anchor-color);
  box-shadow: 0 0 0 1px var(--anchor-color), 0 0 12px var(--anchor-color);
  transform: translate(-50%, -50%);
}
.anchor-dot i {
  position: absolute;
  left: 11px;
  top: -4px;
  width: max-content;
  padding: 3px 5px;
  color: #fff;
  background: rgba(8,10,8,.82);
  font-size: 7px;
  font-style: normal;
}
.anchor-dot--optic { --anchor-color: #ff3434; }
.anchor-dot--magnifier { --anchor-color: #ff841f; }
.anchor-dot--peq { --anchor-color: #ffda37; }
.anchor-dot--light { --anchor-color: #346cff; }
.anchor-dot--laser { --anchor-color: #3bdcf2; }
.anchor-dot--grip { --anchor-color: #23ce72; }
.anchor-dot--muzzle { --anchor-color: #a469ff; }

.viewer__scale {
  position: absolute;
  z-index: 2;
  left: 5%;
  bottom: 8%;
  display: flex;
  gap: 8px;
  align-items: center;
  color: #798077;
}
.viewer__scale span { width: 70px; height: 5px; border: solid currentColor; border-width: 0 1px 1px; }
.viewer__scale b { font-size: 7px; letter-spacing: .14em; }
.viewer__legend {
  position: absolute;
  z-index: 20;
  right: 12px;
  bottom: 10px;
  display: grid;
  gap: 5px;
  padding: 8px;
  color: #b4bab1;
  background: rgba(12,14,12,.76);
  font-size: 8px;
}
.viewer__legend span { display: flex; gap: 6px; align-items: center; }
.dot { width: 7px; height: 7px; border-radius: 50%; }
.dot--weapon { background: #e6e5df; }
.dot--calibrated { background: #c89a58; }

.selection-strip {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-top: 0;
  background: #2a1d13;
}
.selection-strip__summary,
.selection-strip__actions {
  display: flex;
  gap: 18px;
  align-items: center;
}
.selection-strip__price {
  padding-left: 18px;
  border-left: 1px solid #725139;
}
.selection-strip__price strong {
  color: #e2b36f;
  font-size: 17px;
}
.selection-strip small, .selection-strip strong { display: block; }
.selection-strip small { color: var(--muted); font-size: 8px; letter-spacing: .12em; }
.selection-strip strong { margin-top: 4px; font-size: 11px; }
.selection-strip button {
  padding: 8px 10px;
  border: 1px solid #7b5b3f;
  color: #c9cec6;
  background: transparent;
  cursor: pointer;
  font-size: 8px;
  letter-spacing: .12em;
}
.selection-strip .cart-button {
  border-color: #b9782d;
  color: #fff;
  background: #9b5e1d;
}
.selection-strip .cart-button:hover {
  background: #bb762b;
}
.product-price {
  display: block;
  margin-top: 6px;
  color: #e2b36f;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .04em;
}
.notice {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 12px;
  border-left: 2px solid var(--orange);
  color: var(--muted);
  background: #24180f;
  font-size: 9px;
  line-height: 1.5;
}
.notice b { flex: 0 0 auto; color: #e49a74; text-transform: uppercase; }

.category-tabs { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 9px; }
.category-tab {
  flex: 0 0 auto;
  padding: 8px 9px;
  border: 1px solid #5f422a;
  color: #b1b7af;
  background: transparent;
  cursor: pointer;
  font-size: 8px;
  letter-spacing: .08em;
}
.category-tab.is-active { border-color: var(--orange); color: #fff; background: var(--orange-soft); }
.accessory-list { display: grid; gap: 7px; max-height: 545px; overflow: auto; padding-right: 4px; }
.accessory-option {
  display: grid;
  grid-template-columns: 14px 58px 1fr;
  gap: 8px;
  align-items: center;
  padding: 9px;
  border: 1px solid #46301f;
  background: #2a1d13;
  cursor: pointer;
}
.accessory-option:hover { border-color: #846348; }
.accessory-option.is-selected { border-color: var(--orange); background: #2b2b25; }
.accessory-option input { width: 13px; height: 13px; margin: 0; accent-color: var(--orange); }
.accessory-option b { display: block; font-size: 9px; line-height: 1.3; }
.accessory-option small { display: block; margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.3; }
.accessory-thumb {
  display: grid;
  width: 58px;
  height: 45px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #5b3f29;
  background: #1f150e;
}
.accessory-thumb img { width: 92%; height: 92%; object-fit: contain; }
.accessory-thumb--empty { color: #95724f; }
.accessory-option__status {
  display: inline-flex !important;
  width: max-content;
  margin-top: 6px !important;
  padding: 3px 5px;
  border: 1px solid #765538;
  color: #b7c3b4 !important;
  font-size: 6px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.placement-status {
  display: block;
  margin-top: 5px;
  color: #9f9488;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.placement-status.is-automatic { color: #65d695; }
.accessory-option__status.is-adapter { border-color: #796939; color: #d9c783 !important; }
.compatibility-note {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #5b5133;
  color: #c8bd91;
  background: rgba(112,92,30,.12);
  font-size: 9px;
  line-height: 1.45;
}
.compatibility-note b { color: #e2d49e; text-transform: uppercase; }

.brand b,
.preview-badge,
.eyebrow,
.calibration-card b,
.panel-title b,
.weapon-type-tabs button,
.weapon-card small,
.workspace__head h2,
.type-tag,
.specs small,
.viewer__toolbar button,
.selection-strip small,
.selection-strip button,
.category-tab,
.accessory-option__status,
.compatibility-note b {
  font-family: var(--font-display);
  font-weight: 400;
}

@media (max-width: 1180px) {
  .configurator { grid-template-columns: 230px minmax(0, 1fr); }
  .accessory-panel { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
  .accessory-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 350px; }
}

@media (max-width: 740px) {
  .preview-badge, .brand small, .viewer__legend { display: none; }
  main { padding-inline: 10px; }
  .intro { display: grid; }
  .intro h1 span { display: block; margin-top: 6px; }
  .calibration-card { width: 100%; max-width: none; }
  .configurator { grid-template-columns: 1fr; }
  .weapon-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .weapon-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 290px; }
  .weapon-card { grid-template-columns: 1fr; }
  .weapon-card img { width: 100%; height: 48px; }
  .workspace { padding: 12px; }
  .workspace__head { align-items: flex-start; }
  .specs { gap: 9px; flex-direction: column; }
  .viewer { min-height: 310px; aspect-ratio: auto; }
  .mod-stage { left: 2%; width: 76%; }
  .mod-stage[data-profile="pistol"] { left: 9%; width: 56%; }
  .viewer__scale { bottom: 5%; }
  .accessory-list { grid-template-columns: 1fr; }
  .notice { flex-direction: column; }
  .selection-strip,
  .selection-strip__summary,
  .selection-strip__actions {
    align-items: stretch;
    flex-direction: column;
  }
  .selection-strip__price {
    padding-top: 10px;
    padding-left: 0;
    border-top: 1px solid #725139;
    border-left: 0;
  }
  .selection-strip__actions button {
    width: 100%;
  }
}

.topbar,
.intro {
  display: none;
}

body {
  background: transparent;
}

main {
  width: 100%;
  padding: 0;
}

.configurator {
  border-color: #60442b;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .32);
}


/* MOD-LAB v9.3.0 production additions */
.mod-stage {
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  transform: none;
}
.weapon-card.is-disabled {
  opacity: .48;
  cursor: not-allowed;
  filter: grayscale(.35);
}
.weapon-card__warning {
  display: block;
  margin-top: 6px;
  color: #e4a96a;
  font-size: 7px;
  font-style: normal;
  line-height: 1.35;
}
.product-price.is-pending {
  color: #d1aa76;
  font-size: 8px;
  letter-spacing: .06em;
}
.accessory-option.is-incompatible {
  opacity: .45;
}
.accessory-option__status.is-direct { border-color: #317b52; color: #78dba2 !important; }
.accessory-option__status.is-adapter { border-color: #846c35; color: #e2c879 !important; }
.accessory-option__status.is-blocked { border-color: #7a3737; color: #e69898 !important; }
.variant-buttons {
  display: flex;
  gap: 4px;
  margin-top: 7px;
}
.variant-buttons button {
  padding: 4px 6px;
  border: 1px solid #6d4c31;
  color: #c8b49e;
  background: #1b130e;
  cursor: pointer;
  font-size: 7px;
}
.variant-buttons button.is-active {
  border-color: var(--orange);
  color: #fff;
  background: var(--orange-soft);
}
.cart-button:disabled {
  opacity: .46;
  cursor: not-allowed;
  background: #5f4b38;
}
@media (max-width: 740px) {
  .mod-stage[data-profile="pistol"],
  .mod-stage[data-profile="rifle"] {
    left: 0;
    width: auto;
  }
}


.calibration-panel {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(224,170,67,.34);
  background: rgba(27,15,9,.88);
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.calibration-panel__head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.calibration-panel__head small { color:#d7a14a; letter-spacing:.08em; }
.calibration-panel__head h3 { margin:4px 0 0; font-size:16px; }
.calibration-panel__hint { color:#c7c0b3; font-size:12px; }
.calibration-panel__hint code { background:#120b07; padding:2px 6px; border-radius:6px; }
.calibration-panel__current { display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.calibration-panel__current b { font-size:14px; }
.calibration-panel__current span { color:#c7c0b3; font-size:12px; }
.calibration-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.calibration-field { display:flex; flex-direction:column; gap:4px; }
.calibration-field label { font-size:11px; color:#d7a14a; text-transform:uppercase; letter-spacing:.06em; }
.calibration-field input, .calibration-output {
  width:100%; background:#120b07; color:#f3ece1; border:1px solid rgba(224,170,67,.25); border-radius:8px; padding:10px 12px;
}
.calibration-buttons { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.calibration-buttons button {
  background:#1f130b; color:#f3ece1; border:1px solid rgba(224,170,67,.32); border-radius:8px; padding:8px 10px; cursor:pointer;
}
.calibration-buttons--secondary button { background:#2a180c; }
.calibration-output { margin-top:12px; min-height:150px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:12px; }
body.is-admin .calibration-card { border-color:#d7a14a; }
@media (max-width: 900px) {
  .calibration-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* V1.6.0 — Product Hub facets and bounded catalog renderer. */
.catalog-filters{display:grid;gap:6px;margin:0 0 9px;padding:9px;border:1px solid rgba(201,133,50,.28);background:rgba(15,12,9,.55)}
.catalog-filters input,.catalog-filters select{min-width:0;width:100%;height:31px;border:1px solid rgba(226,179,111,.25);border-radius:0;background:#15110d;color:var(--cream);padding:0 8px;font-family:var(--font-display);font-size:8px;letter-spacing:.05em;outline:none}
.catalog-filters input:focus,.catalog-filters select:focus{border-color:var(--orange);box-shadow:0 0 0 1px rgba(201,133,50,.22)}
.catalog-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.catalog-stock{display:flex;align-items:center;gap:6px;height:31px;padding:0 8px;border:1px solid rgba(226,179,111,.25);color:var(--cream);font-family:var(--font-display);font-size:8px;letter-spacing:.06em}
.catalog-stock input{width:13px;height:13px;padding:0;accent-color:var(--orange)}
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0;color:var(--muted);font-family:var(--font-display);font-size:8px;letter-spacing:.08em}
.catalog-pagination button{width:32px;height:28px;border:1px solid rgba(226,179,111,.38);background:#17120e;color:var(--cream);font-family:var(--font-display)}
.catalog-pagination button:disabled{opacity:.3}
.catalog-empty{padding:18px;border:1px dashed rgba(226,179,111,.25);color:var(--muted);font:8px/1.5 var(--font-display);letter-spacing:.08em;text-align:center}
button#product-hub-open.product-manager-control,button#product-manager-open.product-manager-control{display:block!important;width:100%!important;min-height:34px!important;margin:8px 0 0!important;padding:10px 12px!important;appearance:none!important;border:1px solid var(--orange)!important;border-radius:0!important;color:var(--cream)!important;background:rgba(201,133,50,.14)!important;font-family:var(--font-display)!important;font-size:9px!important;font-style:normal!important;font-weight:400!important;letter-spacing:.12em!important;line-height:1.2!important;text-align:center!important;text-decoration:none!important;text-transform:uppercase!important;cursor:pointer!important;outline:none!important}
button#product-hub-open.product-manager-control:hover,button#product-hub-open.product-manager-control:focus-visible,button#product-manager-open.product-manager-control:hover,button#product-manager-open.product-manager-control:focus-visible{border-color:var(--cream)!important;background:rgba(201,133,50,.28)!important;box-shadow:0 0 0 2px rgba(201,133,50,.20)!important}
button#product-manager-open.product-manager-control--secondary{border-color:rgba(238,226,208,.34)!important;background:rgba(238,226,208,.05)!important}

/* MOD-LAB v9.5.2 mobile equipment table prototype */
.mobile-table-controls,
.mobile-orbit,
.mobile-table-hint,
.mobile-product-card {
  display: none;
}

@media (max-width: 740px) {
  html,
  body {
    overscroll-behavior-x: none;
  }

  button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .configurator {
    min-height: 0;
    border: 0;
    background: #120c08;
  }

  .weapon-panel {
    padding: 10px;
    background: #18100b;
  }

  .weapon-panel .panel-title {
    margin-bottom: 8px;
  }

  .weapon-type-tabs {
    position: sticky;
    z-index: 60;
    top: 0;
    margin-bottom: 8px;
    padding: 4px;
    border: 1px solid #523720;
    background: rgba(24, 16, 11, .96);
    backdrop-filter: blur(12px);
  }

  .weapon-type-tabs button {
    min-height: 42px;
    font-size: 10px;
  }

  .weapon-list {
    display: flex;
    max-height: none;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 7px;
    scroll-snap-type: x proximity;
  }

  .weapon-card {
    flex: 0 0 156px;
    min-height: 104px;
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 8px;
    border-radius: 10px;
    scroll-snap-align: start;
  }

  .weapon-card:hover {
    transform: none;
  }

  .weapon-card img {
    width: 100%;
    height: 46px;
  }

  .weapon-card b {
    display: -webkit-box;
    overflow: hidden;
    font-size: 9px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .weapon-card em,
  .weapon-card .product-price,
  .weapon-card__warning {
    display: none;
  }

  .workspace {
    padding: 10px;
    background: #120c08;
  }

  .workspace__head {
    margin-bottom: 8px;
    padding: 0 2px;
  }

  .workspace__head h2 {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.25;
  }

  .specs,
  .viewer__toolbar,
  .viewer__scale,
  .viewer__grid,
  .accessory-panel,
  .notice {
    display: none;
  }

  .mobile-table-controls {
    position: sticky;
    z-index: 55;
    top: 0;
    display: block;
    margin: 0 -2px 8px;
    padding: 9px 8px 7px;
    border: 1px solid #654623;
    border-radius: 12px;
    background: rgba(27, 18, 11, .97);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .32);
    backdrop-filter: blur(14px);
  }

  .mobile-table-controls__head {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 0 2px 7px;
  }

  .mobile-table-controls__head small,
  .mobile-table-controls__head b {
    display: block;
  }

  .mobile-table-controls__head small {
    color: #c98532;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .16em;
  }

  .mobile-table-controls__head b {
    margin-top: 3px;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .04em;
  }

  .mobile-category-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 1px 1px 3px;
    scrollbar-width: none;
  }

  .mobile-category-tabs::-webkit-scrollbar {
    display: none;
  }

  .mobile-category-tab {
    flex: 0 0 auto;
    min-width: 74px;
    min-height: 44px;
    padding: 8px 9px;
    border: 1px solid #5c4026;
    border-radius: 9px;
    color: #c9b49d;
    background: #21160e;
    font-family: var(--font-display);
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .06em;
  }

  .mobile-category-tab.is-active {
    border-color: #e2a24a;
    color: #fff4e0;
    background: linear-gradient(180deg, #6a421b, #3a2413);
    box-shadow: 0 0 0 1px rgba(255, 196, 102, .18), 0 5px 16px rgba(0, 0, 0, .3);
  }

  .mobile-page-controls {
    display: grid;
    grid-template-columns: 30px auto 30px;
    gap: 5px;
    align-items: center;
  }

  .mobile-page-controls button {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #7a552d;
    border-radius: 8px;
    color: #f5d39c;
    background: #25180e;
    font-size: 22px;
    line-height: 1;
  }

  .mobile-page-controls button:disabled {
    opacity: .3;
  }

  .mobile-page-controls span {
    min-width: 34px;
    color: #bca78e;
    font-size: 9px;
    text-align: center;
  }

  .viewer {
    min-height: 520px;
    height: min(134vw, 570px);
    aspect-ratio: auto;
    overflow: hidden;
    border: 1px solid #76502d;
    border-radius: 26px;
    background:
      radial-gradient(ellipse at center, rgba(168, 111, 59, .22) 0 38%, rgba(36, 22, 12, .12) 68%, rgba(5, 4, 3, .5) 100%),
      repeating-linear-gradient(4deg, rgba(255,255,255,.025) 0 1px, transparent 1px 9px),
      repeating-linear-gradient(92deg, #59391f 0 34px, #50321c 34px 70px, #644126 70px 105px);
    box-shadow:
      inset 0 0 0 6px rgba(16, 10, 6, .46),
      inset 0 -35px 55px rgba(0, 0, 0, .34),
      0 18px 36px rgba(0, 0, 0, .34);
  }

  .viewer::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 17px;
    border: 1px solid rgba(239, 185, 110, .18);
    border-radius: 50%;
    box-shadow: inset 0 0 34px rgba(0, 0, 0, .3);
    pointer-events: none;
  }

  .mobile-orbit {
    position: absolute;
    z-index: 30;
    inset: 0;
    display: block;
    pointer-events: none;
  }

  .mobile-orbit-item {
    position: absolute;
    left: var(--orbit-x);
    top: var(--orbit-y);
    display: grid;
    width: 70px;
    min-height: 76px;
    gap: 3px;
    justify-items: center;
    padding: 4px;
    border: 1px solid rgba(221, 163, 88, .35);
    border-radius: 14px;
    color: #f2e8d9;
    background: rgba(26, 17, 10, .82);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .32);
    transform: translate(-50%, -50%);
    pointer-events: auto;
    backdrop-filter: blur(5px);
  }

  .mobile-orbit-item:active {
    transform: translate(-50%, -50%) scale(.94);
  }

  .mobile-orbit-item.is-selected {
    border-color: #ffc268;
    background: rgba(106, 64, 24, .92);
    box-shadow: 0 0 0 3px rgba(255, 180, 76, .18), 0 0 24px rgba(255, 166, 54, .36);
  }

  .mobile-orbit-item__image {
    display: grid;
    width: 58px;
    height: 48px;
    place-items: center;
    border-radius: 10px;
    background: rgba(10, 8, 6, .58);
  }

  .mobile-orbit-item__image img {
    width: 92%;
    height: 92%;
    object-fit: contain;
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .5));
  }

  .mobile-orbit-item__name {
    display: -webkit-box;
    width: 100%;
    overflow: hidden;
    font-size: 6px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .mobile-table-hint {
    position: absolute;
    z-index: 24;
    left: 50%;
    top: 69%;
    display: block;
    padding: 5px 8px;
    border: 1px solid rgba(213, 151, 73, .26);
    border-radius: 999px;
    color: rgba(255, 231, 199, .7);
    background: rgba(22, 13, 8, .7);
    font-size: 6px;
    font-weight: 800;
    letter-spacing: .13em;
    transform: translateX(-50%);
    white-space: nowrap;
    pointer-events: none;
  }

  .mod-stage {
    z-index: 10;
  }

  .mobile-product-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 76px;
    margin-top: 8px;
    padding: 9px;
    border: 1px solid #5d4028;
    border-radius: 12px;
    background: #24180f;
  }

  .mobile-product-card__thumb {
    display: grid;
    width: 58px;
    height: 54px;
    place-items: center;
    border: 1px solid #5d4028;
    border-radius: 9px;
    background: #140d08;
  }

  .mobile-product-card__thumb img {
    width: 90%;
    height: 90%;
    object-fit: contain;
  }

  .mobile-product-card__copy small,
  .mobile-product-card__copy b,
  .mobile-product-card__copy span,
  .mobile-product-card__empty small,
  .mobile-product-card__empty b,
  .mobile-product-card__empty span {
    display: block;
  }

  .mobile-product-card__copy small,
  .mobile-product-card__empty small {
    color: #7ed7a2;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .08em;
  }

  .mobile-product-card__copy b,
  .mobile-product-card__empty b {
    margin-top: 4px;
    font-size: 10px;
    line-height: 1.25;
  }

  .mobile-product-card__copy span {
    margin-top: 4px;
    color: #eab56d;
    font-size: 10px;
    font-weight: 800;
  }

  .mobile-product-card__empty {
    grid-column: 1 / -1;
  }

  .mobile-product-card__empty span {
    margin-top: 4px;
    color: #b9a895;
    font-size: 8px;
    line-height: 1.35;
  }

  .mobile-product-card > button {
    min-width: 58px;
    min-height: 38px;
    padding: 7px;
    border: 1px solid #8b6033;
    border-radius: 8px;
    color: #f0d2a4;
    background: #342111;
    font-size: 8px;
    font-weight: 800;
  }

  .selection-strip {
    position: sticky;
    z-index: 52;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid #71502f;
    border-radius: 12px 12px 0 0;
    background: rgba(34, 22, 13, .97);
    box-shadow: 0 -12px 30px rgba(0, 0, 0, .34);
    backdrop-filter: blur(14px);
  }

  .selection-strip__summary {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
  }

  .selection-strip__price {
    padding: 0 0 0 10px;
    border-top: 0;
    border-left: 1px solid #725139;
    text-align: right;
  }

  .selection-strip__actions {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 7px;
  }

  .selection-strip__actions button {
    min-height: 44px;
    border-radius: 8px;
    font-size: 8px;
  }
}

@media (max-width: 380px) {
  .viewer {
    min-height: 500px;
  }

  .mobile-orbit-item {
    width: 62px;
    min-height: 70px;
  }

  .mobile-orbit-item__image {
    width: 51px;
    height: 43px;
  }

  .mobile-category-tab {
    min-width: 68px;
    font-size: 8px;
  }
}

@media (prefers-reduced-motion: no-preference) and (max-width: 740px) {
  .mobile-orbit-item.is-selected {
    animation: mobile-table-selected 1.8s ease-in-out infinite alternate;
  }

  @keyframes mobile-table-selected {
    from { box-shadow: 0 0 0 2px rgba(255, 180, 76, .14), 0 0 15px rgba(255, 166, 54, .22); }
    to { box-shadow: 0 0 0 4px rgba(255, 180, 76, .22), 0 0 28px rgba(255, 166, 54, .48); }
  }
}


/* MODTAC v9.5.1.1 — Tutamak AÇIK / KAPALI okunurluk düzeltmesi */
.variant-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
}

.variant-pill {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 22px;
  padding: 5px 10px 4px;
  border: 1px solid #8a633f;
  border-radius: 2px;
  background: linear-gradient(180deg, #493321 0%, #24170f 100%);
  color: #f1dfc1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.35);
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .055em;
  text-shadow: 0 1px 1px rgba(0,0,0,.75);
  text-transform: uppercase;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.variant-pill:hover {
  border-color: #c28b4e;
  background: linear-gradient(180deg, #654728 0%, #342116 100%);
  color: #fff8e9;
}

.variant-pill.is-active {
  border-color: #e0a14e;
  background: linear-gradient(180deg, #a36c2d 0%, #684017 100%);
  color: #fff9eb;
  box-shadow: 0 0 0 1px rgba(224,161,78,.22), inset 0 1px 0 rgba(255,255,255,.16), 0 1px 3px rgba(0,0,0,.45);
}

.variant-pill:focus-visible {
  outline: 2px solid #f0bf83;
  outline-offset: 2px;
}

.accessory-option.is-incompatible .variant-pill {
  opacity: .88;
}

/* MODLAB WORKBENCH V1 */
.workmat-brand {
  position: absolute;
  z-index: 1;
  left: 18px;
  top: 16px;
  display: grid;
  gap: 2px;
  color: rgba(247,240,230,.26);
  pointer-events: none;
  text-transform: uppercase;
}
.workmat-brand b { font-family: var(--font-display); font-size: clamp(18px, 3vw, 34px); letter-spacing: .08em; }
.workmat-brand span { font-size: 7px; letter-spacing: .18em; }
.viewer::after {
  content: "MODTAC · WORKBENCH";
  position: absolute;
  z-index: 1;
  right: 4%;
  top: 49%;
  color: rgba(247,240,230,.055);
  font-family: var(--font-display);
  font-size: clamp(34px, 8vw, 96px);
  letter-spacing: .06em;
  transform: rotate(-8deg);
  pointer-events: none;
}
.viewer__toolbar { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.viewer__toolbar button[aria-pressed="true"]#workbench-mode { border-color: #e2b36f; color: #17100b; background: #e2b36f; }
.layer-host { pointer-events: none; }
.accessory-layer {
  cursor: grab;
  user-select: none;
  -webkit-user-drag: none;
  outline: none;
  transition: filter .12s ease, box-shadow .12s ease;
}
.accessory-layer:active { cursor: grabbing; }
.accessory-layer.is-workbench-active {
  filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px rgba(226,179,111,.95)) drop-shadow(0 7px 8px rgba(0,0,0,.55));
}
.workbench-controls {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(360px, 1.3fr) minmax(300px, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-top: 0;
  background: #20160f;
}
.workbench-controls__identity small,
.workbench-controls__identity b,
.workbench-controls__identity span { display: block; }
.workbench-controls__identity small { color: var(--orange); font-size: 8px; letter-spacing: .14em; }
.workbench-controls__identity b { margin-top: 4px; font-size: 11px; line-height: 1.3; }
.workbench-controls__identity span { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.workbench-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(72px,1fr));
  gap: 7px;
}
.workbench-control-grid label { color: var(--muted); font-size: 7px; letter-spacing: .08em; }
.workbench-control-grid input {
  width: 100%;
  margin-top: 4px;
  padding: 7px 6px;
  border: 1px solid #65472f;
  color: #fff;
  background: #140e0a;
  outline: none;
}
.workbench-control-grid input:focus { border-color: var(--orange); }
.workbench-control-grid input:disabled { opacity: .4; }
.workbench-control-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.workbench-control-actions button {
  min-height: 32px;
  padding: 6px;
  border: 1px solid #65472f;
  color: #d5c8b9;
  background: #2b1e14;
  cursor: pointer;
  font-size: 7px;
  letter-spacing: .06em;
}
.workbench-control-actions button:hover { border-color: var(--orange); color: #fff; }

@media (max-width: 1100px) {
  .workbench-controls { grid-template-columns: 1fr 1.4fr; }
  .workbench-control-actions { grid-column: 1 / -1; grid-template-columns: repeat(6, 1fr); }
}

@media (max-width: 740px) {
  .viewer { min-height: 330px; aspect-ratio: 4 / 5; }
  .workmat-brand { left: 10px; top: 10px; }
  .viewer__toolbar { left: 8px; right: 8px; top: 8px; justify-content: space-between; }
  .viewer__toolbar button { flex: 1 1 auto; min-height: 34px; }
  .workbench-controls { grid-template-columns: 1fr; gap: 10px; padding: 12px; }
  .workbench-control-grid { grid-template-columns: repeat(2, 1fr); }
  .workbench-control-actions { grid-column: auto; grid-template-columns: repeat(2, 1fr); }
  .workbench-control-actions button { min-height: 38px; font-size: 8px; }
  .accessory-layer { min-width: 18px; min-height: 18px; }
}

/* =============================================================
   MODLAB WORKBENCH V1.3 COMPLETE REVISION
   Dark tactical cutting/armorer mat + true-mm shared scale
   ============================================================= */
.viewer {
  --mat-grid-x: 0.833333%;
  --mat-grid-y: 1.666667%;
  --mat-major-x: 4.166667%;
  --mat-major-y: 8.333333%;
  min-height: 0;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  border: 1px solid #52605a;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 42%, rgba(84,100,92,.22), transparent 48%),
    linear-gradient(135deg, #17201d 0%, #101714 56%, #0b100e 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), inset 0 0 60px rgba(0,0,0,.42);
}
.viewer[data-profile="pistol"] { aspect-ratio: 3 / 2; }

.viewer__grid {
  inset: 0;
  opacity: 1;
  background-image:
    linear-gradient(rgba(142,167,154,.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(142,167,154,.22) 1px, transparent 1px),
    linear-gradient(rgba(179,198,187,.32) 1px, transparent 1px),
    linear-gradient(90deg, rgba(179,198,187,.32) 1px, transparent 1px);
  background-size:
    100% var(--mat-grid-y),
    var(--mat-grid-x) 100%,
    100% var(--mat-major-y),
    var(--mat-major-x) 100%;
  background-position: 0 0;
}

.viewer::before {
  content: "0     100     200     300     400     500     600     700     800     900     1000     1100     1200 mm";
  position: absolute;
  z-index: 2;
  left: 10px;
  right: 10px;
  bottom: 5px;
  overflow: hidden;
  color: rgba(190,211,200,.55);
  font: 600 7px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .04em;
  white-space: nowrap;
  pointer-events: none;
}
.viewer[data-profile="pistol"]::before {
  content: "0     100     200     300     400     500     600 mm";
}
.viewer::after {
  content: "MODTAC";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 51%;
  color: rgba(203,219,210,.05);
  font-family: var(--font-display);
  font-size: clamp(48px, 10vw, 120px);
  letter-spacing: .12em;
  transform: translate(-50%, -50%) rotate(-8deg);
  pointer-events: none;
}

.workmat-brand {
  left: 16px;
  top: 14px;
  color: rgba(217,231,223,.58);
}
.workmat-brand b { color: rgba(222,235,228,.72); }
.workmat-brand span { color: rgba(174,202,187,.68); }

.weapon-image,
.accessory-layer {
  object-fit: contain;
  max-width: none;
  max-height: none;
}
.accessory-layer { min-width: 0 !important; min-height: 0 !important; }

.viewer__scale {
  left: 16px;
  bottom: 20px;
  color: rgba(174,202,187,.72);
}
.viewer__scale b::after { content: " · ORTAK MM ÖLÇEĞİ"; }

@media (max-width: 740px) {
  .viewer,
  .viewer[data-profile="rifle"] {
    min-height: 0;
    aspect-ratio: 2 / 1;
  }
  .viewer[data-profile="pistol"] { aspect-ratio: 3 / 2; }
  .viewer__toolbar { display: flex; }
  .viewer__grid { display: block; }
  .workmat-brand { left: 8px; top: 44px; }
  .workmat-brand b { font-size: 16px; }
  .workmat-brand span { font-size: 6px; letter-spacing: .08em; }
  .viewer::before { font-size: 5px; bottom: 3px; }
  .viewer::after { font-size: 42px; }
  .viewer__scale { display: none; }
  .mod-stage,
  .mod-stage[data-profile="rifle"],
  .mod-stage[data-profile="pistol"] {
    width: auto;
    left: 0;
    top: 0;
  }
  .workbench-controls { display: grid; }
  .accessory-layer { min-width: 0 !important; min-height: 0 !important; }
}

/* =============================================================
   MODLAB WORKBENCH V1.4 STABILITY / RESPONSIVE HARDENING
   Final override: prevent mobile panels from disappearing or
   expanding into a full-page weapon list. Keep desktop untouched.
   ============================================================= */
@media (max-width: 900px) {
  html, body { width: 100%; min-width: 0; overflow-x: hidden; }
  main { width: 100%; max-width: 100%; padding: 0 !important; }
  .configurator {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .weapon-panel, .workspace, .accessory-panel {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .weapon-panel { order: 1; padding: 10px !important; border-right: 0 !important; border-bottom: 1px solid var(--line); }
  .workspace { order: 2; padding: 10px !important; overflow: visible !important; }
  .accessory-panel { order: 3; border-left: 0 !important; border-top: 1px solid var(--line); }

  /* Critical regression guard: weapon selector must stay compact/horizontal. */
  .weapon-list {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-height: 132px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 7px !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .weapon-card {
    display: grid !important;
    flex: 0 0 154px !important;
    width: 154px !important;
    min-height: 104px !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
    padding: 8px !important;
    scroll-snap-align: start;
  }
  .weapon-card img { width: 100% !important; height: 46px !important; object-fit: contain !important; }
  .weapon-card em, .weapon-card .product-price, .weapon-card__warning { display: none !important; }

  .workspace__head { display: block !important; }
  .workspace__head h2 { margin-bottom: 4px; }
  .specs { display: none !important; }
  .mobile-table-controls { display: block !important; position: relative !important; top: auto !important; }

  /* Real-ratio work mats: rifle 1200x600, pistol 600x400. */
  .viewer, .viewer[data-profile="rifle"] {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 2 / 1 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }
  .viewer[data-profile="pistol"] { aspect-ratio: 3 / 2 !important; }
  .viewer__grid, .viewer__toolbar { display: block !important; }
  .viewer__toolbar { display: flex !important; left: 7px !important; right: 7px !important; top: 7px !important; }
  .viewer__toolbar button { min-width: 0; padding: 6px 7px; font-size: 6px; }
  .workmat-brand { top: 42px !important; }
  .mod-stage, .mod-stage[data-profile="rifle"], .mod-stage[data-profile="pistol"] {
    position: absolute !important;
    margin: 0 !important;
    transform: none !important;
  }
  .weapon-image { object-fit: contain !important; }
  .accessory-layer { object-fit: contain !important; min-width: 0 !important; min-height: 0 !important; }

  .mobile-orbit, .mobile-table-hint, .mobile-product-card { display: block; }
  .mobile-orbit { pointer-events: none; }
  .mobile-orbit-item { pointer-events: auto; }
  .workbench-controls { display: grid !important; position: relative !important; }
  .selection-strip { position: relative !important; bottom: auto !important; }

  /* Desktop accessory panel is redundant on phone; mobile equipment table is the source. */
  .accessory-panel { display: none !important; }
  .notice { display: flex !important; }
}

@media (max-width: 430px) {
  .weapon-panel, .workspace { padding-left: 8px !important; padding-right: 8px !important; }
  .weapon-card { flex-basis: 146px !important; width: 146px !important; }
  .viewer__toolbar button { font-size: 5.5px; }
  .workbench-control-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .workbench-control-actions { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .selection-strip__actions { grid-template-columns: 1fr 1.3fr !important; }
}

@media (orientation: landscape) and (max-width: 900px) {
  .viewer, .viewer[data-profile="rifle"] { max-height: 78vh; }
  .viewer[data-profile="pistol"] { max-height: 82vh; }
}

/* V1.4.1 MOBILE POLISH: compact orbit accessories without changing workmat scale */
@media (max-width: 900px){
 .mobile-orbit-item{width:56px;min-height:62px;padding:3px;border-radius:11px;}
 .mobile-orbit-item__image{width:44px;height:36px;border-radius:8px;}
 .mobile-orbit-item__image img{width:84%;height:84%;object-fit:contain;}
 .mobile-orbit-item__name{font-size:5.5px;line-height:1.1;}
}
@media (max-width: 430px){
 .mobile-orbit-item{width:52px;min-height:58px;}
 .mobile-orbit-item__image{width:40px;height:33px;}
 .mobile-orbit-item__image img{width:82%;height:82%;}
}

/* V1.4.2 MOBILE WORKMAT POLISH
   Goal: make the real-scale work mat the visual focus and keep accessory labels,
   while removing opaque accessory-card backgrounds. Does not alter true-mm geometry. */
@media (max-width: 900px){
  .viewer, .viewer[data-profile="rifle"], .viewer[data-profile="pistol"]{
    width: calc(100% + 14px) !important;
    margin-left: -7px !important;
    margin-right: -7px !important;
    max-width: none !important;
  }
  .mobile-orbit-item{
    width: 48px !important;
    min-height: 50px !important;
    padding: 1px !important;
    gap: 1px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
  .mobile-orbit-item.is-selected{
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .mobile-orbit-item__image{
    width: 36px !important;
    height: 30px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .mobile-orbit-item__image img{
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,.72));
  }
  .mobile-orbit-item.is-selected .mobile-orbit-item__image img{
    filter: drop-shadow(0 0 2px rgba(255,190,95,.95)) drop-shadow(0 2px 3px rgba(0,0,0,.72));
  }
  .mobile-orbit-item__name{
    width: 54px !important;
    margin-left: -3px !important;
    font-size: 5px !important;
    line-height: 1.05 !important;
    color: #f4eadb !important;
    text-shadow: 0 1px 2px #000, 0 0 2px #000 !important;
    -webkit-line-clamp: 2 !important;
  }
}
@media (max-width: 430px){
  .viewer, .viewer[data-profile="rifle"], .viewer[data-profile="pistol"]{
    width: calc(100% + 18px) !important;
    margin-left: -9px !important;
    margin-right: -9px !important;
  }
  .mobile-orbit-item{
    width: 44px !important;
    min-height: 46px !important;
  }
  .mobile-orbit-item__image{
    width: 32px !important;
    height: 27px !important;
  }
  .mobile-orbit-item__name{
    width: 49px !important;
    font-size: 4.6px !important;
  }
}

/* V1.4.3 ACCESSORY SCALE CORRECTION
   Strong mobile reduction: accessory choice sprites must not visually compete with the weapon.
   Names remain visible, cards remain transparent, aspect ratio is preserved. */
@media (max-width: 900px){
  .mobile-orbit-item{
    width: 34px !important;
    min-height: 35px !important;
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .mobile-orbit-item__image{
    width: 23px !important;
    height: 20px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .mobile-orbit-item__image img{
    width: 100% !important;
    height: 100% !important;
    max-width: 23px !important;
    max-height: 20px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  .mobile-orbit-item__name{
    width: 38px !important;
    margin-left: -2px !important;
    font-size: 4.2px !important;
    line-height: 1.0 !important;
    -webkit-line-clamp: 2 !important;
  }
}
@media (max-width: 430px){
  .mobile-orbit-item{
    width: 30px !important;
    min-height: 31px !important;
  }
  .mobile-orbit-item__image{
    width: 19px !important;
    height: 17px !important;
  }
  .mobile-orbit-item__image img{
    max-width: 19px !important;
    max-height: 17px !important;
  }
  .mobile-orbit-item__name{
    width: 34px !important;
    font-size: 3.8px !important;
  }
}


/* MODTAC WORKBENCH V1.4.4 - compact mode controls moved above workmat */
.workbench-modebar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin: 5px 0 7px;
  padding: 0;
  background: transparent;
  border: 0;
}
.workbench-modebar button {
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(226,179,111,.38);
  border-radius: 4px;
  background: rgba(20,14,10,.72);
  color: #d7c4aa;
  font-size: 6px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .07em;
  white-space: nowrap;
}
.workbench-modebar button[aria-pressed="true"]#workbench-mode {
  border-color: #e2b36f;
  background: #e2b36f;
  color: #17100b;
}
.workbench-modebar #anchor-toggle[aria-pressed="true"] {
  border-color: #6ba67a;
  color: #9fd3aa;
  background: rgba(24,60,35,.55);
}
/* old viewer toolbar is intentionally unused in V1.4.4 */
.viewer__toolbar { display: none !important; }
@media (max-width: 900px) {
  .workbench-modebar {
    justify-content: stretch;
    gap: 4px;
    margin: 4px 0 5px;
  }
  .workbench-modebar button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 22px;
    padding: 4px 5px;
    font-size: 5.5px;
    letter-spacing: .04em;
  }
}
@media (max-width: 420px) {
  .workbench-modebar button {
    min-height: 21px;
    padding: 3px 4px;
    font-size: 5px;
  }
}


/* MODTAC WORKBENCH V1.4.5 - exact brand assets on workmat + V1.4.4 toolbar placement */
.viewer::after { content: none !important; display: none !important; }
.workmat-brand {
  position: absolute !important;
  z-index: 2 !important;
  left: 10px !important;
  top: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  max-width: 34% !important;
  pointer-events: none !important;
  opacity: .62 !important;
}
.workmat-logo {
  display: block;
  width: min(220px, 100%);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  opacity: .78;
  filter: saturate(.86) brightness(.92);
}
.workmat-brand #workmat-size {
  display: block;
  margin-top: 1px;
  color: rgba(210,183,132,.72) !important;
  font: 700 6px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  letter-spacing: .08em !important;
  white-space: nowrap;
}
.workmat-symbol {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 51%;
  width: 30%;
  max-height: 72%;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: contain;
  opacity: .075;
  filter: saturate(.72) brightness(.88);
  pointer-events: none;
  user-select: none;
}
@media (max-width: 900px) {
  .workmat-brand {
    left: 7px !important;
    top: 6px !important;
    max-width: 30% !important;
    opacity: .58 !important;
  }
  .workmat-logo { width: 112px; opacity: .72; }
  .workmat-brand #workmat-size { font-size: 4.6px !important; letter-spacing: .045em !important; }
  .workmat-symbol { width: 33%; max-height: 74%; opacity: .065; }
}
@media (max-width: 420px) {
  .workmat-brand { max-width: 28% !important; left: 5px !important; top: 5px !important; }
  .workmat-logo { width: 88px; }
  .workmat-brand #workmat-size { font-size: 4px !important; }
  .workmat-symbol { width: 35%; opacity: .06; }
}

/* V1.4.6 — official Library brand assets on dark workmat */
.workmat-logo, .workmat-symbol { mix-blend-mode: screen; }

/* MODTAC WORKBENCH V1.4.7 — toolbar + workmat branding visual correction */
.workbench-modebar {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5px !important;
  width: 100% !important;
  margin: 5px 0 6px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.workbench-modebar button,
.workbench-modebar #workbench-mode,
.workbench-modebar #anchor-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 25px !important;
  height: 25px !important;
  margin: 0 !important;
  padding: 3px 6px !important;
  border: 1px solid rgba(177,116,45,.60) !important;
  border-radius: 5px !important;
  background: linear-gradient(180deg,rgba(48,30,17,.97),rgba(27,18,12,.97)) !important;
  color: #d7b27b !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.018) !important;
  font-family: var(--font-display) !important;
  font-size: 6.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.workbench-modebar #workbench-mode[aria-pressed="true"] {
  border-color: rgba(226,179,111,.92) !important;
  background: linear-gradient(180deg,#b98543,#8b5a28) !important;
  color: #130d09 !important;
}
.workbench-modebar #anchor-toggle[aria-pressed="true"] {
  border-color: rgba(91,151,105,.9) !important;
  background: linear-gradient(180deg,rgba(46,86,54,.96),rgba(25,54,32,.96)) !important;
  color: #c9ebcf !important;
}
.viewer__toolbar { display:none !important; }

/* Workmat brand: clearly visible but subordinate to the firearm */
.workmat-brand {
  position:absolute !important;
  z-index:2 !important;
  left:10px !important;
  top:10px !important;
  width:30% !important;
  max-width:150px !important;
  pointer-events:none !important;
  opacity:.82 !important;
}
.workmat-logo {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  opacity:1 !important;
  object-fit:contain !important;
  mix-blend-mode:screen !important;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.35)) !important;
}
.workmat-brand #workmat-size {
  display:block !important;
  margin-top:2px !important;
  color:rgba(205,187,151,.70) !important;
  font-size:5px !important;
  line-height:1.1 !important;
  letter-spacing:.06em !important;
  text-shadow:0 1px 1px rgba(0,0,0,.65) !important;
}
.workmat-symbol {
  position:absolute !important;
  z-index:1 !important;
  left:50% !important;
  top:53% !important;
  transform:translate(-50%,-50%) !important;
  width:31% !important;
  height:auto !important;
  max-height:72% !important;
  object-fit:contain !important;
  pointer-events:none !important;
  opacity:.10 !important;
  mix-blend-mode:screen !important;
  filter:saturate(.9) contrast(.92) !important;
}
.weapon-image, .accessory-layer, .anchor-host { z-index:3 !important; }

@media (max-width:900px) {
  .workbench-modebar { gap:4px !important; margin:4px 0 5px !important; }
  .workbench-modebar button,
  .workbench-modebar #workbench-mode,
  .workbench-modebar #anchor-toggle {
    min-height:22px !important;
    height:22px !important;
    padding:2px 4px !important;
    font-size:5.4px !important;
    letter-spacing:.035em !important;
  }
  .workmat-brand { left:7px !important; top:7px !important; width:25% !important; max-width:118px !important; opacity:.76 !important; }
  .workmat-brand #workmat-size { font-size:4.2px !important; }
  .workmat-symbol { width:29% !important; opacity:.085 !important; }
}
@media (max-width:480px) {
  .workbench-modebar button,
  .workbench-modebar #workbench-mode,
  .workbench-modebar #anchor-toggle {
    min-height:20px !important;
    height:20px !important;
    font-size:4.9px !important;
  }
  .workmat-brand { left:6px !important; top:6px !important; width:24% !important; max-width:102px !important; }
  .workmat-symbol { width:27% !important; opacity:.078 !important; }
}

/* V1.4.8 — real transparent Library branding */
.workmat-logo,
.workmat-symbol {
  mix-blend-mode: normal !important;
  background: transparent !important;
}

/* V1.4.9 — brand visibility correction */
.workmat-brand {
  left: 14px !important;
  top: 12px !important;
  width: 34% !important;
  max-width: 230px !important;
  opacity: 1 !important;
}
.workmat-logo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: brightness(1.22) contrast(1.08) drop-shadow(0 2px 2px rgba(0,0,0,.72)) !important;
}
.workmat-symbol {
  opacity: .14 !important;
  mix-blend-mode: normal !important;
  filter: brightness(1.18) contrast(1.05) !important;
}
@media (max-width:900px) {
  .workmat-brand { left:9px !important; top:8px !important; width:31% !important; max-width:145px !important; opacity:1 !important; }
  .workmat-symbol { opacity:.11 !important; }
}
@media (max-width:480px) {
  .workmat-brand { left:7px !important; top:7px !important; width:30% !important; max-width:122px !important; opacity:1 !important; }
  .workmat-symbol { opacity:.095 !important; }
}


/* V1.4.10 — Library 1000412557 off-white logo, transparent background */
.workmat-logo {
  display:block !important; width:100% !important; height:auto !important; opacity:.92 !important;
  background:transparent !important; mix-blend-mode:normal !important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.42)) !important;
}

/* V1.5 RC — final Product Manager control and legacy runtime UI guard. */
button#product-manager-open.product-manager-control,
button#product-manager-open.product-manager-control:link,
button#product-manager-open.product-manager-control:visited,
button#product-manager-open.product-manager-control:hover,
button#product-manager-open.product-manager-control:active,
button#product-manager-open.product-manager-control:focus,
button#product-manager-open.product-manager-control:focus-visible {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 34px !important;
  margin: 12px 0 0 !important;
  padding: 10px 12px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid var(--orange) !important;
  border-radius: 0 !important;
  color: var(--cream) !important;
  background: rgba(201, 133, 50, .14) !important;
  font-family: var(--font-display) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  outline: none !important;
}
button#product-manager-open.product-manager-control:hover,
button#product-manager-open.product-manager-control:active,
button#product-manager-open.product-manager-control:focus,
button#product-manager-open.product-manager-control:focus-visible {
  border-color: var(--cream) !important;
  color: var(--cream) !important;
  background: rgba(201, 133, 50, .28) !important;
  box-shadow: 0 0 0 2px rgba(201, 133, 50, .20) !important;
}

#pm-runtime-status,
#pm-debug-status,
.pm-runtime-status,
.pm-debug-status,
[data-pm-debug-status] {
  display: none !important;
}

/* V1.5.0 LIVE VALIDATION R4 — approved Gunmetal Sage cutting mat. */
.viewer {
  background:
    radial-gradient(circle at 50% 44%, rgba(181, 194, 187, .10), transparent 52%),
    linear-gradient(135deg, #59615c 0%, #4b534f 58%, #3f4643 100%);
}

.viewer__grid {
  opacity: 1;
  background-image:
    linear-gradient(rgba(197, 208, 202, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(197, 208, 202, .11) 1px, transparent 1px),
    linear-gradient(rgba(224, 230, 226, .22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(224, 230, 226, .22) 1px, transparent 1px);
}

.viewer::before {
  color: rgba(226, 231, 227, .62);
}

.workmat-symbol {
  display: none !important;
}

.workmat-brand {
  z-index: 2 !important;
  left: auto !important;
  top: auto !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 18% !important;
  max-width: 190px !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.workmat-logo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  opacity: .11 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  pointer-events: none !important;
}

/* V1.5.0 LIVE VALIDATION R5 — compact guide launcher; existing controls stay intact. */
.workbench-modebar {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(72px, auto) !important;
}

.workbench-modebar #guide-open {
  border-color: rgba(226, 179, 111, .82) !important;
  color: #f7f0e6 !important;
  background: linear-gradient(180deg, rgba(91, 55, 25, .98), rgba(47, 29, 17, .98)) !important;
}

.workbench-modebar #guide-open:hover,
.workbench-modebar #guide-open:focus-visible {
  border-color: #f7f0e6 !important;
  color: #17100b !important;
  background: #e2b36f !important;
  outline: none !important;
}

@media (max-width: 430px) {
  .workbench-modebar {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(66px, .58fr) !important;
  }
}

.workmat-size-label {
  position: absolute;
  z-index: 2;
  left: 16px;
  top: 14px;
  color: rgba(226, 231, 227, .62);
  font: 700 6px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .08em;
  white-space: nowrap;
  pointer-events: none;
}

.viewer[data-profile="pistol"] .workmat-brand {
  right: 16px !important;
  bottom: 16px !important;
  width: 22% !important;
  max-width: 150px !important;
}

@media (max-width: 900px) {
  .workmat-brand {
    right: 8px !important;
    bottom: 8px !important;
    width: 20% !important;
    max-width: 190px !important;
  }

  .viewer[data-profile="pistol"] .workmat-brand {
    right: 8px !important;
    bottom: 8px !important;
    width: 23% !important;
    max-width: 150px !important;
  }

  .workmat-size-label {
    left: 8px;
    top: 8px;
    font-size: 4.6px;
    letter-spacing: .045em;
  }
}
