/* Teg Stripe Store Lite - minimal layout helpers (no color overrides) */
.teg-ssl-buybox{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.teg-ssl-buybox .teg-ssl-row{
  width:100%;
}
.teg-ssl-qtybox{
  display:flex;
  align-items:center;
  gap:8px;
}
.teg-ssl-qtybox input[type="number"]{
  width:90px;
  max-width:100%;
}
#teg-ssl-toast{
  z-index:999999;
}

/* --- Cart tables (fixed colors; no hover change) --- */
.teg-ssl-cart-table,
.teg-ssl-cart-total-table,
.teg-ssl-cart-summary-table{
  width:100%;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  border:1px solid #666 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:#fff !important;
  color:#333 !important;
  filter:none !important;
}
.teg-ssl-cart-table th,.teg-ssl-cart-table td,
.teg-ssl-cart-total-table th,.teg-ssl-cart-total-table td,
.teg-ssl-cart-summary-table th,.teg-ssl-cart-summary-table td{
  padding:8px 10px;
  vertical-align:middle;
  text-align:center;
  border:1px solid #666 !important;
  border-radius:0 !important;
  transition:none !important;
  box-shadow:none !important;
}
.teg-ssl-cart-table thead th{
  background:#dddddd !important;
  color:#333 !important;
  position:relative;
}
/* Header vertical separators (requested as white) */
.teg-ssl-cart-table thead th:not(:last-child)::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:1px;
  height:100%;
  background:#ffffff;
}
.teg-ssl-cart-table tbody td{
  background:#fff !important;
  color:#333 !important;
}
.teg-ssl-cart-summary-table th,
.teg-ssl-cart-total-table th{
  background:#dddddd !important;
  color:#333 !important;
  font-weight:600;
}
.teg-ssl-cart-summary-table td,
.teg-ssl-cart-total-table td{
  background:#fff !important;
  color:#333 !important;
}
/* Disable any theme hover effects */
.teg-ssl-cart-table tbody tr:hover > td{background:#fff !important;color:#333 !important;box-shadow:none !important;}
.teg-ssl-cart-table thead tr:hover > th{background:#dddddd !important;color:#333 !important;box-shadow:none !important;}
.teg-ssl-cart-summary-table tr:hover > th,
.teg-ssl-cart-total-table tr:hover > th{background:#dddddd !important;color:#333 !important;box-shadow:none !important;}
.teg-ssl-cart-summary-table tr:hover > td,
.teg-ssl-cart-total-table tr:hover > td{background:#fff !important;color:#333 !important;box-shadow:none !important;}
.teg-ssl-cart-td-qty .teg-ssl-cart-qty-wrap{justify-content:center;}

/* --- Cart totals wrapper --- */
.teg-ssl-cart-total-wrap{display:inline-block;}
.teg-ssl-cart-total-table,
.teg-ssl-cart-summary-table{width:auto;}
.teg-ssl-cart-total-value strong{font-size:1.1em;}

/* Totals: left-align labels, right-align amounts */
.teg-ssl-cart-total-table th,
.teg-ssl-cart-summary-table th{
  text-align:left !important;
}
.teg-ssl-cart-total-table td,
.teg-ssl-cart-summary-table td{
  text-align:right !important;
}

/* Fixed-width money (prevents layout collapse/expansion; keeps ¥ even for 0) */
.teg-ssl-money-fixed{
  display:inline-block;
  width:9ch;
  text-align:right;
  white-space:nowrap;
  font-variant-numeric: tabular-nums;
}

.teg-ssl-cart-empty-row td{
  padding:14px 10px;
  text-align:center;
  color:#666;
}

/* --- Mobile cart: show cards, hide table --- */
.teg-ssl-cart-mobile{display:none;}

@media (max-width: 767px){
  .teg-ssl-cart-table{display:none !important;}
  .teg-ssl-cart-mobile{display:block !important;}

  .teg-ssl-cart-card{
    border:1px solid #666 !important;
    border-radius:0 !important;
    padding:10px;
    margin:0 0 12px 0;
    background:#fff !important;
    color:#333 !important;
  }
  .teg-ssl-cart-card-name{
    font-weight:600;
    margin:0 0 10px 0;
  }
  .teg-ssl-cart-card-prices{
    margin:0 0 10px 0;
  }
  .teg-ssl-cart-card-price-table{
    width:100% !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    table-layout:fixed !important;
    border:1px solid #666 !important;
    background:#fff !important;
    color:#333 !important;
  }
  .teg-ssl-cart-card-price-table th,
  .teg-ssl-cart-card-price-table td{
    border:1px solid #666 !important;
    padding:6px 6px;
    border-radius:0 !important;
    transition:none !important;
    box-shadow:none !important;
    white-space:nowrap;
    font-variant-numeric: tabular-nums;
  }
  .teg-ssl-cart-card-price-table th{
    background:#dddddd !important;
    color:#333 !important;
    text-align:center !important;
    font-size:12px;
    font-weight:600;
  }
  .teg-ssl-cart-card-price-table td{
    background:#fff !important;
    color:#333 !important;
    text-align:right !important;
  }
  /* No hover changes */
  .teg-ssl-cart-card-price-table tr:hover > th{background:#dddddd !important;color:#333 !important;}
  .teg-ssl-cart-card-price-table tr:hover > td{background:#fff !important;color:#333 !important;}
  .teg-ssl-cart-card-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .teg-ssl-cart-card-qty{
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  .teg-ssl-cart-card-qty input[type="number"]{
    width:72px;
    max-width:72px;
  }
}