.group-quote__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}

.group-quote__form,
.group-quote__summary {
  min-width: 0;
  padding: clamp(1.1rem, 3vw, 2rem);
  border: 2px solid #251420;
  border-radius: 1.4rem;
  background: #fff;
  color: #251420;
}

.group-quote__step { margin: 0 0 1.25rem; padding: 0; border: 0; }
.group-quote__step legend { margin-bottom: 0.65rem; font-weight: 900; }
.group-quote__choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); gap: 0.65rem; }
.group-quote__choice { display: grid; min-height: 44px; cursor: pointer; }
.group-quote__choice input { position: absolute; opacity: 0; pointer-events: none; }
.group-quote__choice span { display: grid; min-height: 44px; place-items: center; padding: 0.65rem; border: 2px solid #6f5e69; border-radius: 0.9rem; background: #fff; font-weight: 850; text-align: center; }
.group-quote__garments { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.group-quote__choice--garment span { min-height: 8rem; place-items: start; align-content: start; gap: 0.25rem; padding: 0.9rem; text-align: left; }
.group-quote__choice--garment strong { font-size: 1.1rem; line-height: 1.1; }
.group-quote__choice--garment small { font-size: 0.78rem; font-weight: 900; line-height: 1.35; }
.group-quote__choice--garment em { color: #6f5e69; font-size: 0.72rem; font-style: normal; font-weight: 650; line-height: 1.4; }
.group-quote__choice:has(input:checked) span { border-color: #251420; background: #f8b200; box-shadow: 0.2rem 0.2rem 0 #251420; }
.group-quote__choice input:focus-visible + span { outline: 3px solid #fff; box-shadow: 0 0 0 6px #251420; }
.group-quote__custom { display: grid; gap: 0.35rem; margin-top: 0.7rem; font-weight: 800; }
.group-quote__custom input { min-height: 44px; padding: 0.65rem; border: 2px solid #6f5e69; border-radius: 0.8rem; font: inherit; }
.group-quote__summary { position: relative; align-self: start; background: #251420; color: #fff; }
.group-quote__status { color: #f8b200; font-weight: 900; }
.group-quote__price { margin: 0.25rem 0; font-size: clamp(2rem, 8vw, 4rem); font-weight: 950; overflow-wrap: anywhere; }
.group-quote__per-person { margin: 0 0 0.35rem; font-size: 1.15rem; font-weight: 850; }
.group-quote__tax,
.group-quote__notice { color: rgba(255, 255, 255, 0.78); }
.group-quote__summary [aria-disabled="true"] { opacity: 0.55; pointer-events: none; }

@media (min-width: 1024px) {
  .group-quote__layout { grid-template-columns: minmax(0, 1.2fr) minmax(19rem, 0.8fr); align-items: start; }
  .group-quote__summary { position: sticky; top: calc(var(--header-height, 5rem) + 1rem); }
}

