.cart-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
  align-items:start;
  margin-top:24px
}
.cart-overview {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap
}
.cart-overview-total {
  display:flex;
  gap:24px;
  margin-left:auto
}
.cart-quantity-button {
  min-width:34px
}
.cart-overview-pricing {
  display:flex;
  flex-direction:column;
  gap:4px;
  text-align:right
}
.cart-total-savings {
  color:#166534;
  font-weight:600
}
.rental-original-price {
  color:var(--site-muted,#647067);
  font-size:.875rem;
  font-weight:400
}
.rental-line-list {
  list-style:none;
  margin:0;
  padding:0
}
.rental-line {
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px 0;
  border-bottom:1px solid var(--color-box-border,#e4e7e6)
}
.rental-line:last-child {
  border-bottom:0
}
.cart-items .rental-line {
  padding:20px
}
.rental-line-image {
  display:block;
  width:76px;
  height:76px;
  object-fit:contain;
  flex-shrink:0
}
.rental-line-image img {
  width:100%;
  height:100%;
  object-fit:contain
}
.rental-line-description {
  flex:1;
  min-width:0
}
.rental-line-name {
  font-weight:600
}
.rental-line-price {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  white-space:nowrap
}
.rental-quantity {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px
}
.checkout-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:start
}
.checkout-summary h2 {
  margin:24px 0 16px
}
.rental-summary-facts {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  padding:16px;
  background:#f6f8f6;
  border-radius:var(--radius-control,.55rem)
}
.rental-summary-facts dt {
  color:#647067;
  font-size:.8rem
}
.rental-summary-facts dd {
  font-weight:600;
  margin:4px 0 0
}
.checkout-totals {
  margin:24px 0 16px
}
.checkout-totals>div {
  display:flex;
  gap:16px;
  justify-content:space-between;
  margin:12px 0
}
.checkout-totals dd {
  margin:0;
  white-space:nowrap
}
.checkout-grand-total {
  border-top:1px solid var(--color-box-border,#e4e7e6);
  padding-top:16px;
  font-size:1.2rem;
  font-weight:700
}
.checkout-policy {
  font-size:.875rem;
  color:#647067;
  line-height:1.6
}
.checkout-pay {
  width:100%;
  margin-top:16px
}
.checkout-pay[hidden] {
  display:none!important
}
.rental-agreement {
  margin-top:24px
}
.empty-cart {
  padding:32px
}
.empty-cart h2 {
  margin:0 0 24px
}
@media(max-width:900px) {
  .checkout-layout {
    grid-template-columns:1fr
  }
  .cart-layout {
    grid-template-columns:minmax(0,1fr) 280px
  }
  .rental-line {
    gap:12px
  }
  .rental-line-image {
    width:56px;
    height:56px
  }
}
@media(max-width:650px) {
  .cart-layout {
    grid-template-columns:1fr
  }
  .cart-overview {
    gap:16px
  }
  .cart-overview-total {
    width:100%;
    margin:0;
    justify-content:space-between
  }
  .cart-overview #checkout {
    width:100%
  }
  .cart-items .rental-line {
    padding:16px;
    flex-wrap:wrap
  }
  .rental-line-description {
    min-width:130px
  }
  .rental-line-price {
    margin-left:auto
  }
}

.checkout-pickup-header {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 20px;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--site-line);
}
.checkout-pickup-header .checkout-info { margin-bottom: 0; min-width: 0; }
.checkout-pickup-header .checkout-info p { overflow-wrap: anywhere; }
.pickup-choice-list { flex-direction: column; gap: 10px; }
.pickup-choice-list .pickup-choice {
  padding: 12px;
  gap: 10px;
  align-items: flex-start;
  border-width: 1px;
}
.pickup-choice-icon { flex-shrink: 0; margin-top: 2px; color: var(--site-muted); }
.pickup-choice-copy { flex: 1; min-width: 0; }
.pickup-choice-copy strong { display: block; font-size: 13px; line-height: 1.4; }
.pickup-choice-copy > span { display: block; margin-top: 5px; font-size: 12px; line-height: 1.5; color: var(--site-muted); }
.pickup-choice-indicator { width: 14px; height: 14px; flex-shrink: 0; margin-top: 3px; border: 1px solid #b6bfba; border-radius: 50%; }
.pickup-choice[aria-checked="true"] .pickup-choice-icon { color: var(--color-accent); }
.pickup-choice[aria-checked="true"] .pickup-choice-indicator { border: 4px solid var(--color-accent); }
.authorized-pickup { padding-bottom: 24px; border-bottom: 1px solid var(--site-line); }
.authorized-pickup legend { font-size: 1rem; font-weight: 600; margin-bottom: 16px; }
@media (max-width: 550px) {
  .checkout-pickup-header { grid-template-columns: 1fr; }
}

/* Compact code entry and item-level savings in the checkout summary. */
.checkout-discount-codes { margin-top: 24px; }
.discount-code-entry { display: flex; align-items: stretch; gap: 10px; }
.discount-code-entry input { min-width: 0; flex: 1; padding: 12px 14px; border: 1px solid var(--site-line, #dfe3e8); border-radius: var(--radius-control, .55rem); background: #fff; }
.discount-code-entry input:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.discount-code-entry button { flex-shrink: 0; }
.discount-code-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.discount-code-tag { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 5px 10px; margin: 0; border-radius: 6px; background: #f0f2f1; font-size: .875rem; overflow-wrap: anywhere; }
.discount-code-tag > span { min-width: 0; }
.discount-code-remove { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 28px; min-height: 28px; border: 0; background: transparent; color: var(--site-muted, #647067); font-size: 1.4rem; cursor: pointer; }
.discount-code-remove:hover { color: #222; }
.discount-code-remove:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; border-radius: 3px; }
.discount-code-feedback { margin: 8px 0 0; color: var(--site-muted, #647067); font-size: .85rem; overflow-wrap: anywhere; }
.checkout-item-image { position: relative; flex-shrink: 0; }
.checkout-item-image .rental-line-image { border: 1px solid var(--site-line, #dfe3e8); border-radius: 10px; padding: 5px; }
.checkout-item-quantity { position: absolute; top: -8px; right: -8px; display: flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 5px; border-radius: 20px; background: #444; color: #fff; font-size: .75rem; font-weight: 600; }
.checkout-item-discount { display: flex; align-items: baseline; gap: 6px; margin-top: 5px; color: var(--site-muted, #647067); font-size: .8rem; line-height: 1.4; overflow-wrap: anywhere; }
.checkout-item-discount > svg { flex-shrink: 0; }
.checkout-total-savings { display: flex; align-items: center; gap: 8px; margin: 0 0 20px; font-size: .95rem; }
@media (max-width: 400px) {
  .checkout-summary-line { flex-wrap: wrap; }
  .checkout-summary-line .rental-line-description { flex-basis: calc(100% - 80px); }
  .checkout-summary-line .rental-line-price { margin-left: auto; }
}
