/* Night Desk: shared cart, wishlist and shipping world. */
html { scrollbar-color: #8971ad #171321; scroll-padding-top: 95px; }
::selection { background: #bca3e9; color: #181426; }
body.night-cart { --checkout-art: url('/assets/checkout-scenes/cart-record-shop.webp'); }
body.night-wishlist { --checkout-art: url('/assets/checkout-scenes/wishlist-platform.webp'); }
body.night-shipping { --checkout-art: url('/assets/checkout-scenes/checkout-dispatch.webp'); }
body {
  background: linear-gradient(#15102073, #151020b3), var(--checkout-art) center / cover fixed, #151020;
  background-attachment: fixed;
}
:focus-visible { outline: 3px solid #bca3e9; outline-offset: 4px; }
.shop-header { background: #100d19; color: #f5ecdf; border-bottom: 1px solid #50435f; }
.shop-back, .shop-cart { color: inherit; }
.shop-home-mascot { margin-right: 18px; }
.shop-home-mascot::before, .catalog-kicker { display: none; }
.shop-end, .shop-sendoff { background: transparent; }
.shop-sendoff-line { color: #ede1f8; }
.shop-footer { background: #100d19e8; }
.checkout-main, .cart-main {
  padding: 52px max(24px, calc((100vw - 1280px) / 2)) 90px;
  background: transparent;
  color: #f5eee5;
}
.checkout-main { display: block; }
.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  gap: 38px;
  align-items: start;
  width: 100%;
}
.checkout-intro, .fulfillment-form { max-width: none; width: 100%; margin: 0; }
.checkout-layout > .checkout-intro, .checkout-layout > .fulfillment-form,
.checkout-layout > .wishlist-flow { grid-row: auto; grid-column: auto; }
.checkout-intro { padding: 24px; background: #151020bd; border: 1px solid #675274; }
.checkout-intro h1, .cart-title h1 {
  font-size: clamp(3.3rem, 5.3vw, 5rem);
  line-height: .98;
  color: inherit;
  transform: none;
  text-shadow: none;
  letter-spacing: -.02em;
}
.checkout-intro > p:last-of-type, .cart-title > p:last-of-type {
  font-size: 16px; line-height: 1.65; color: #d2c6df;
  max-width: 52ch; margin: 25px 0 0;
}
.fulfillment-form { background: #21192ef5; color: #f3eaf8; padding: 32px; border: 1px solid #685775; box-shadow: none; }
.form-title { font: 32px/1.1 var(--font-display); margin: 0 0 24px; }
.merch-shipping-title { font-size: 21px; }
.fulfillment-panel { padding: 0; border: 0; background: transparent; }
.contact-grid { gap: 18px; }
.contact-grid input, .fulfillment-panel select {
  background: #17111f; border: 1px solid #806b91; color: #f3eaf8;
  min-height: 50px; font-size: 16px; box-shadow: none; caret-color: #c5a8e2;
}
.contact-grid input::placeholder { color: #bcaaca; opacity: 1; }
.field-name { font-size: 13px; letter-spacing: 0; text-transform: none; }
.field-flag { font-size: 11px; }
.field-legend { font-size: 12px; }
.field-legend, .field-flag, .field-hint, .fulfillment-panel > p { color: #d7c9e2; }
.checkout-summary { border-top: 1px solid #786389; }
.checkout-summary p { border-color: #675575; font-size: 14px; }
.checkout-submit, .checkout-link {
  background: #c5a8e2; color: #20152d; border: 0; box-shadow: none;
  min-height: 58px; font-size: 23px;
}
.checkout-submit:hover, .checkout-link:hover { background: #dcc7ee; color: #20152d; }
.checkout-submit:disabled { opacity: .55; cursor: wait; }
.checkout-ship-disclaimer { background: #33253e; color: #e5d6ee; border: 0; padding: 18px; margin-top: 24px; }
.checkout-ship-disclaimer p { font-size: 12px; line-height: 1.6; }
.checkout-status:not(:empty) { background: #e1d3ed; color: #241631; border: 1px solid #9c84b4; }
.field-error, .checkout-error, .checkout-summary .checkout-sold-through { color: #ffc3c7; }
.contact-grid input[aria-invalid='true'], .fulfillment-panel select[aria-invalid='true'] { border-color: #ffc3c7; }
.fulfillment-form .remove-line { color: #e3c5f7; }
.comic-shelf-section { max-width: 1280px; margin: 60px auto 0; }
.comic-shelf-head { padding: 22px; background: #151020cf; }
.comic-shelf-head h2 { color: inherit; }
.comic-shelf-head p { color: #d2c6df; }
.comic-shelf { background: #241c32; }
.cart-title { margin: 0 0 32px; max-width: none; padding: 10px 0 30px; background: none; color: #f5eee5; }
.cart-title h1 { font-size: 4rem; text-shadow: 0 3px 18px #10091e; }
.cart-title > p:last-of-type { color: #f1e7fa; max-width: 460px; }
.cart-lines, .cart-checkout { max-width: none; }
.cart-line { background: #f3eddf; color: #181426; border: 0; border-bottom: 1px solid #bcb1c3; padding: 12px 22px; margin: 0; box-shadow: none; }
.cart-line-art { box-shadow: none; min-height: 90px; height: 90px; }
.cart-checkout { border: 1px solid #675274; box-shadow: none; background: #251b35; color: #f5eee5; margin-top: 20px; }
.cart-checkout > div { color: inherit; }
.cart-empty { background: #21192ef5; color: #f3eddf; }
.cart-empty a { color: #20152d; background: #c5a8e2; }
.wishlist-flow { min-width: 0; }
.wishlist-methods { display: grid; gap: 0; margin-bottom: 28px; border: 1px solid #806b91; background: #21192ef5; color: #f3eaf8; }
.wishlist-methods > section { padding: 26px; margin: 0; max-width: none; border: 0; box-shadow: none; background: transparent; }
.wishlist-methods > section + section { border-top: 1px solid #806b91; }
.wishlist-methods h2 { font: 28px/1.1 var(--font-display); color: #f3eaf8; margin: 0 0 12px; }
.wishlist-methods p, .wishlist-methods .wishlist-share > p { color: #e1d3ec; font-size: 14px; line-height: 1.55; margin: 0 0 18px; max-width: 60ch; }
.wishlist-methods .checkout-submit { font-size: 21px; }
.wishlist-methods .wishlist-save-note { font-size: 12px; margin: 12px 0 0; }
.wishlist-methods .checkout-status:not(:empty) { color: #241631; margin-top: 18px; }
.wishlist-share-link a { overflow-wrap: anywhere; }
.wishlist-share-code strong { color: #f3eaf8; }
#wishlistForm, #sharePanel { scroll-margin-top: 95px; }
@media (min-width: 760px) {
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid-wide { grid-column: 1 / -1; }
}
@media (max-width: 850px) {
  body { background-position: 58% center; }
  .checkout-main, .cart-main { padding: 28px 18px 55px; }
  .checkout-layout { grid-template-columns: 1fr; gap: 28px; }
  .checkout-intro { padding: 22px; }
  .checkout-intro > p:last-of-type { font-size: 14px; margin-top: 18px; }
  .fulfillment-form { padding: 23px; }
  .cart-title { padding: 12px 0 24px; }
  .cart-line { padding: 12px 15px; }
  .wishlist-methods > section { padding: 23px; }
  .shop-header { padding: 8px 16px; }
  .shop-home-mascot { margin-right: 4px; }
  .shop-cart-group { gap: 12px; }
}
/* Keep the QR quiet zone without the retired comic block shadow. */
.wishlist-share-qr svg, .wishlist-share-qr-canvas { box-shadow: none; }
