/* Cart-only layout; product/checkout controls and shared pricing stay separate. */
.cart-intro {padding-bottom:0;}
.cart-intro h1 {margin-bottom:12px;}
.cart-intro>p:not(.eyebrow) {max-width:610px;}
.cart-keep-shopping {display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:#235e59;font-size:14px;font-weight:650;}
.cart-page {gap:28px;padding-top:26px;grid-template-columns:minmax(0,1fr) 340px;}
.cart-page [hidden] {display:none!important;}
.cart-items {min-width:0;gap:18px;}
.cart-item.cart-design-card {display:block;min-width:0;padding:22px;border:1px solid #dce4e1;border-radius:16px;background:#fff;box-shadow:0 3px 12px #152b2205;}
.cart-design-header {display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:16px;align-items:center;}
.cart-design-image {width:84px;height:84px;padding:3px;object-fit:contain;border:1px solid #edf0ee;border-radius:11px;background:#fafbf9;}
.cart-design-heading {min-width:0;}
.cart-design-heading h2 {margin:0;font-size:18px;line-height:1.35;overflow-wrap:anywhere;}
.cart-design-heading a {text-decoration:none;}
.cart-design-pairs {margin:6px 0 0;font-size:13px;color:#63706b;}
.cart-design-price {display:grid;gap:3px;text-align:right;white-space:nowrap;}
.cart-design-price small {font-size:11px;color:#63706b;}
.cart-design-price strong {font-size:18px;}
.cart-item .cart-design-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:18px 0 0;padding-top:16px;border-top:1px solid #edf0ed;}
.cart-design-option {min-width:0;}
.cart-item .cart-design-option dt {margin:0 0 3px;font-size:11px;line-height:1.35;color:#65716b;}
.cart-item .cart-design-option dd {margin:0;font-size:13px;line-height:1.45;color:#273e34;overflow-wrap:anywhere;white-space:pre-wrap;}
.cart-design-photos {display:flex;align-items:center;gap:12px;margin-top:17px;padding:12px;border-radius:9px;background:#f3f7f5;min-width:0;}
.cart-photo-strip {display:flex;flex:0 1 auto;gap:4px;flex-wrap:wrap;}
.cart-photo-strip img,.cart-photo-strip>span {width:36px;height:42px;border-radius:5px;object-fit:cover;background:#dfe9e3;}
.cart-photo-strip>span {display:grid;place-items:center;font-size:11px;color:#254438;}
.cart-photo-caption {min-width:0;display:grid;gap:2px;font-size:12px;}
.cart-photo-caption span {color:#66746d;}
.cart-design-controls {display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:19px;padding-top:16px;border-top:1px solid #edf0ed;}
.cart-quantity-section {display:grid;gap:5px;}
.cart-control-label {font-size:11px;color:#63716a;}
.cart-design-card .cart-quantity {grid-template-columns:44px 38px 44px;border-color:#d7e0da;border-radius:8px;}
.cart-design-card .cart-quantity button {width:44px;height:44px;background:#f3f7f4;color:#234638;}
.cart-design-card .cart-quantity button:disabled {color:#a7b0aa;cursor:default;}
.cart-design-card .cart-quantity span {font-size:14px;}
.cart-design-actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.cart-edit-design {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 15px;border:1px solid #aec8be;border-radius:8px;background:#f1f8f5;color:#215b46;font-size:13px;font-weight:700;text-decoration:none;}
.cart-edit-design:hover {background:#e4f1ea;border-color:#51836d;}
.cart-remove-design {min-height:44px;padding:9px 8px;border:0;background:none;color:#7e4b49;font:inherit;font-size:12px;cursor:pointer;}
.cart-remove-design:hover {color:#a12326;text-decoration:underline;}
.cart-design-card .cart-quantity-help {display:block;margin-top:9px;font-size:11px;line-height:1.45;color:#68786e;}
.cart-design-card .bogo-badge {margin:14px 0 0;}
.cart-design-card.needs-review {border-color:#d4ac66;}
.cart-design-warning {margin:14px 0 0;padding:9px 11px;border-radius:7px;color:#775116;background:#fff8e9;font-size:12px;}
.cart-page .cart-summary {padding:24px;border-color:#dce4df;border-radius:16px;background:#f5f8f5;}
.cart-summary .cart-price-notice {padding:12px;border-radius:8px;background:#fff7e8;color:#725320;line-height:1.5;}
.cart-summary .button {min-height:48px;font-size:14px;}
.cart-checkout-help {display:block;margin-top:10px;text-align:center;font-size:11px;color:#647469;}
.cart-design-card a:focus-visible,.cart-design-card button:focus-visible {outline:3px solid #2b7860;outline-offset:3px;}
@media(max-width:1080px){
 .cart-page {grid-template-columns:minmax(0,1fr) 300px;gap:20px;}
 .cart-design-header {grid-template-columns:72px minmax(0,1fr);gap:8px 13px;}
 .cart-design-image {width:72px;height:72px;grid-row:span 2;}
 .cart-design-price {grid-column:2;display:flex;gap:8px;align-items:baseline;text-align:left;}
}
@media(max-width:820px){
 .cart-page {display:grid;grid-template-columns:minmax(0,1fr);gap:22px;}
 .cart-page .cart-summary {position:static;margin:0;}
 .cart-design-header {grid-template-columns:84px minmax(0,1fr) auto;gap:16px;}
 .cart-design-image {width:84px;height:84px;grid-row:auto;}
 .cart-design-price {grid-column:auto;display:grid;text-align:right;}
}
@media(max-width:540px){
 .cart-page,.cart-intro {width:calc(100% - 28px);}
 .cart-page {padding-top:20px;padding-bottom:48px;}
 .cart-intro {padding-top:27px;}
 .cart-intro h1 {font-size:30px;}
 .cart-intro>p:not(.eyebrow) {font-size:14px;line-height:1.55;}
 .cart-item.cart-design-card {padding:16px;border-radius:13px;}
 .cart-design-header {grid-template-columns:68px minmax(0,1fr);gap:6px 12px;}
 .cart-design-image {width:68px;height:74px;grid-row:span 2;}
 .cart-design-heading h2 {font-size:16px;}
 .cart-design-pairs {margin-top:4px;font-size:12px;}
 .cart-design-price {grid-column:2;display:flex;align-items:baseline;gap:8px;text-align:left;}
 .cart-design-price strong {font-size:17px;}
 .cart-item .cart-design-options {gap:11px 12px;}
 .cart-design-photos {padding:10px;gap:9px;align-items:center;}
 .cart-photo-strip {max-width:115px;gap:3px;}
 .cart-photo-strip img,.cart-photo-strip>span {width:26px;height:32px;}
 .cart-photo-caption {font-size:11px;}
 .cart-design-controls {gap:10px;align-items:flex-end;}
 .cart-design-actions {gap:3px;}
 .cart-edit-design {padding-inline:11px;}
 .cart-remove-design {padding-inline:5px;}
 .cart-page .cart-summary {padding:20px;}
}
@media(max-width:365px){
 .cart-design-controls {display:grid;grid-template-columns:minmax(0,1fr);}
 .cart-quantity-section {grid-template-columns:1fr auto;align-items:center;}
 .cart-design-actions {display:grid;grid-template-columns:minmax(0,1fr) 75px;}
}
