.pc-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin:28px 0}
.pc-area-card{padding:24px 0;border-top:1px solid #D2D2D7}
.pc-area-card h2{font-size:1.6rem;margin:8px 0 12px}
.pc-area-card .btn{margin-top:16px}
.pc-delivery-choice{align-items:end}
.pc-catalog{margin-top:28px}
.pc-product{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:32px;padding:28px 0;border-bottom:1px solid #D2D2D7}
.pc-product h2{font-size:1.25rem;margin:6px 0 10px;color:#1D1D1F}
.pc-product .btn{margin:8px 8px 0 0}
.pc-issues{padding-left:20px;margin:12px 0;color:#58595B;font-size:.9rem}
.pc-issues li+li{margin-top:6px}
.pc-quote{padding:20px 0;margin-bottom:12px;border-top:1px solid #D2D2D7}
.pc-quote>.price-value,.pc-quote .price-value{display:block;font-size:1.8rem;color:#1D1D1F;margin-top:8px}
.pc-quote-blocked .price-value{font-size:1.2rem;color:#B34F10}
.pc-allocations{margin-top:24px}
.pc-allocation{display:grid;grid-template-columns:minmax(100px,1fr) 1fr 1.4fr;align-items:end;gap:14px;padding:16px 0;border-bottom:1px solid #D2D2D7}
.pc-allocation h3{grid-column:1/-1;font-size:1rem;margin:0 0 12px;overflow-wrap:anywhere}
.pc-group-details{margin:8px 0 18px;padding-bottom:14px;border-bottom:1px solid #D2D2D7}
.pc-breakdown{display:flex;flex-wrap:wrap;gap:10px 24px;margin:12px 0}
.pc-breakdown>div{display:flex;gap:8px}
.pc-breakdown dt{color:#58595B}.pc-breakdown dd{margin:0;color:#1D1D1F;font-variant-numeric:tabular-nums}
@media(max-width:650px){.pc-product{grid-template-columns:1fr;gap:12px}.pc-allocation{grid-template-columns:1fr 1fr}.pc-allocation h3{grid-column:1/-1;margin:0}.pc-area-grid{grid-template-columns:1fr;gap:12px}.pc-product .price-value{font-size:1.35rem}}

@media(max-width:650px){.pc-allocation label:has([data-pc-site-select]){grid-column:1/-1}}

/* Quantity controls keep the half-pallet rule usable on small screens. */
.pc-quantity-control { display:flex; align-items:end; gap:8px; }
.pc-quantity-control .field { flex:1; min-width:80px; }
.pc-quantity-control .btn { min-width:60px; margin-bottom:0; }
.pc-allocation > .field:has(textarea) { grid-column:1 / -1; }
