/* Buying-page catalogue; existing TIYP palette and typography. */
.buying-hero img { margin-bottom: 1.5rem; }
.buying-jumps, .basket-messenger, .basket-tools { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.buying-jumps { margin-top: 2rem; }
.buying-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 2.5rem; }
.buying-bulk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.buying-product { min-width: 0; border-top: 1px solid currentColor; padding-top: 1.5rem; overflow-wrap: anywhere; }
.buying-product figure { margin: 0 0 1.5rem; }
.buying-product figure img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.buying-product h3 { font-size: 1.5rem; text-wrap: balance; }
.buying-product form { display: grid; gap: .65rem; margin: 1.5rem 0; }
.buying-product label { font-weight: 600; }
.buying-product input, .buying-product select, .basket-line input, .buying-basket textarea { width: 100%; min-height: 44px; border: 1px solid #56725c; border-radius: 4px; background: #fffdf8; color: #1f2421; font: inherit; padding: .7rem; }
.buying-product button { justify-self: start; margin-top: .5rem; }
.buying-product button:disabled { opacity: .55; cursor: not-allowed; }
.buying-basket textarea { resize: vertical; }
.basket-lines { list-style: none; padding: 0; margin: 0; }
.basket-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid #b1bdb3; }
.basket-line label { display: grid; gap: .5rem; min-width: 0; overflow-wrap: anywhere; }
.basket-line input { max-width: 10rem; font-variant-numeric: tabular-nums; }
.basket-remove, .basket-tools button { min-height: 44px; background: transparent; color: #2f4436; border: 1px solid #56725c; border-radius: 4px; padding: .5rem .8rem; font: inherit; cursor: pointer; }
.basket-remove:hover, .basket-tools button:hover { background: #e8eee8; }
.buying-basket :focus-visible, .buying-product :focus-visible { outline: 3px solid #2f4436; outline-offset: 4px; }
.buying-basket [data-basket-status] { min-height: 1.5em; }
.buying-basket [hidden] { display: none; }
.buying-product :is(button, a), .buying-basket :is(button, a) { touch-action: manipulation; }
@media (max-width: 959px) { .buying-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .buying-grid { grid-template-columns: minmax(0, 1fr); } .basket-line { grid-template-columns: minmax(0, 1fr); } .basket-remove { justify-self: start; } }
