/* Cart components own their layout here; legacy cart rules have been removed. */
.cart-page{padding-block:28px 64px;min-height:60vh}.cart-page *{box-sizing:border-box}.cart-page h1{margin:18px 0 28px}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 352px;grid-template-areas:"items total" "extras total";gap:24px 28px;align-items:start}
.cart-content{grid-area:items;display:grid;gap:20px;min-width:0}.cart-total{grid-area:total}.cart-extras{grid-area:extras;min-width:0}
.cart-set,.cart-total,body.public-ui .cart-extras .additions-section{background:#fffefa;border:1px solid #dfe4d6;border-radius:20px;padding:24px}
.cart-set{min-width:0}.cart-set-heading{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:center}
.cart-set-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:16px;background:#f1f3eb}
.cart-set-copy{min-width:0}.cart-set h2{font-size:24px;line-height:1.3;margin:0 0 8px;overflow-wrap:anywhere}.cart-set-unit{font-size:14px;line-height:1.5;color:#68755e;margin:0 0 16px}
.cart-quantity{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:14px}.cart-quantity>div{display:flex;align-items:center;border:1px solid #d7dfcf;border-radius:10px;background:#fff}.cart-quantity output{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}
.cart-page button{font:inherit;cursor:pointer;min-height:44px}.cart-quantity button{width:44px;min-width:44px;height:44px;border:0;border-radius:9px;background:none;color:#376044;font-size:20px}.cart-page button:disabled{opacity:.45;cursor:default}
.cart-line-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:13px;color:#68755e}.cart-line-total strong{font-size:22px;color:#233c28;white-space:nowrap}
.cart-line-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin:20px 0 0}.cart-line-actions .cart-edit{margin:0;min-height:44px}.cart-page .cart-remove{border:0;background:none;color:#6b7761;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:14px}
.cart-composition{margin-top:18px;padding-top:8px;border-top:1px solid #e0e5d8}.cart-composition summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:15px;line-height:1.4;font-weight:500}.cart-composition>p{font-size:13px;color:#68755e;margin:4px 0 10px}.cart-composition .order-line{min-width:0}
.cart-total{min-width:0;align-self:start}.cart-total h2{font-size:24px;line-height:1.3;margin:0 0 22px}.cart-sums{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;margin:0;padding-bottom:18px;border-bottom:1px solid #dfe5d6;font-size:14px;line-height:1.5}.cart-sums dt{color:#68755e}.cart-sums dd{margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cart-grand-total{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-top:18px;font-size:15px;line-height:1.4}.cart-grand-total strong{font-size:28px;line-height:1.2;white-space:nowrap;font-weight:600;letter-spacing:-.025em}
.cart-delivery-note{font-size:13px;line-height:1.5;color:#68755e;margin:14px 0 20px}.cart-total .ui-button{display:flex;width:100%;text-align:center;white-space:normal;justify-content:center;padding:14px;line-height:1.4;min-height:52px;font-size:15px}.cart-total [aria-disabled=true]{opacity:.55;cursor:default}.cart-delivery-link{display:block;width:max-content;max-width:100%;font-size:13px;line-height:1.5;margin:14px auto 0;padding:8px 0;color:#376044}
.cart-status{font-size:14px;line-height:1.55;margin:14px 0;overflow-wrap:anywhere}.cart-status[hidden]{display:none}.cart-status.is-error{padding:14px;border:1px solid #e8c8b8;border-radius:10px;background:#fff3ec;color:#8d3428}.cart-status p{margin:12px 0}.cart-status ul{margin:10px 0;padding-left:18px}.cart-status li+li{margin-top:8px}.cart-status button{display:block;margin-top:10px;max-width:100%;text-align:left;white-space:normal;font-size:14px;color:inherit}
.cart-retained{margin-top:20px;padding:18px;background:#edf3e7;border-radius:14px;line-height:1.6}.cart-page :focus-visible{outline:2px solid #70966b;outline-offset:3px}
body.public-ui .cart-extras .additions-section{margin:0}.cart-extras .addition-section-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;margin-bottom:20px}.cart-extras .addition-section-heading h2{font-size:22px;line-height:1.3;margin:0;flex:1}.cart-extras .addition-section-heading a{font-size:13px;min-height:44px;display:flex;align-items:center}
body.public-ui .cart-extras [data-addons-catalog]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;align-items:stretch}
body.public-ui .cart-extras .addition-card .addition-photo-shell{width:min(100%,150px);height:auto;max-width:150px;max-height:none;aspect-ratio:1/1;overflow:hidden;border-radius:50%;margin:0 auto;background:#eaf0df}
body.public-ui .cart-extras .addition-card img.addition-photo{width:100%;height:100%;aspect-ratio:1;object-fit:contain;max-height:none}
body.public-ui .cart-extras .addition-heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:0}
body.public-ui .cart-extras .addition-card .addition-heading h3{flex:none;font-size:16px;line-height:1.4;margin:0}
body.public-ui .cart-extras .addition-heading .addition-unit{margin:0;font-size:13px;white-space:normal}
body.public-ui .cart-extras .addition-card .addition-copy{gap:12px}.cart-extras [data-addons-status]:empty{display:none}.cart-extras [data-addons-status]{margin:16px 0 0;font-size:14px}
@media(max-width:1100px){.cart-layout{grid-template-columns:minmax(0,1fr) 320px;gap:20px}.cart-set-heading{grid-template-columns:140px minmax(0,1fr);gap:18px}.cart-set,.cart-total,body.public-ui .cart-extras .additions-section{padding:20px}.cart-set h2{font-size:22px}body.public-ui .cart-extras [data-addons-catalog]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.cart-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"items" "total" "extras"}.cart-total{width:100%}.cart-set-heading{grid-template-columns:180px minmax(0,1fr)}body.public-ui .cart-extras [data-addons-catalog]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:599px){.cart-page{padding-block:18px 40px}.cart-page h1{margin:12px 0 22px}.cart-set,.cart-total,body.public-ui .cart-extras .additions-section{padding:18px 16px;border-radius:18px}.cart-set-heading{grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:start}.cart-set h2{font-size:19px}.cart-set-unit{font-size:13px;margin-bottom:10px}.cart-quantity{gap:6px;font-size:12px}.cart-line-total{margin-top:10px}.cart-line-total strong{font-size:21px}.cart-line-actions{margin-top:16px;gap:10px 18px}.cart-line-actions .cart-edit{font-size:14px}.cart-composition summary{font-size:14px}.cart-total h2{font-size:23px;margin-bottom:18px}.cart-grand-total strong{font-size:27px}body.public-ui .cart-extras [data-addons-catalog]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.cart-extras .addition-section-heading h2{font-size:21px;flex:1 1 100%}body.public-ui .cart-extras .addition-card .addition-photo-shell{max-width:132px}body.public-ui .cart-extras .addition-card .addition-heading h3{font-size:14px}.cart-extras .addition-bottom>strong{font-size:17px}}
@media(max-width:359px){.cart-set-heading{grid-template-columns:96px minmax(0,1fr);gap:12px}.cart-set h2{font-size:18px}.cart-set,.cart-total,body.public-ui .cart-extras .additions-section{padding:16px 12px}.cart-grand-total{gap:8px}.cart-grand-total strong{font-size:25px}}
