/* Catalogue and summary use the same quantity controls. */
.panier-card-photo { height: auto; aspect-ratio: 3 / 2; position: relative; }
.panier-card-photo img { height: 100%; object-fit: cover; object-position: center; }
.panier-items-grid { align-items: start; }
.panier-card-content > p { margin: 4px 0; }
.panier-card-content small { font-size: 14px; line-height: 1.6; }
.basket-composition summary { cursor: pointer; padding: 12px 0; color: var(--green); font-weight: 600; }
.basket-composition > p { font-size: 14px; }
.basket-component-choice { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid var(--line); }
.basket-component-choice > span { font-size: 14px; flex: 1 1 100px; }
.basket-quantity { display: inline-flex; align-items: center; width: max-content; max-width: 100%; border: 1px solid #a5b497; border-radius: 4px; background: #fffef8; }
.basket-quantity button, .panier-card .basket-quantity button, .panier-summary .basket-quantity button { min-width: 38px; min-height: 44px; padding: 4px; border: 0; background: transparent; color: var(--green); font-size: 22px; box-shadow: none; border-radius: 0; }
.basket-quantity input { width: 48px; min-width: 0; padding: 8px 0; min-height: 44px; border: 0; background: transparent; color: var(--green); text-align: center; font: inherit; appearance: textfield; -moz-appearance: textfield; }
.basket-quantity input::-webkit-inner-spin-button, .basket-quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.basket-quantity button:hover { background: #edf1e4; }
.basket-quantity button:disabled, [data-panier-add]:disabled { opacity: .45; cursor: default; }
.panier-card-actions { margin-top: 12px; }
.panier-card-actions > button { width: 100%; min-height: 44px; }
.basket-card-feedback { font-size: 14px !important; line-height: 1.5; color: var(--green); }
.basket-card-feedback:empty { display: none; }
.panier-summary .basket-item { background: transparent; border-radius: 0; padding: 16px 0; border-bottom: 1px solid var(--line); gap: 10px; }
.basket-components { list-style: none; padding: 0; margin: 0; }
.panier-summary .basket-components li { background: transparent; border-radius: 0; padding: 10px 0 10px 12px; border: 0; border-left: 2px solid #d6dfc7; }
.basket-item-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.basket-item-actions > button, .basket-remove { min-height: 44px; font-size: 14px; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.basket-remove { align-self: start; padding: 4px 0; }
.basket-quote, .basket-contact-status { font-size: 15px; line-height: 1.6; color: #795d39; }
.basket-close { display: none; }
.basket-price { display: flex; flex-direction: column; gap: 5px; padding: 10px 0; font-size: 15px; }
.basket-price strong { font-size: 18px; }
.basket-supplement { color: #89582c; }
.basket-discount { color: #47643c; font-size: 13px; }
.basket-included { display: block; margin-top: 5px; color: #65735b; font-size: 12px !important; }
.panier-sidebar .total-line { flex-wrap: wrap; gap: 8px; }
.panier-sidebar { max-height: calc(100dvh - 150px); overflow-y: auto; }
.basket-contact-back { display: inline-block; margin: 10px 0; }
@media (max-width: 900px) {
    .panier-sidebar.mobile-panel { top: auto; bottom: 76px; max-height: calc(100dvh - 180px); }
    .panier-sidebar .basket-close { display: block; margin: 0 0 14px auto; padding: 10px; min-height: 44px; border: 1px solid var(--line); background: transparent; color: var(--green); border-radius: 4px; }
    .sidebar-toggle { z-index: 35; width: auto; min-height: 48px; padding: 12px 18px; border-radius: 30px; gap: 9px; }
    .panier-builder-main { padding: 16px; }
    .panier-items-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); }
}
