.receiptprice td
{
	font-size: 70%;
	vertical-align: TOP;
}

.receiptprice tr
{
	border-bottom: 1px solid #cccccc;
}

.receiptprice td:nth-of-type(2)
{
	text-align: right;
}


.receiptgroup
{
	padding:6px;
}

.receiptoption {
	background-repeat: no-repeat;
	background-position: 0px 0px;
}



.receiptoption, .receiptgroupclear
{
	border: 2px solid #aaa;
	float: left;
	text-align:center;
	vertical-align:top;
	width: 138px;
	height:88px;
	padding:6px;
	margin: 5px;
}


.receiptgroupclear
{
	border: 2px solid #ddd;
	width:25px;
	vertical-align:bottom;
}

.receiptradio
{
	margin-top:auto;
}

.receiptgroup h2
{
	clear:both;
	font-weight:normal;
	font-size:12px;
	margin-top: 10px;
}


.receiptgroupclear h3
{
	margin-top:0px;
	padding-top:0px;
	height:65px;
}


.receiptoptiontext
{
	margin-top:0px;
	padding-top:0px;
	height:60px;
	font-size: 80%;
}

.receiptoptiontext h3
{
	margin-top:0px;
  padding-top:0px;
  letter-spacing:0px;
  color: black;
}

.receiptoptiontext h3 span, .receiptoptiontext span
{
 background:rgba(255,255,255,0.25);
 text-shadow: 3px 3px 3px #FFFFFF,   -3px -3px 3px #FFFFFF,   -3px 3px 3px #FFFFFF,   3px -3px 3px #FFFFFF,3px 3px 3px #FFFFFF,   -3px -3px 3px #FFFFFF,   -3px 3px 3px #FFFFFF,   3px -3px 3px #FFFFFF;
}
.receiptoptiontext span
{
	font-weight: bold;
}

.ui-widget
{
	font-size: inherit;
}

.tabs ul
{
	font-size: 70%;
}

.incomplete
{
	color: orange;
}

.error
{
	color: red;
}

.receiptoption.active
{
	border: 2px solid green;
}

.receiptoption.illegal
{
	border: 2px solid red;
}

.receiptoption.disabled
{
    opacity: 0.5; /* Makes the div semi-transparent */
    background-color: #f0f0f0; /* Light grey background */
}

.shipgroupmain
{
	border-bottom: 1px solid grey;
	padding: 0.5em;
}

.shipgroupdiv
{
	border: 1px solid grey;
	border-bottom: none;
	margin-bottom: 1.5em;
}

.shipgrouptitle
{
	border-bottom: 1px solid grey;
	padding: 0.5em;
}

/* ============================================
   DIV-based Cart Layout (replaces table.cart)
   ============================================ */

/* Cart Header */
.cart-header {
	margin-bottom: 1em;
}

.cart-header h2 {
	margin: 0.5em 0;
	font-size: 1.5em;
}

.cart-header-row {
	display: grid;
	grid-template-columns: 60px 1fr 100px 120px 120px 80px;
	gap: 10px;
	padding: 10px;
	background-color: #f5f5f5;
	border-bottom: 2px solid #333;
	font-weight: bold;
}

/* Cart Lines Container */
.cart-lines {
	border: 1px solid #ddd;
	border-top: none;
}

/* Individual Cart Line */
.cart-line {
	border-bottom: 1px solid #ddd;
}

.cart-line:hover {
	background-color: #f9f9f9;
}

/* Cart Row (one row per line) */
.cart-row {
	display: grid;
	grid-template-columns: 60px 1fr 100px 120px 120px 80px;
	gap: 10px;
	padding: 10px;
	align-items: start;
}

/* Cart Columns */
.cart-col-icon {
	width: 60px;
	text-align: center;
}

.cart-col-product {
	flex: 1;
	min-width: 200px;
}

.cart-col-qty {
	width: 100px;
	text-align: center;
}

.cart-col-price {
	width: 120px;
	text-align: right;
}

.cart-col-total {
	width: 120px;
	text-align: right;
	font-weight: bold;
}

.cart-col-position {
	width: 80px;
	text-align: center;
}

/* Cart Footer */
.cart-footer {
	padding: 1em;
	background-color: #f5f5f5;
	border-top: 2px solid #333;
}

.cart-admin-links {
	margin-bottom: 1em;
	font-size: 0.9em;
}

.cart-actions {
	text-align: right;
}

.cart-actions .button {
	padding: 10px 20px;
	font-size: 1em;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.cart-header-row,
	.cart-row {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.cart-col-icon,
	.cart-col-product,
	.cart-col-qty,
	.cart-col-price,
	.cart-col-total,
	.cart-col-position {
		width: auto;
		text-align: left;
	}
}
