.site-header .cart-toggle { align-items: center; background: transparent; border: 0; color: #344054; cursor: pointer; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; padding: 0; position: relative; }
.site-header .cart-toggle svg { fill: none; height: 24px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 24px; }
.site-header .cart-toggle span { align-items: center; background: #d92d20; border-radius: 999px; color: #fff; display: inline-flex; font-size: 10px; font-weight: 700; height: 17px; justify-content: center; min-width: 17px; position: absolute; right: -2px; top: 3px; }
.cart-overlay { background: rgb(16 24 40 / 28%); inset: 0; position: fixed; z-index: 80; }
.cart-drawer { background: #fff; box-shadow: -18px 0 48px rgb(16 24 40 / 18%); display: grid; grid-template-rows: auto 1fr auto; height: 100dvh; padding: 26px; position: fixed; right: 0; top: 0; width: min(420px, 100vw); z-index: 81; }
.cart-drawer[hidden], .cart-overlay[hidden] { display: none; }
.cart-drawer header, .cart-page-heading { align-items: center; display: flex; justify-content: space-between; }
.cart-drawer h2, .cart-page-heading h1 { color: #101828; font-size: 23px; margin: 0; }
.cart-drawer header button, .cart-page-heading button { background: transparent; border: 0; color: #344054; cursor: pointer; font-size: 32px; line-height: 1; padding: 0; }
.cart-drawer-items { display: grid; align-content: start; gap: 16px; overflow: auto; padding: 28px 0; }
.cart-drawer-item { border-bottom: 1px solid #eaecf0; display: grid; gap: 14px; grid-template-columns: 64px minmax(0, 1fr); padding-bottom: 16px; }
.cart-drawer-item img { height: 64px; object-fit: contain; width: 64px; }
.cart-drawer-item a, .cart-page-item a { color: #0759d8; font-size: 14px; font-weight: 700; text-decoration: none; }
.cart-drawer-item p, .cart-page-item p { color: #667085; font-size: 12px; line-height: 1.55; margin: 5px 0; }
.cart-drawer-item strong, .cart-page-item strong { color: #101828; display: block; font-size: 16px; }
.cart-drawer footer { border-top: 1px solid #dce2eb; display: grid; gap: 16px; padding-top: 18px; }
.cart-drawer footer > div, .cart-page-summary > div { align-items: baseline; display: flex; justify-content: space-between; }
.cart-drawer footer strong, .cart-page-summary strong { color: #101828; font-size: 22px; }
.cart-primary { align-items: center; background: #155eef; border: 1px solid #155eef; color: #fff; cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 700; justify-content: center; min-height: 44px; padding: 8px 18px; text-decoration: none; }
body.cart-open { overflow: hidden; }
.cart-page-heading { border-bottom: 1px solid #dce2eb; margin-bottom: 26px; padding-bottom: 18px; }
.cart-page-heading button { color: #667085; font-size: 13px; }
.cart-page-layout { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 300px; }
.cart-page-items { border: 1px solid #dce2eb; min-height: 260px; }
.cart-page-item { align-items: center; border-bottom: 1px solid #eaecf0; display: grid; gap: 18px; grid-template-columns: 80px minmax(0, 1fr) auto; padding: 20px; }
.cart-page-item:last-child { border-bottom: 0; }
.cart-page-item img { height: 80px; object-fit: contain; width: 80px; }
.cart-item-controls { align-items: center; display: flex; gap: 0; }
.cart-item-controls button, .cart-item-controls input { background: #fff; border: 1px solid #cfd7e2; color: #344054; font: inherit; height: 34px; text-align: center; }
.cart-item-controls button { cursor: pointer; min-width: 34px; }
.cart-item-controls input { border-inline: 0; width: 52px; }
.cart-item-controls button:last-child { border: 0; color: #d92d20; margin-left: 10px; width: auto; }
.cart-page-summary { border: 1px solid #dce2eb; display: grid; gap: 16px; padding: 20px; }
.cart-page-summary h2 { font-size: 18px; margin: 0; }
.cart-page-summary p { color: #667085; font-size: 12px; line-height: 1.6; margin: 0; }
.cart-page-summary .cart-primary { width: 100%; }
.cart-empty { color: #667085; margin: 0; padding: 24px; }
.product-cart-action { background: #fff; border: 1px solid #155eef; color: #155eef; cursor: pointer; font-size: 14px; font-weight: 700; margin-top: 10px; min-height: 42px; width: 100%; }
@media (max-width: 720px) { .cart-page-layout { grid-template-columns: 1fr; } .cart-page-summary { order: -1; } .cart-page-item { grid-template-columns: 58px minmax(0, 1fr); } .cart-page-item img { height: 58px; width: 58px; } .cart-item-controls { grid-column: 1 / -1; } }
