:root{
  --theme-blue:#2d465e;
  --ink:#2d465e;
  --muted:#6f6b78;
  --border:rgba(0,0,0,.08);
}

.cart-title{ color:var(--ink); font-weight:700; }

/* Table */
.cart-table thead th{
  color:var(--theme-blue);
  font-weight:550;
  border-bottom:1px solid var(--border) !important;
}
.cart-table tbody tr + tr td{
  border-top:1px solid var(--border) !important;
}
.cart-table tfoot th{
  border-top:1.5px solid var(--border) !important;
  color:var(--ink);
  font-weight:700;
}

/* Thumb + title */
.cart-thumb{
  width:75px;
  height:75px;
  object-fit:cover;
  border-radius:5px;
  box-shadow:0 0 0 1px rgba(0,0,0,.05) inset;
}
.cart-item-title{ color:var(--ink); }

/* Price */
.cart-price{
     color:var(--ink)!important; 
     font-weight:700; 
    }

/* Waitlist */
.text-waitlist{ color:var(--theme-blue) !important; }
.badge-waitlist{
  background:var(--theme-blue);
   color:#fff; 
   font-weight:600; 
   border-radius:5px;
}
.seat-info{ color:var(--muted); }
.seat-info.is-warn{ color:#b58500; font-weight:600; }
.seat-info.is-wait{ color:var(--theme-blue); font-weight:600; }

/* Qty steppers (using your original inputs) */
.qty-group{
  border:1px solid var(--border);
  border-radius:999px; overflow:hidden; width:160px; margin:0 auto;
}
.qty-group .btn{ border:0; background:transparent; }
.btn.btn-outline-neutral{ border-color:transparent !important; }
.qty-group .form-control{
  border:0 !important; box-shadow:none !important; font-weight:600;
}

/* Proceed button in theme blue */
.proceed-btn{
  background:var(--theme-blue); border-color:var(--theme-blue);
}
.proceed-btn:hover{
  background:#162b6a; border-color:#162b6a;
}

/* Remove fade */
.row-removing{ background:#fff1f1 !important; }

/* Responsive */
@media (max-width: 992px){
  .cart-table thead{ display:none; }
  .cart-table tbody tr{
    display:grid; grid-template-columns: 1fr; gap:.5rem;
    padding:.75rem 0;
  }
  .cart-table td{
    border:0 !important; padding:.25rem 0;
  }



 
}

 .cart-remove-btn{
    /* position:absolute;  */
    /* top:8px; right:8px;  */
    color:var(--theme-blue)
  }


  /* Add a bit of breathing space between rows */
.cart-table tbody tr {
  border-radius: 8px;
  transition: background-color 0.2s ease;
}

/* Slight extra padding for height */
.cart-table td, 
.cart-table th {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

/* Light hover highlight for a cleaner feel */
.cart-table tbody tr:hover {
  background-color: rgba(46, 70, 94, 0.04); /* subtle blue-gray tint */
}

/* Optional subtle row separation */
.cart-table tbody tr + tr {
  border-top: 1px solid rgba(0,0,0,.04) !important;
}

/* Optional: smooth spacing under the image/title section */
.cart-thumb {
  margin-top: 4px;
  margin-bottom: 4px;
}

/* Make delete icon cleaner & aligned */
.cart-remove-btn {
  color: var(--theme-blue);
  opacity: 0.8;
  transition: opacity 0.2s ease;
}
.cart-remove-btn:hover {
  opacity: 1;
}

/* Pill border tag for item type (Training / Seminar etc.) */
.item-type-tag {
  display: inline-block;
  padding: 2px 10px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--theme-blue);
  border: 1px solid var(--border);
  border-radius: 5px;
  text-transform: capitalize;
  background: transparent;
}

/* Optional hover or subtle background */
.item-type-tag:hover {
  background-color: rgba(45, 70, 94, 0.06);
}

/* Adjust vertical spacing under image area */
.cart-thumb {
  margin-top: 4px;
  margin-bottom: 4px;
}


.cart-table {
  table-layout: fixed;
  width: 100%;
}

.cart-table th,
.cart-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Optional: give certain columns a minimum width */
.cart-table th:nth-child(1),
.cart-table td:nth-child(1) { width: 30%; } /* Item */
.cart-table th:nth-child(2),
.cart-table td:nth-child(2) { width: 10%; } /* Regular */
.cart-table th:nth-child(3),
.cart-table td:nth-child(3) { width: 10%; } /* Discounted */
.cart-table th:nth-child(4),
.cart-table td:nth-child(4) { width: 13%; } /* Regular Pax */
.cart-table th:nth-child(5),
.cart-table td:nth-child(5) { width: 13%; } /* Discounted Pax */
.cart-table th:nth-child(6),
.cart-table td:nth-child(6) { width: 12%; } /* Total */
.cart-table th:nth-child(7),
.cart-table td:nth-child(7) { width: 5%; }  /* Delete */


/* Light red background for waitlisted rows */
.cart-table tbody tr.is-waitlisted-row,
.cart-table tbody tr.is-waitlisted-row > td,
.cart-table tbody tr.is-waitlisted-row > th {
  background-color: #fff3cd !important; /* soft light red */
  

}

/* Optional: slightly stronger on hover for clarity */
.cart-table tbody tr.is-waitlisted-row:hover,
.cart-table tbody tr.is-waitlisted-row:hover > td,
.cart-table tbody tr.is-waitlisted-row:hover > th {
  background-color: #fae09a !important;
 

}
#waitlistAlert {
  margin-bottom: 0.5rem; /* adds small space below */
  padding-bottom: 0.75rem; /* adds soft inner spacing */
}
@media (max-width: 992px){
  .cart-table tbody tr.is-waitlisted-row {
    border-left: 4px solid #d6bc73; /* subtle cue */
    border-radius: 8px;
  }
}

/* one shared reserved space */
.cart-alert-wrapper {
  min-height: 52px;          /* match alert height */
  position: relative;
}

/* smooth fade for either alert */
.cart-alert-wrapper .alert {
  position: absolute;
  top: 0; left: 0; right: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
  margin: 0;
}

.cart-alert-wrapper .alert:not(.d-none) {
  opacity: 1;
  visibility: visible;
  position: relative; /* restore flow when visible */
}

/* 🔴 Highlight the whole qty cell (both buttons + input) */
.qty-group.qty-error {
  border: 1px solid #dc2626 !important;
  border-radius: 6px;
  box-shadow: 0 0 0 .2rem rgba(220,38,38,.15) !important;
}

.qty-group.qty-error .btn,
.qty-group.qty-error .form-control {
  border-color: #dc2626 !important;
  color: #dc2626;
}

.qty-group.qty-error .form-control {
  background: #fff5f5;
}

/* optional: soften hover */
.qty-group.qty-error .btn:hover {
  background: rgba(220,38,38,0.1);
}
