/* Fotoherbst Commerce 3.19.0 — public shop/customer layout layer.
   Additive only: keeps the existing customer.css intact. */
body > main.shell { width:min(1480px,calc(100% - 48px)); max-width:1480px; margin-inline:auto; }
body > main.shell > .top, body > main.shell > footer { width:100%; }
body > main.shell > .card, body > main.shell > .shop-top, body > main.shell > .catalog-grid,
body > main.shell > .product-detail, body > main.shell > .customer-shell, body > main.shell > .account-shell,
body > main.shell > .dashboard-grid { width:100%; box-sizing:border-box; }
.shop-top { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.catalog-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.product-detail { grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); gap:28px; align-items:start; }
.product-detail > * { min-width:0; }
.cart-summary { max-width:760px; margin-left:auto; }
/* Keep forms readable inside the wider public canvas. */
body > main.shell form:not(.filterbar):not(.buy-box) { max-width:920px; }
body > main.shell .buy-box { max-width:560px; }
body > main.shell label input, body > main.shell label select, body > main.shell label textarea { max-width:100%; box-sizing:border-box; }
/* Customer/account pages can use the full canvas for data-heavy cards/tables. */
body > main.shell table { width:100%; }
body > main.shell .card table { display:block; overflow-x:auto; }
body > main.shell .grid, body > main.shell .order-info { align-items:stretch; }
@media (max-width:900px){
 body > main.shell { width:min(100% - 28px,1480px); }
 .product-detail { grid-template-columns:1fr; }
 body > main.shell form:not(.filterbar):not(.buy-box) { max-width:100%; }
}
@media (max-width:560px){
 body > main.shell { width:min(100% - 20px,1480px); }
 .shop-top { align-items:flex-start; }
 .shop-top .btn { width:100%; text-align:center; box-sizing:border-box; }
}
