/* GabeVPS — Product detail page */
.gv-pd { padding: 48px 0 80px; }
.gv-pd__layout { display: grid; grid-template-columns: 1fr 380px; gap: 40px; align-items: start; }
.gv-pd__main { min-width: 0; }
.gv-pd__title { font-size: clamp(26px, 3.6vw, 36px); letter-spacing: -0.02em; margin-bottom: 10px; }
.gv-pd__cat {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--gabevps-mono); font-size: 11px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gabevps-olive);
  background: var(--gabevps-olive-soft);
  padding: 5px 12px; border-radius: var(--gabevps-radius-pill);
  margin-bottom: 18px;
}
.gv-pd__short { font-size: 16px; line-height: 1.7; color: var(--gabevps-text-muted); margin-bottom: 32px; max-width: 640px; }
.gv-pd__block { margin-bottom: 40px; }
.gv-pd__block-title {
  font-size: 13px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gabevps-text-muted);
  margin-bottom: 18px;
  display: flex; align-items: center; gap: 10px;
}
.gv-pd__block-title::after { content: ""; flex: 1; height: 1px; background: var(--gabevps-border); }
.gv-pd__long { font-size: 15px; line-height: 1.75; color: var(--gabevps-text-2); }
.gv-pd__long p { margin-bottom: 14px; }

/* Spec table */
.gv-pd__specs {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
  background: var(--gabevps-border);
  border: 1px solid var(--gabevps-border);
  border-radius: var(--gabevps-radius);
  overflow: hidden;
}
.gv-pd__spec {
  background: var(--gabevps-bg-card);
  padding: 16px 18px;
  display: flex; flex-direction: column; gap: 4px;
}
.gv-pd__spec .gv-label { font-size: 10px; }
.gv-pd__spec strong { font-size: 16px; font-weight: 700; }
.gv-pd__spec strong.mono { font-family: var(--gabevps-mono); font-size: 15px; }

/* OS chips on PDP */
.gv-pd__os { display: flex; flex-wrap: wrap; gap: 10px; }
.gv-pd__os-chip {
  font-family: var(--gabevps-mono); font-size: 12px; font-weight: 500;
  background: var(--gabevps-bg-inset);
  border: 1px solid var(--gabevps-border);
  border-radius: var(--gabevps-radius-pill);
  padding: 7px 14px;
  color: var(--gabevps-text-2);
}

/* Sticky price box */
.gv-pd__side { position: sticky; top: calc(var(--gabevps-header-h) + 24px); }
.gv-pd__price-box {
  background: var(--gabevps-bg-card);
  border: 1px solid var(--gabevps-border);
  border-radius: var(--gabevps-radius-lg);
  box-shadow: var(--gabevps-shadow-md);
  padding: 28px;
}
.gv-pd__price-box .gv-label { font-size: 10px; margin-bottom: 8px; }
.gv-pd__price {
  font-size: 40px; font-weight: 800; letter-spacing: -0.03em;
  color: var(--gabevps-text); line-height: 1;
  margin-bottom: 4px;
}
.gv-pd__price small { font-size: 18px; font-weight: 600; color: var(--gabevps-text-muted); }
.gv-pd__price-note { font-size: 13px; color: var(--gabevps-text-muted); margin-bottom: 22px; }
.gv-pd__price-box .gv-btn { margin-bottom: 14px; }
.gv-pd__price-features { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--gabevps-border); display: flex; flex-direction: column; gap: 12px; }
.gv-pd__price-feat { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--gabevps-text-2); }
.gv-pd__price-feat svg { width: 16px; height: 16px; color: var(--gabevps-status-ok); flex-shrink: 0; }
.gv-pd__delivery-note {
  margin-top: 20px;
  font-size: 12.5px; line-height: 1.6;
  color: var(--gabevps-text-muted);
  background: var(--gabevps-bg-inset);
  border: 1px solid var(--gabevps-border);
  border-radius: var(--gabevps-radius-sm);
  padding: 14px;
}

@media (max-width: 1024px) {
  .gv-pd__layout { grid-template-columns: 1fr; }
  .gv-pd__side { position: static; }
}
@media (max-width: 767px) {
  .gv-pd__specs { grid-template-columns: 1fr; }
}
