/* Complete the look (shop the look) bundle block on the product page. Mobile first: three pieces side by side on
   one row at 390 px, each with its photo, name, price and a size picker; one full-width button underneath. */
.look-sub { margin: 4px 0 0; font-size: 0.9rem; color: var(--wine); font-weight: 500; }
.look-pieces { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.look-piece { display: flex; flex-direction: column; min-width: 0; }
.look-img { display: block; aspect-ratio: 4 / 5; background: var(--line); overflow: hidden; }
.look-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.look-info { display: flex; flex-direction: column; gap: 2px; padding-top: 8px; min-width: 0; }
.look-name { font-size: 0.82rem; line-height: 1.25; color: var(--text); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.look-colour { font-size: 0.74rem; color: var(--muted); }
.look-price { font-size: 0.86rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.look-size { display: block; margin-top: 6px; }
.look-size-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.look-size select { width: 100%; min-height: 44px; font: inherit; font-size: 0.8rem; padding: 0 6px; border: 1px solid var(--line); background: #fff; color: var(--text); border-radius: 0; }
.look-foot { margin-top: 16px; }
.look-total { margin: 0 0 10px; font-size: 0.95rem; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; }
.look-total s { color: var(--muted); }
.look-total strong { font-size: 1.1rem; }
.look-note { flex-basis: 100%; font-size: 0.78rem; color: var(--muted); }
@media (min-width: 900px) {
  .look-pieces { gap: 24px; max-width: 960px; margin-inline: auto; }
  .look-name { font-size: 0.92rem; }
  .look-foot { max-width: 960px; margin-inline: auto; }
  .look-img { aspect-ratio: 3 / 4; }
}

/* Cross-sell bundle: compact on phones, full desktop width so three pieces breathe. */
.pdp-look--bundle.pdp-band { padding-block: 28px; }
.pdp-look--bundle .pdp-head { margin-bottom: 16px; text-align: center; }
.pdp-look--bundle .pdp-title { font-size: clamp(1.15rem, 3vw, 1.55rem); }
.pdp-look--bundle .look-pieces { gap: 10px; max-width: none; margin-inline: auto; }
.pdp-look--bundle .look-name { font-size: 0.78rem; }
.pdp-look--bundle .look-price { font-size: 0.84rem; }
@media (min-width: 900px) {
  .pdp-look--bundle.pdp-band { padding-block: 48px 56px; }
  .pdp-look--bundle .pdp-head { margin-bottom: 28px; }
  .pdp-look--bundle .look-pieces { gap: 28px; max-width: 1080px; }
  .pdp-look--bundle .look-name { font-size: 0.92rem; }
  .pdp-look--bundle .look-price { font-size: 0.95rem; }
  .pdp-look--bundle .look-foot { max-width: 1080px; }
}
