    body, html { height: 100%; display: flex; flex-direction: column; }
	 main {
	  margin-top: 0.5rem !important;
	  padding-top: 0 !important;
	}
    footer { flex-shrink: 0; }

    .item-thumb { width: 50px; height: 75px; object-fit: cover; border-radius: 4px; margin-right: 12px; }
    .cart-summary { background: #f8f9fa; border-radius: 8px; padding: 0.75rem;}

    .qty-btn { width: 2rem; height: 2rem; font-size: 1rem; padding: 0.25rem 0.5rem;; }
    .empty-cart-msg { text-align: center; font-style: italic; color: #999; margin: 2rem 0; }
    .qty-controls .qty-btn { margin: 0 0.25rem; }
    .qty-controls span { margin: 0 0.25rem; }

    .btn-dark { background-color: #333 !important; border-color: #333 !important; }
    .btn-dark:hover { background-color: #555 !important; border-color: #555 !important; }
	
	h1, h3, h5 { margin-bottom: 0.75rem !important; margin-top: 0.5rem !important;}
    .form-label { font-size: 0.9rem; margin-bottom: 0.15rem !important; }
    .form-select-sm, .form-control-sm { padding: 0.3rem 0.5rem; font-size: 0.9rem; }
    .list-group-item {  padding: 0.5rem 0.75rem; }

    .cart-item-row {
      display: grid;
      grid-template-columns: 60px 2fr 1.2fr 1.2fr 1fr;
      gap: 0.5rem;
      align-items: center;
      font-size: 1rem;
    }
    .book-title { font-weight: 600; font-size: 1.1rem; }
    .book-format { font-size: 1rem; color: #333; }
    .qty-controls span { font-size: 1.1rem; }
    .price { font-weight: bold; font-size: 1.05rem; text-align: right; }

	@media (max-width: 576px) {
	  .w-sm-auto {
		width: 100% !important;
	  }

	  .cart-item-row {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	  }

	  .cart-item-row img {
		margin-right: 0;
	  }

	  .price {
		text-align: left;
		width: 100%;
	  }

	  .sticky-confirm {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 999;
		background: #fff;
		padding: 0.75rem 1rem;
		border-top: 1px solid #ccc;
		text-align: center;
	  }
	}

	@media (min-width: 577px) {
	  .w-sm-auto {
		width: auto !important;
	  }
	}
	@media (max-width: 576px) {
	  #discountWrapper {
		flex-direction: column;
		align-items: stretch;
	  }
	  #discountWrapper input, #discountWrapper button {
		width: 100%;
	  }
	}
	@media (min-width: 768px) {
	  #addMoreSection .row {
		flex-wrap: nowrap;
	  }
	}
	main.container {
	  padding-top: 1rem !important;
	  padding-bottom: 2rem !important;
	}
