/* Size guide page (shop/size-guide.php): Cubtopia-styled tables and measuring diagrams */
.sg-wrap{ max-width: 1080px; margin: 0 auto; }
.sg-back{ margin: 0 0 1rem; font-weight: 700; }
.sg-back a{ color: var(--navy); }
.sg-panel{
  background: var(--cream);
  border-radius: 22px;
  padding: clamp(1.2rem, 3.5vw, 2.2rem);
  box-shadow: 0 18px 36px rgba(12,28,57,.25);
  margin-bottom: 1.6rem;
}
.sg-eyebrow{
  display: inline-block;
  margin: 0 0 1.1rem;
  padding: .35rem 1rem;
  border-radius: 999px;
  background: var(--navy);
  color: var(--cream);
  font-family: "Baloo 2", sans-serif;
  font-weight: 800;
  font-size: clamp(.95rem, 2.4vw, 1.15rem);
  letter-spacing: .06em;
}
.sg-polo-grid{ display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.4rem; align-items: start; }
.sg-tables{ display: grid; gap: 1.2rem; }
.sg-table-card h3{
  margin: 0 0 .5rem;
  font-size: 1.05rem;
  letter-spacing: .05em;
  color: var(--gold-deep);
}
.sg-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(12,28,57,.08), 0 6px 14px rgba(12,28,57,.08);
  font-variant-numeric: tabular-nums;
}
.sg-table thead th{
  background: var(--sky-pale);
  color: var(--navy);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .6rem .7rem .2rem;
  vertical-align: bottom;
  text-align: center;
  line-height: 1.25;
}
.sg-table thead .sg-subrow th{ font-size: .78rem; font-weight: 600; letter-spacing: 0; padding: .1rem .7rem .6rem; color: var(--navy-soft); }
.sg-table thead th.sg-size{ text-align: left; vertical-align: middle; font-size: .85rem; }
.sg-sub{ display: block; font-weight: 700; letter-spacing: 0; }
.sg-table tbody th, .sg-table tbody td{ padding: .5rem .7rem; border-top: 1px solid rgba(12,28,57,.08); font-size: 1rem; }
.sg-table tbody th{ text-align: left; font-weight: 800; white-space: nowrap; }
.sg-table tbody td{ text-align: center; font-weight: 600; }
.sg-table tbody tr:nth-child(even){ background: #fffaf0; }
.sg-table tbody tr:hover{ background: #fff3d6; }
.sg-table-card.youth tbody th{ color: var(--participant-gold-deep, #ca8537); }
.sg-table-card.adult tbody th{ color: var(--line-blue-deep, #16588f); }

.sg-figure{ margin: 0; background: #fff; border-radius: 18px; padding: 1rem; box-shadow: 0 6px 14px rgba(12,28,57,.08); position: sticky; top: 1rem; }
.sg-figure svg{ display: block; width: 100%; height: auto; }
.sg-shirt{ fill: var(--sky-pale); stroke: var(--navy); stroke-width: 3; stroke-linejoin: round; }
.sg-trim{ fill: none; stroke: var(--navy); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.sg-btn{ fill: var(--navy); }
.sg-measure{ stroke: var(--gold-deep); stroke-width: 3; stroke-dasharray: 7 5; }
.sg-label{ fill: var(--navy); font-family: "Nunito Sans", Arial, sans-serif; font-size: 11px; font-weight: 800; text-anchor: middle; paint-order: stroke; stroke: var(--sky-pale); stroke-width: 4px; }

.sg-hat-grid{ display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.4rem; align-items: center; }
.sg-hat .sg-table thead th{ font-size: .85rem; padding: .7rem; vertical-align: middle; }
.sg-hat .sg-table thead th em{ font-weight: 700; }
.sg-hat .sg-table tbody th{ color: var(--helper-teal-deep, #166b6b); font-size: 1.1rem; }
.sg-hat .sg-table tbody td{ font-size: 1.1rem; }
.sg-head{ position: static; }
.sg-headline{ fill: none; stroke: var(--navy); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.sg-tape{ fill: var(--gold); stroke: var(--gold-deep); stroke-width: 2; }
.sg-ticks path{ stroke: var(--navy); stroke-width: 1.5; }
.sg-figure figcaption{ margin-top: .6rem; font-size: .88rem; line-height: 1.45; color: var(--navy-soft); text-align: center; }

@media (max-width: 860px){
  .sg-polo-grid, .sg-hat-grid{ grid-template-columns: 1fr; }
  .sg-figure{ position: static; max-width: 360px; margin: 0 auto; }
}
@media (max-width: 480px){
  .sg-table thead th{ font-size: .72rem; padding-left: .45rem; padding-right: .45rem; }
  .sg-table thead .sg-subrow th{ font-size: .7rem; padding-left: .45rem; padding-right: .45rem; }
  .sg-table tbody th, .sg-table tbody td{ padding: .45rem; font-size: .95rem; }
}
@media print{
  .sg-back, .sg-link{ display: none; }
  .sg-panel{ box-shadow: none; border: 1px solid #ccc; break-inside: avoid; }
  .sg-figure{ position: static; box-shadow: none; }
}
