/* ============================================================
   shasat-cart.css  — Cart page
   Matches shasat-cart-page.html design exactly.
   Works alongside Bootstrap (no conflicts).
   ============================================================ */

/* ── WRAPPER ── */
body{ line-height: 1.6;}
.shasat-cart-wrap {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0.5rem 0rem 6rem;
}

/* ── PAGE HEAD ── */
.shasat-page-head { margin-bottom: 2.5rem; }
.shasat-page-head h1 {
  font-size: 2.2rem; font-weight: 700;
  color: var(--text); margin-bottom: 6px;
}
.shasat-page-head p {
  font-size: 14px; color: var(--t3);
  display: flex; align-items: center; gap: 8px; margin: 0; text-align: left;
}
.shasat-item-count {
  background: var(--purple-l); color: var(--purple);
  font-size: 11px; font-weight: 700;
  padding: 3px 10px; border-radius: 20px;
  border: 1px solid rgba(112,48,160,.18);
}

/* ── LAYOUT ── */
.shasat-cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 2rem;
  align-items: start;
}

/* ── CARD ── */
.shasat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

/* ── CART TABLE HEAD ── */
.shasat-cart-head {
  display: grid;
  grid-template-columns: 1fr 120px 100px 140px;
  gap: 1rem;
  padding: 1.5rem 3rem;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 1.8px; text-transform: uppercase;
  color: var(--t3);
}

/* ── CART ROW ── */
.shasat-cart-row {
  display: grid;
  grid-template-columns: 1fr 120px 115px 140px;
  gap: 1rem;
  padding: 1.75rem 2rem;
  align-items: center;
  border-bottom: 1px solid var(--border);
  transition: background .15s;
}
.shasat-cart-row:last-of-type { border-bottom: none; }
.shasat-cart-row:hover { background: #fdfbff; }

/* Course cell */
.shasat-course-cell {
  display: flex; gap: 16px;
  align-items: flex-start; min-width: 0;
}
.shasat-course-thumb {
  width: 62px; height: 54px; border-radius: 12px;
  flex-shrink: 0; display: flex; align-items: center;
  justify-content: center; font-size: 1.4rem; overflow: hidden;
}
.shasat-course-thumb img { width: 100%; height: 100%; object-fit: cover; }
.shasat-ct-purple { background: linear-gradient(135deg,#0f0a24 0%,#7030a0 100%); }
.shasat-ct-teal   { background: linear-gradient(135deg,#0a1a2a 0%,#0eb8bd 100%); }

.shasat-course-info { min-width: 0; }
.shasat-course-name {
  font-size: 14px; font-weight: 600; color: var(--text);
  line-height: 1.4; margin-bottom: 7px;
}
.shasat-course-name a { color: var(--text); text-decoration: none; }
.shasat-course-name a:hover { color: var(--purple); }
.shasat-course-tags { display: flex; gap: 5px; flex-wrap: wrap; }
.shasat-tag {
  font-size: 10.5px; font-weight: 600;
  padding: 2px 9px; border-radius: 20px; border: 1px solid;
}
.shasat-tag-p { background: var(--purple-l); color: var(--purple); border-color: rgba(112,48,160,.2); }
.shasat-tag-t { background: var(--teal-l); color: var(--teal-d); border-color: rgba(14,184,189,.22); }
.shasat-tag-g { background: #f0eef8; color: var(--t2); border-color: var(--border-s); }

/* Price cell */
.shasat-price-cell {
  font-size: 14.5px; font-weight: 600; color: var(--text);
}

/* Quantity — wraps WooCommerce qty input + bbloomer +/- buttons */
.shasat-qty-wrap {
  display: flex; align-items: center; gap: 6px;
}
/* Style the bbloomer +/- buttons to match design */
.shasat-cart-row .plus,
.shasat-cart-row .minus {
  width: 30px;
  height: 30px !important;
  border-radius: 8px !important;
  border: 1px solid var(--border-s) !important;
  background: var(--white) !important;
  color: var(--t2) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .15s; flex-shrink: 0;
  padding: 0;
}
.woocommerce-cart .shasat-cta-section a.checkout-button.button.alt.wc-forward {
  background: var(--purple) !important;
  color: #fff !important;
  color: #fff !important;
  background: var(--purple);
  color: #fff;
  box-shadow: 0 4px 16px rgba(112, 48, 160, .3);
  border-radius: 10px !important;
  padding: 15px 10px !important;
  font-size: 16px !important;
  border-radius: 14px !important;
  font-family: 'Syne', sans-serif;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}
.woocommerce-cart .shasat-cart-footer-actions a.button.return_shop {
  background: transparent !important;
  border: 1.5px solid var(--border-s) !important;
  color: var(--t2) !important;
  border-radius: 10px !important;
	padding: 10px 30px !important;
}
.shasat-cart-row .plus:hover,
.shasat-cart-row .minus:hover {
  border-color: var(--teal)!important; color: var(--teal)!important; background: var(--teal-l)!important;
}
.shasat-cart-row .qty {
  width: 44px; text-align: center;
  font-size: 14.5px; font-weight: 700; color: var(--text);
  border: 1px solid var(--border-s); border-radius: 8px;
  padding: 5px 4px; background: var(--white);
  -moz-appearance: textfield;
}
.shasat-cart-row .qty::-webkit-outer-spin-button,
.shasat-cart-row .qty::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Subtotal + remove */
.shasat-sub-wrap {
  display: flex; align-items: center;
  justify-content: flex-end; gap: 8px;
}
.shasat-sub-amount {
  font-size: 15.5px; font-weight: 700; color: var(--purple);
}
.shasat-remove-btn {
  background: none; border: none; color: var(--border-s);
  cursor: pointer; padding: 5px; border-radius: 7px;
  transition: all .15s; display: flex; align-items: center;
  line-height: 1;
}
.shasat-remove-btn:hover { color: var(--red); background: #fef0ee; }

/* ── EMPTY STATE ── */
.shasat-empty-state {
  display: none; padding: 4rem 2rem; text-align: center;
}
.shasat-empty-state i {
  font-size: 3rem; color: var(--border-s); display: block; margin-bottom: 1rem;
}
.shasat-empty-state h3 { font-size: 1.2rem; color: var(--t2); margin-bottom: .5rem; }
.shasat-empty-state p  { font-size: 14px; color: var(--t3); }

/* ── CART FOOTER (coupon + update + book now) ── */
.shasat-cart-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem 2rem;
  background: var(--bg); border-top: 1px solid var(--border);
  flex-wrap: wrap; gap: .875rem;
}
.shasat-coupon-row { display: flex; align-items: center; gap: 8px; }
.shasat-coupon-icon { color: var(--t3); font-size: 18px; }
.shasat-coupon-input {
  border: 1px solid var(--border-s); border-radius: 10px;
  padding: 9px 14px; font-size: 13.5px;
  font-family: 'Inter', sans-serif;
  color: var(--text); background: var(--white);
  width: 200px; outline: none; transition: all .2s;
}
.shasat-coupon-input:focus {
  border-color: var(--teal); box-shadow: 0 0 0 3px rgba(14,184,189,.1);
}
.shasat-coupon-input::placeholder { color: var(--t3); }

.shasat-cart-footer-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }

/* Override WooCommerce default button styles in footer */
.shasat-cart-footer .button,
.shasat-cart-footer button[name="update_cart"],
.shasat-cart-footer button[name="apply_coupon"] {
  background: transparent !important;
  border: 1.5px solid var(--border-s) !important;
  color: var(--t2) !important;
  border-radius: 10px !important;
  padding: 9px 18px !important;
  font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer; transition: all .2s;
  font-family: 'Inter', sans-serif !important;
  box-shadow: none !important;
  display: inline-flex; align-items: center; gap: 6px;
}
.shasat-cart-footer .button:hover,
.shasat-cart-footer button[name="update_cart"]:hover,
.shasat-cart-footer button[name="apply_coupon"]:hover {
  border-color: var(--teal) !important;
  color: var(--teal) !important;
  background: transparent !important;
}

/* Return to shop link */
.shasat-cart-footer .return_shop {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; color: var(--t2); text-decoration: none;
  font-weight: 500; transition: color .2s;
  background: none !important; border: none !important;
  padding: 0 !important; margin: 0 !important; float: none !important;
}
.shasat-cart-footer .return_shop:hover { color: var(--teal); }

/* Book Now button */
.shasat-cart-footer .book_now_btn,
.shasat-cart-footer input[name="proceed"] {
  background: var(--purple) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 22px !important;
  font-size: 13.5px !important; font-weight: 700 !important;
  cursor: pointer; transition: all .2s;
  font-family: 'Inter', sans-serif !important;
  box-shadow: 0 4px 16px rgba(112,48,160,.3) !important;
}
.shasat-cart-footer .book_now_btn:hover,
.shasat-cart-footer input[name="proceed"]:hover {
  background: var(--purple-d) !important;
  transform: translateY(-1.5px);
  box-shadow: 0 6px 22px rgba(112,48,160,.38) !important;
}

/* ── INFO STRIP ── */
.shasat-info-strip {
  display: flex;
  gap: 2.75rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
  padding: 2.25rem 1.75rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
}
.shasat-info-item {
  display: flex; align-items: start; gap: 8px;
  font-size: 14px; color: var(--t2);
}
.shasat-info-item i { color: #a227ff; font-size: 17px; flex-shrink: 0;position: relative;
    top: 3px;  }
.shasat-sum-row i {
    color: #a227ff;
    font-size: 8px;
    position: relative;
   top: -4px;
    left: 3px;
}
/* ── ORDER SUMMARY SIDEBAR ── */
.shasat-summary-header {
  padding: 1.25rem 1.75rem; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 10px;
  background: var(--bg);
}
.shasat-summary-icon {
  width: 32px; height: 32px; border-radius: 9px;
  background: var(--purple-l); color: var(--purple);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.shasat-summary-header h2 {
  font-size: 15px; font-weight: 700; color: var(--text); margin: 0;
}
.shasat-summary-body { padding: 1.5rem 2.5rem; }

.shasat-sum-row {
  display: flex; justify-content: space-between;
  align-items: center; padding: .45rem 0; font-size: 14px;
}
.shasat-sum-row .lbl { color: var(--t2); }
.shasat-sum-row .val { font-weight: 600; color: var(--text); }
.shasat-sum-row.muted .val { color: var(--t3); font-weight: 400; font-size: 13px; }
.shasat-sum-divider { height: 1px; background: var(--border); margin: .75rem 0; }
.shasat-sum-row.total { font-size: 18px; padding-top: .875rem; }
.shasat-sum-row.total .lbl {
  font-family: 'Syne', sans-serif; font-weight: 700; color: var(--text);
}
.shasat-sum-row.total .val {
  color: var(--purple); font-size: 22px; font-weight: 700;
  font-family: 'Syne', sans-serif;
}

/* TT Extra Fee rows — style to match muted rows */
.shasat-summary-body .fee .amount,
.shasat-summary-body tr.fee td { color: var(--t3); font-size: 13px; }

/* Savings badge */
.shasat-savings-badge {
  background: linear-gradient(135deg, var(--teal-l), #e8f3f8);
  border: 1px solid rgba(14,184,189,.25); border-radius: 10px;
  padding: .75rem 1rem; margin: 0 2.5rem 1.25rem;
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; color: var(--teal-d);
}
.woocommerce-cart .whitenew {background: none;}
/* CTA */
.shasat-cta-section { padding: 0 2.5rem 1.5rem;     display: grid; gap: 5px;}
.shasat-checkout-link {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  width: 100%; padding: 15px 32px;
  background: var(--purple); color: #fff !important;
  border: none; border-radius: 14px;
  font-size: 16px; font-family: 'Syne', sans-serif; font-weight: 700;
  cursor: pointer; text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(112,48,160,.3);
  transition: all .2s;
}
.shasat-checkout-link:hover {
  background: var(--purple-d);
  transform: translateY(-1.5px);
  box-shadow: 0 6px 22px rgba(112,48,160,.38);
  color: #fff !important;
}
/* WooCommerce default "Proceed to checkout" button override */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 7px !important;
  width: 100% !important; padding: 15px 32px !important;
  background: var(--purple) !important; color: #fff !important;
  border: none !important; border-radius: 14px !important;
  font-size: 16px !important; font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important; text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(112,48,160,.3) !important;
  transition: all .2s !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--purple-d) !important;
  transform: translateY(-1.5px) !important;
}

.shasat-ssl-note {
  display: flex; align-items: center; justify-content: center;
  gap: 5px; font-size: 11.5px; color: var(--t3); margin-top: .75rem;
}
.shasat-ssl-note i { color: var(--green); font-size: 14px; }

/* Trust block */
.shasat-trust-block {
  background: var(--green-l);
  border-top: 1px solid rgba(10,124,90,.14);
  padding: 1.125rem 2.5rem;
}
.shasat-trust-item {
  display: flex; align-items: center; gap: 9px;
  font-size: 12.5px; color: var(--green); font-weight: 600;
  margin-bottom: 6px;
}
.shasat-trust-item:last-child { margin-bottom: 0; }
.shasat-trust-item i { font-size: 15px; flex-shrink: 0; }

/* Payment logos */
.shasat-payment-logos {
  padding: 1.125rem 2.5rem; border-top: 1px solid var(--border);
}
.shasat-payment-label {
  font-size: 10px; font-weight: 700;
  letter-spacing: 1.8px; text-transform: uppercase;
  color: var(--t3); margin-bottom: .625rem;
}
.shasat-logo-row { display: flex; gap: 5px; flex-wrap: wrap; }
.shasat-pay-logo {
  background: var(--bg); border: 1px solid var(--border);
  border-radius: 6px; padding: 4px 11px;
  font-size: 11px; font-weight: 700; letter-spacing: .3px;
}
.shasat-secured-block { background: var(--navy);
  border-radius: 12px;
  padding: 1.5rem 2.25rem;
  margin-bottom: 2rem;}
.shasat-secured-title {    font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #65fbff;
  text-align: center;
  margin-bottom: .875rem;
}
.shasat-secured-badges {    flex-wrap: wrap;
  display: flex;
  gap: .75rem;
  justify-content: center; }
.shasat-secured-badge {    display: flex;
  align-items: center;
  gap: 9px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  padding: .625rem .875rem;
  flex: 1;
}
.shasat-sb-title { font-size: 12px;
  font-weight: 700;
  color: #fff; }
.shasat-sb-sub   { font-size: 10.5px; color: var(--t3); }
.shasat-stripe-s {
  width: 24px; height: 24px; border-radius: 5px;
  background: #635bff; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 800; font-family: 'Syne', sans-serif;
}
.shasat-gateway-note {    display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 11px;
  color: var(--t3);
  line-height: 1.55;
  margin-top: 1.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--border);margin-bottom: 15px;
}

/* ── RESPONSIVE ── */

@media (max-width: 1040px) {
  .shasat-cart-layout { grid-template-columns: 1fr 300px; }
}
@media (max-width: 990px) {
  .shasat-cart-layout { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .shasat-cart-wrap { padding: 1.5rem 1rem 4rem; }
  .shasat-cart-head { display: none; }
  .shasat-cart-row {
    grid-template-columns: 1fr;
    gap: .75rem; 
  }
  .shasat-sub-wrap { justify-content: flex-start; }
  .shasat-cart-footer { flex-direction: column; align-items: flex-start; }
}


.shasat-qty-wrap .quantity .input-text.qty.text { margin: 0px;}


[name="update_cart"] {
  display: inline-flex !important;
  transition: all .2s;
}
[name="update_cart"].shasat-btn-inactive {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
[name="update_cart"].shasat-btn-active {
  opacity: 1 !important;
  cursor: pointer !important;
  border-color: var(--teal) !important;
  color: var(--teal) !important;
}
[name="update_cart"].shasat-updating {
  opacity: 0.7 !important;
  cursor: wait !important;
}
[name="update_cart"].shasat-updating::after {
  content: '';
  display: inline-block;
  width: 11px; height: 11px;
  border: 2px solid rgba(94,88,128,.3);
  border-top-color: var(--t2);
  border-radius: 50%;
  animation: shasat-spin .6s linear infinite;
  margin-left: 7px;
  vertical-align: middle;
}
@keyframes shasat-spin { to { transform: rotate(360deg); } }



a.shasat-remove-btn.remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  background: none !important;
  background-color: transparent !important;
  color: var(--border-s) !important;
  border: none !important;
  border-radius: 7px !important;
  line-height: 1 !important;
  padding: 5px !important;
  text-decoration: none !important;
  text-indent: -9999px !important;
  overflow: visible !important;
}
a.shasat-remove-btn.remove i.ti {
  text-indent: 0 !important;
  font-size: 16px !important;
  color: var(--border-s) !important;
  font-family: 'tabler-icons' !important;
  font-style: normal !important;
  display: inline-block !important;
  line-height: 1 !important;
}
a.shasat-remove-btn.remove:hover {
  color: var(--red) !important;
  background-color: #fef0ee !important;
}
a.shasat-remove-btn.remove:hover i.ti {
  color: var(--red) !important;
}
a.shasat-remove-btn.remove::before,
a.shasat-remove-btn.remove::after {
  display: none !important;
  content: none !important;
}


.shasat-cta-section .wc-forward:after, .shasat-cta-section .wc-forward a:after {
    font-family: 'FontAwesome';
    content: "→";
    padding-left: 13px;
    font-size: 14px;
}


@media (max-width: 768px) {
  .woocommerce-cart .main-section {  padding-top: 25px;}
  .shasat-cart-wrap { padding: 1rem 0 4rem; }
  .shasat-cart-head { display: none; }
  .shasat-tag {  font-size: 9.5px;}
  .shasat-cart-row {
    display: block;
    
  }

  /* Each cell becomes a label:value row */
  .shasat-course-cell,
  .shasat-price-cell,
  .shasat-qty-wrap,
  .shasat-sub-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .6rem 0;
    border-bottom: 1px solid var(--border);
  }
  .shasat-cart-row > div:last-child { border-bottom: none; }

  /* Left labels */
  .shasat-course-cell::before { content: 'Courses:'; font-size: 13px; font-weight: 600; color: var(--t2); flex-shrink: 0; margin-right: 1rem; }
  .shasat-price-cell::before  { content: 'Price:';   font-size: 13px; font-weight: 600; color: var(--t2); flex-shrink: 0; margin-right: 1rem; }
  .shasat-qty-wrap::before    { content: 'Delegates:'; font-size: 13px; font-weight: 600; color: var(--t2); flex-shrink: 0; margin-right: 1rem; }
  .shasat-sub-wrap::before    { content: 'Subtotal:'; font-size: 13px; font-weight: 600; color: var(--t2); flex-shrink: 0; margin-right: 1rem; }

  /* Course cell — thumbnail hidden, just name on right */
  .shasat-course-cell { align-items: flex-start; }
  .shasat-course-thumb { display: none; }
  .shasat-course-info { text-align: right; }
  .shasat-course-tags { justify-content: flex-end; }

  /* Price right aligned */
  .shasat-price-cell { font-size: 14px; justify-content: space-between; }

  /* Qty right aligned */
  .shasat-qty-wrap { justify-content: space-between; }

  /* Subtotal right aligned */
  .shasat-sub-wrap { justify-content: space-between; }
  .shasat-sub-amount { font-size: 14px; }
  .shasat-remove-btn { margin-left: .5rem; }

  /* Footer */
  .shasat-cart-footer { flex-direction: column; align-items: stretch;  }
  .shasat-coupon-row { width: 100%; }
  .shasat-coupon-input { flex: 1; }
  .shasat-cart-footer-actions { width: 100%; flex-direction: row; gap: .5rem; }
  .shasat-cart-footer-actions .button,
  .shasat-cart-footer-actions .return_shop {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Info strip */
  .shasat-info-strip { flex-direction: column; gap: 1.875rem; }

  /* Sidebar */
  .shasat-summary-body { }
  .shasat-savings-badge { }
  .shasat-cta-section { }
  .shasat-trust-block { }
  .shasat-payment-logos {  }
  .shasat-secured-block {  }
}
@media (max-width: 400px) {
.woocommerce-cart .shasat-cart-footer-actions a.button.return_shop {padding: 10px !important;}
}

@media (max-width:500px) {
  .shasat-page-head p {   display: inline-block;}
  .shasat-item-count {  display: inline-block;}
  }

input#coupon_code {
    margin: 0px;
    height: 36px;
    border-radius: 12px;
}