
/* ...existing code... */

/* Page background: dark purple gradient and white text */
body{
  background: linear-gradient(135deg, #2d1b4e 0%, #4a2c6b 50%, #5d3a7f 100%);
  min-height: 100vh;
  color: #ffffff !important;
}

/* Keep cards and content panels white/raised for contrast */
.card, .card-body, .box {
  background: rgba(255,255,255,0.98);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(10, 30, 60, 0.06);
}

/* ...existing code... */

/* Hide Radio button */
.rate > input{
  display: none;
}

.rate{
  display: inline-block;;
  border: 0;
}

.rate > label{
  float: right;
}

/* Showing the stars */
.rate > label:before{
  display: inline-block;
  font-size: 1.1rem;
  font-family: FontAwesome;
  content: "\f005";
  margin:0;
  padding:0.3rem .2rem;
  cursor: pointer;
}

/* Half star */
.rate .half:before{
  content: "\f089";
  position: absolute;
  padding-right: 0;
}

/* Click and hover */
input:checked ~ label, label:hover ~ label{
  color: #ffb503;
}

/* hover hightlight */
input:checked + label:hover, input:checked ~ label:hover,input:checked ~ label:hover ~ label,
label:hover ~ input:checked ~ label{
  color: #cc9000;
}

.rating-star i{
  color: #ffb503 !important;
}

ul.thumb{
  margin:0 auto;
  padding: 0;
  float: left;
}
ul.thumb li{
  list-style: none;
  margin: 10px;
}
ul.thumb li img{
  width: 80px;
  height: 80px;
  border: 1px solid grey;
}





/* ...existing code... */

html, body {
  background: linear-gradient(135deg, #2d1b4e 0%, #4a2c6b 50%, #5d3a7f 100%) !important;
  min-height: 100vh;
  color: #ffffff !important;
}

/* Text on white cards/areas should be dark */
.card, .card *,
.card-body, .card-body *,
.box, .box *,
table, table * {
  color: #212529 !important;
}

/* Navbar and footer keep white text */
.navbar, .navbar *,
.section-header, .section-header *,
.header-main, .header-main *,
.section-footer, .section-footer * {
  color: #ffffff !important;
}

/* Dropdown menus have dark text on white background */
.dropdown-menu, .dropdown-menu * {
  color: #212529 !important;
}

.dropdown-menu a:hover, .dropdown-item:hover {
  color: #ffffff !important;
  background-color: #3167eb !important;
}

/* All buttons have white text - highest priority */
.btn, .btn *,
.btn-primary, .btn-primary *,
.btn-outline-primary, .btn-outline-primary *,
button, button *,
a.btn, a.btn * {
  color: #ffffff !important;
}

/* Links in cards stay blue for visibility */
.card a:not(.btn), table a:not(.btn) {
  color: #3167eb !important;
}


/* Support tickets / chat styling */
.ticket-card {
  background: rgba(255,255,255,0.98);
  border-radius: 10px;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(10,30,60,0.06);
  border: 1px solid rgba(0,0,0,0.04);
}

.ticket-form .form-control,
.ticket-form .form-control-file {
  border-radius: 6px;
  padding: .6rem .75rem;
  border: 1px solid rgba(0,0,0,0.08);
}

.ticket-form .form-control:focus {
  box-shadow: 0 6px 18px rgba(30,144,255,0.12);
  border-color: #1e90ff;
  outline: none;
}

.ticket-form .btn {
  min-width: 140px;
}

.ticket-list .ticket-item {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid rgba(0,0,0,0.04);
}

.ticket-messages {
  max-height: 60vh;
  overflow-y: auto;
  padding: 8px;
  margin-bottom: 12px;
}

/* Message bubbles */
.msg {
  display: block;
  clear: both;
  margin: 10px 0;
  padding: 10px 14px;
  border-radius: 10px;
  max-width: 78%;
  line-height: 1.4;
  word-break: break-word;
  box-shadow: 0 6px 18px rgba(18, 38, 63, 0.04);
}

.msg .meta {
  font-size: 0.85rem;
  color: #6c757d;
  margin-bottom: 6px;
}

.msg.user {
  background: linear-gradient(90deg,#e8f4ff,#f3fbff);
  margin-left: auto;
  text-align: right;
}

.msg.admin {
  background: #ffffff;
  margin-right: auto;
  text-align: left;
}

/* Attached images */
.msg img {
  display: block;
  margin-top: 8px;
  max-width: 320px;
  max-height: 260px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.06);
}

/* Small screens tweaks */
@media (max-width: 767px) {
  .msg { max-width: 92%; }
  .ticket-form .btn { width: 100%; margin-top: 8px; }
}


/* ...existing code... */

/* Checkout page improvements */
.checkout-form .card {
  background: rgba(255,255,255,0.98);
  border-radius: 10px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(12,40,80,0.06);
  border: 1px solid rgba(0,0,0,0.04);
  margin-bottom: 18px;
}

.checkout-form .card .card-title {
  color: #0b5fa8;
  font-weight: 700;
  margin-bottom: 12px;
}

.billing-card .form-group label,
.personal-info-card .form-group label {
  font-weight: 600;
  color: #124e7a;
  font-size: 0.95rem;
}

.checkout-form .form-control {
  border-radius: 6px;
  padding: .55rem .7rem;
  border: 1px solid rgba(13,40,70,0.08);
}

.checkout-form .form-control:focus {
  border-color: #1e90ff;
  box-shadow: 0 6px 18px rgba(30,144,255,0.08);
  outline: none;
}

.personal-info-card h4 {
  margin-bottom: 16px;
}

/* Right column summary */
.checkout-summary .card {
  padding: 14px;
}

.table-shopping-cart .price {
  font-weight: 700;
  color: #0b3b66;
}

/* Buttons */
.checkout-form .btn-primary {
  background: linear-gradient(90deg,#007acc,#1e90ff);
  border: none;
  padding: .65rem 1rem;
  box-shadow: 0 8px 18px rgba(30,144,255,0.12);
}

/* Layout tweaks */
@media (min-width: 992px) {
  .checkout-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 22px;
    align-items: start;
  }
}

@media (max-width: 991px) {
  .checkout-form .btn { width: 100%; }
  .checkout-summary { margin-top: 12px; }
}

/* small polish */
.checkout-note { color: #6c757d; font-size: 0.95rem; margin-top:8px; }

/* ...existing code... */