/* Plain, theme-neutral layout. The Linden Catalogue theme styles these as parts of its order form. */
.linden-cp-panel { margin: 1em 0; display: grid; gap: 0.75em; }
.linden-cp-free-shipping { margin: 0; font-weight: 600; }
.linden-cp-progress { height: 6px; background: rgba(0, 0, 0, 0.12); }
.linden-cp-progress__bar { display: block; height: 100%; width: var(--linden-cp-progress, 0%); background: currentColor; }
.linden-cp-bumps { border: 1px solid currentColor; border-radius: 4px; padding: 0.75em; }
.linden-cp-bumps h3, .linden-cp-bumps h2 { font-size: 1em; margin: 0 0 0.5em; }
.linden-cp-bumps ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5em; }
.linden-cp-bump { display: grid; grid-template-columns: 48px 1fr auto; gap: 0.5em; align-items: center; }
.linden-cp-bump img { width: 48px; height: 48px; object-fit: cover; }
.linden-cp-bump form { margin: 0; }
.linden-cp-gift-wrap-toggle label { display: flex; gap: 0.5em; align-items: center; }
.linden-cp-payment-note { font-size: 0.9em; margin: 0; }
.linden-cp-counter { font-size: 0.85em; }
.linden-cp-order-details { margin: 1.5em 0; }
.linden-cp-order-details dl { display: grid; grid-template-columns: max-content 1fr; gap: 0.25em 1em; margin: 0; }
.linden-cp-order-details dt { font-weight: 600; }
.linden-cp-order-details dd { margin: 0; white-space: pre-line; }
.linden-journal { display: grid; gap: 2em; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.linden-journal ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1em; }
.linden-journal img { max-width: 100%; height: auto; display: block; }
.linden-journal__products ul { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
