.bag-main{max-width:1180px;padding:0 28px 36px}
.bag-page-heading{padding:38px 0 30px}
.bag-page-heading .eyebrow{margin-bottom:9px}
.bag-page-heading h1{font:500 clamp(34px,4vw,48px)/1.15 "Schoolbell",sans-serif;letter-spacing:-1.8px;margin:0}
.bag-page-heading h1 span{color:var(--rose)}
.bag-page-heading p{font-size:13px;color:var(--muted);margin:10px 0 0}
.bag-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.bag-items-panel,.order-summary{background:rgba(255,249,239,.72);border:1px solid var(--line);border-radius:20px}
.bag-items-panel{padding:0 22px 18px;min-width:0}
.bag-table-head{display:grid;grid-template-columns:minmax(0,1fr) 125px 100px 70px;gap:12px;align-items:center;padding:17px 0 14px;border-bottom:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.bag-table-head span:nth-child(n+2){text-align:center}
.bag-item{display:grid;grid-template-columns:minmax(0,1fr) 125px 100px 70px;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.bag-product{display:flex;align-items:center;gap:15px;min-width:0}
.bag-product-image{width:88px;height:88px;flex:0 0 88px;border-radius:15px;background:#fff;border:1px solid rgba(216,201,180,.55);overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:27px}
.bag-product-image img{width:100%;height:100%;object-fit:contain}
.bag-product-copy{min-width:0}
.bag-product-copy h3{font:500 17px/1.35 "Schoolbell",sans-serif;margin:0 0 5px;overflow-wrap:anywhere}
.bag-product-copy p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}
.bag-unit-price{display:none}
.bag-quantity{display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid var(--line);border-radius:999px;background:var(--white);padding:4px 7px;width:max-content;margin:auto}
.bag-quantity button{border:0;background:transparent;width:24px;height:24px;border-radius:50%;font-size:17px;color:var(--ink);display:grid;place-items:center}
.bag-quantity button:hover{background:var(--cream)}
.bag-quantity output{font-size:12px;font-weight:700;min-width:12px;text-align:center}
.bag-line-total{text-align:center;font-size:14px;font-weight:700;white-space:nowrap}
.bag-remove{border:0;background:transparent;color:#9a7774;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:8px}
.bag-remove:hover{color:#9e5365}

.order-summary{padding:22px;position:sticky;top:112px}
.order-summary h2{font:500 20px "Schoolbell",sans-serif;margin:0 0 22px}
.summary-row,.summary-total{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;font-size:12px;margin:13px 0}
.summary-row strong,.summary-total strong{font-size:13px}
.summary-shipping span:last-child{font-size:10px;color:var(--muted);text-align:right;max-width:145px}
.summary-divider{height:1px;background:var(--line);margin:19px 0}
.summary-total{align-items:center;font-size:13px;margin:0}
.summary-total strong{font-size:20px}
.summary-note{font-size:10px;line-height:1.65;color:var(--muted);margin:17px 0}
.bag-checkout-button{width:100%;min-height:48px;font-size:11px}
.bag-checkout-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}

.bag-empty{min-height:250px;display:grid;place-content:center;text-align:center;padding:35px 12px}
.bag-empty-mark{font-size:48px;color:var(--rose);line-height:1}
.bag-empty h2{font:500 23px "Schoolbell",sans-serif;margin:13px 0 6px}
.bag-empty p{font-size:12px;color:var(--muted);margin:0 0 18px}
.bag-empty .btn{display:inline-flex;margin:auto}
.bag-loading{text-align:center;padding:55px 12px;color:var(--muted);font-size:12px}
.bag-related{padding:68px 0 22px}
.bag-related .related-heading{margin-bottom:25px}
.bag-related .related-products{grid-template-columns:repeat(4,minmax(0,1fr))}
.bag-related .related-card-image{background:rgba(255,249,239,.8)}
.bag-page footer{margin-top:20px}
.bag-nav{position:relative;min-height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.bag-back-button{grid-column:1;justify-self:start}
.bag-centered-logo{grid-column:2;justify-self:center;text-align:center;width:max-content;max-width:none}
.bag-centered-logo .brand-logo-image{width:176px;height:88px;max-height:74px}
.bag-centered-logo span{padding-left:0}
.bag-nav .nav-actions{grid-column:3;justify-self:end}
.bag-nav .icon-btn svg{width:27px;height:27px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.bag-layout{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.bag-items-panel{padding-left:16px;padding-right:16px}.bag-table-head,.bag-item{grid-template-columns:minmax(0,1fr) 105px 85px 58px;gap:8px}.bag-product-image{width:74px;height:74px;flex-basis:74px}.bag-product{gap:11px}}
@media(max-width:700px){
 .bag-main{padding:0 15px 28px}.bag-page-heading{padding:27px 0 22px}.bag-page-heading h1{font-size:34px}.bag-layout{display:flex;flex-direction:column;gap:15px}.bag-items-panel{width:100%;padding:0 14px 15px;border-radius:17px}.bag-table-head{display:none}.bag-item{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:15px 0;position:relative}.bag-product{grid-column:1;grid-row:1 / span 2;align-self:start;gap:11px}.bag-product-image{width:82px;height:82px;flex-basis:82px;border-radius:13px}.bag-product-copy h3{font-size:15px}.bag-product-copy p{font-size:10px}.bag-unit-price{display:block;font-size:10px;color:var(--muted);margin-top:4px}.bag-quantity{grid-column:2;grid-row:1;justify-self:end;gap:7px;padding:3px 5px}.bag-line-total{grid-column:2;grid-row:2;text-align:right;font-size:12px;align-self:start}.bag-remove{position:absolute;right:0;bottom:10px;font-size:10px;padding:3px 0}.bag-continue-link{margin-top:15px}.order-summary{width:100%;position:static;padding:19px;border-radius:17px}.order-summary h2{margin-bottom:16px}.summary-row{margin:11px 0}.summary-note{margin:14px 0}.bag-related{padding:47px 0 10px}.bag-related .related-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.bag-related .related-card h3{font-size:14px}.bag-nav{min-height:68px}.bag-page footer{margin-top:12px}
}
@media(max-width:390px){.bag-page-heading h1{font-size:30px}.bag-product-image{width:68px;height:68px;flex-basis:68px}.bag-product-copy h3{font-size:13px}.bag-item{gap:8px}.bag-quantity{gap:4px}.bag-quantity button{width:22px;height:22px}}

/* Bag-page recommendations stay compact instead of inheriting full-size product imagery. */
.bag-related{padding:42px 0 18px}
.bag-related .related-heading{margin-bottom:18px}
.bag-related .related-heading h2{font-size:clamp(23px,2.5vw,30px);margin:7px 0 5px}
.bag-related .related-heading p{font-size:12px;margin:0;color:var(--muted)}
.bag-related .related-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.bag-related .related-card{display:block;min-width:0}
.bag-related .related-card-image{width:100%;aspect-ratio:1/1;max-height:260px;background:rgba(255,249,239,.8);border:1px solid var(--line);border-radius:15px;overflow:hidden;display:grid;place-items:center;color:#bbaea0}
.bag-related .related-card-image img{display:block;width:100%;height:100%;object-fit:contain}
.bag-related .related-card h3{font:500 14px/1.4 "Schoolbell",sans-serif;margin:9px 0 3px}
.bag-related .related-card>span{font-size:12px;font-weight:700}
.bag-wishlist-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bag-wishlist-button .cart-count{right:-3px;top:-4px}
@media(max-width:700px){
 .bag-related{padding:34px 0 10px}
 .bag-related .related-heading{margin-bottom:14px}
 .bag-related .related-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
 .bag-related .related-card-image{max-height:none;border-radius:13px}
 .bag-related .related-card h3{font-size:13px;margin-top:8px}
}

@media(max-width:760px){.bag-nav .icon-btn svg{width:25px;height:25px}}

@media(max-width:760px){.bag-centered-logo .brand-logo-image{width:136px;height:68px;max-height:62px}}

/* A single bag item does not need a trailing divider; keep separators between multiple items. */
.bag-items.single-item .bag-item{border-bottom:0}
.bag-items.multiple-items .bag-item:last-child{border-bottom:0}
/* Recommendations use the same product-title scale as the home catalogue. */
.bag-related .related-card h3{font-size:17px!important;line-height:1.4}
.bag-related .related-heading h2{font:500 clamp(29px,4vw,40px)/1.15 "Schoolbell",sans-serif;margin:0}
.related-heart{color:var(--rose);font-family:"Schoolbell",sans-serif;font-weight:400}
@media(max-width:700px){.bag-related .related-card h3{font-size:17px!important}}

/* Tablet-width bag layout: stack the summary below the items before the
   four-column item grid becomes too narrow and forces product names to wrap
   one character per line. */
@media (min-width:701px) and (max-width:900px){
  .bag-layout{grid-template-columns:minmax(0,1fr);gap:18px}
  .bag-items-panel{width:100%;min-width:0}
  .order-summary{position:static;width:100%;top:auto}
  .bag-item{grid-template-columns:minmax(0,1fr) 105px 85px 58px;gap:8px}
  .bag-product-copy{min-width:0}
  .bag-product-copy h3{overflow-wrap:break-word;word-break:normal}
}
