/* Specyfikacja i tabela rozmiarów (konfigurator, strony modeli) */
.sp { padding-top: clamp(40px, 6vw, 72px); color: var(--ink); }
.sp-block + .sp-block { margin-top: clamp(40px, 6vw, 72px); }
.sp h2 { margin: 0; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.05; font-stretch: 125%; font-weight: 300; }
.sp-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.sp-pdf:disabled { opacity: .6; cursor: progress; }
.sp-for { margin: 10px 0 0; color: var(--muted); font-size: 16px; max-width: 70ch; }
.sp-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px clamp(24px, 3vw, 48px); margin-top: 26px; align-items: start; }
.sp-cols h3 { margin: 0 0 6px; font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #8a6c2c; }
.sp-list { margin: 0; }
.sp-list div { display: grid; grid-template-columns: minmax(90px, 38%) 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid #dedbd3; }
.sp-list dt { color: var(--muted); font-size: 14px; }
.sp-list dd { margin: 0; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.sp-geo { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); margin-top: 26px; align-items: start; }
.sp-geo-img { width: 100%; height: auto; display: block; mix-blend-mode: multiply; }
.sp-scroll { overflow-x: auto; }
.sp-t { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.sp-t th, .sp-t td { padding: 8px 10px; border-top: 1px solid #dedbd3; text-align: center; font-weight: 400; }
.sp-t thead th { border-top: 0; font-weight: 600; }
.sp-t thead th:first-child { text-align: left; }
.sp-t thead tr + tr th { font-size: 13px; font-weight: 400; color: var(--muted); border-top: 0; padding-top: 0; white-space: nowrap; }
.sp-t tbody th { text-align: left; color: var(--muted); font-size: 14px; }
.sp-t tbody th b { display: inline-block; width: 20px; color: var(--ink); font-weight: 600; }
.sp-t .is-size { background: #f1ebdc; }
.sp-t thead .is-size { color: var(--ink); }
.sp-note { margin: 16px 0 0; color: var(--muted); font-size: 14px; max-width: 70ch; }
.geo-sec { padding: clamp(50px, 7vw, 90px) var(--pad); }
.geo-sec.sp { padding-top: clamp(50px, 7vw, 90px); }
@media (max-width: 1000px) {
  .sp-cols { grid-template-columns: 1fr; gap: 26px; }
  .sp-geo { grid-template-columns: 1fr; }
  .sp-geo-img { max-width: 420px; margin-inline: auto; }
}
@media (max-width: 760px) {
  .sp-scroll { margin-inline: calc(var(--pad) * -1); padding-inline: var(--pad); }
  .sp-t th:first-child { position: sticky; left: calc(var(--pad) * -1); background: var(--white); min-width: 136px; max-width: 136px; padding-inline: 0 8px; text-align: left; }
  .geo-sec .sp-t th:first-child { background: #f4f2ed; }
}

/* Strona Rozmiary */
.size-pick .mcard { min-height: min(58svh, 560px); }
.size-model { scroll-margin-top: 96px; }
.size-model + .size-model { padding-top: 0; }
.size-model .kind { margin: 0 0 8px; color: var(--muted); font-size: 15px; }
.size-model h2 { font-size: clamp(40px, 5vw, 72px); font-weight: 200; }
.size-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.size-note { padding-top: 0; }
.size-note p { margin: 0; max-width: 70ch; color: var(--muted); font-size: 15px; }
@media (max-width: 1000px) {
  .size-pick .mcard { min-height: 200px; }
  .size-pick .mcard h3 { font-size: 36px; }
}
