/* =========================================================
   Champions Academy - Tutor 4.x Checkout page hard-fixes
   Real template classes from ecommerce/checkout-details.php
   ========================================================= */

/* -------- Outer checkout wrappers -------- */
body.champions-theme .tutor-checkout-page,
body.champions-theme .tutor-checkout-page-wrapper,
body.champions-theme .tutor-checkout-details,
body.champions-theme .tutor-checkout-details-inner {
  background: var(--bg) !important;
  color: #ffffff !important;
}

/* The main order-details card (the white block in the screenshot) */
body.champions-theme .tutor-checkout-details-inner {
  background: var(--bg-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  padding: 1.75rem !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Section headings inside checkout */
body.champions-theme .tutor-checkout-details-inner h5,
body.champions-theme .tutor-checkout-details-inner h6,
body.champions-theme .tutor-checkout-details-inner .tutor-fs-5 {
  color: #ffffff !important;
  font-family: var(--font) !important;
  font-weight: 700 !important;
}

body.champions-theme .tutor-border-bottom,
body.champions-theme .tutor-checkout-details-inner .tutor-border-bottom {
  border-bottom-color: var(--line) !important;
  border-bottom-width: 1px !important;
  border-bottom-style: solid !important;
}

/* -------- Course items list in checkout -------- */
body.champions-theme .tutor-checkout-detail-item {
  padding: 1rem 0 !important;
  border-bottom: 1px solid var(--line) !important;
  color: #ffffff !important;
}

body.champions-theme .tutor-checkout-detail-item:last-child {
  border-bottom: 0 !important;
}

body.champions-theme .tutor-checkout-courses {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

body.champions-theme .tutor-checkout-course-item {
  background: transparent !important;
  color: #ffffff !important;
  padding: 0.5rem 0 !important;
  border: 0 !important;
}

body.champions-theme .tutor-checkout-course-content {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1rem;
}

body.champions-theme .tutor-checkout-course-thumb-title {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem;
  flex: 1;
  min-width: 0;
}

body.champions-theme .tutor-checkout-course-thumb-title img {
  width: 64px !important;
  height: 46px !important;
  object-fit: cover !important;
  border-radius: var(--r) !important;
  flex-shrink: 0;
  background: var(--bg);
}

body.champions-theme .tutor-checkout-course-title,
body.champions-theme .tutor-checkout-course-title a,
body.champions-theme h6.tutor-checkout-course-title,
body.champions-theme h6.tutor-checkout-course-title a {
  color: #ffffff !important;
  font-family: var(--font) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  margin: 0 !important;
  line-height: 1.3;
}

body.champions-theme .tutor-checkout-course-title a:hover {
  color: var(--yellow) !important;
}

/* Price on the right of each course item */
body.champions-theme .tutor-checkout-course-content .tutor-text-right {
  text-align: right !important;
  flex-shrink: 0;
}

body.champions-theme .tutor-checkout-course-content .tutor-fw-bold {
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-size: 1.25rem !important;
  letter-spacing: 0.02em;
  line-height: 1;
}

body.champions-theme .tutor-checkout-discount-price {
  color: var(--muted-2) !important;
  font-family: var(--font-display) !important;
  font-size: 0.9rem !important;
  text-decoration: line-through !important;
  margin-top: 0.2rem;
}

body.champions-theme .tutor-checkout-incl-tax-label {
  color: var(--muted) !important;
  font-family: var(--font-ui);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Coupon badge on individual course items */
body.champions-theme .tutor-checkout-coupon-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(255,222,2,0.14) !important;
  color: var(--yellow) !important;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 0.35rem;
}

body.champions-theme .tutor-checkout-coupon-badge i {
  color: var(--yellow) !important;
}

/* -------- Summary block (Subtotal / Sale discount / Coupon / Tax) -------- */
body.champions-theme .tutor-checkout-detail-item.tutor-checkout-summary {
  background: var(--bg-elev) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  padding: 1.25rem 1.5rem !important;
  margin-top: 1rem !important;
}

body.champions-theme .tutor-checkout-summary-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline;
  padding: 0.5rem 0 !important;
  color: #ffffff !important;
  font-family: var(--font);
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

body.champions-theme .tutor-checkout-summary-item:last-child {
  border-bottom: 0;
}

body.champions-theme .tutor-checkout-summary-item > div:first-child {
  color: var(--text-2) !important;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.champions-theme .tutor-checkout-summary-item > div:last-child,
body.champions-theme .tutor-checkout-summary-item .tutor-fw-bold {
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.02em;
}

/* "Have a coupon?" row */
body.champions-theme .tutor-checkout-summary-item.tutor-have-a-coupon > div:first-child {
  color: var(--text-2) !important;
}

body.champions-theme .tutor-checkout-summary-item.tutor-have-a-coupon .tutor-btn-link,
body.champions-theme #tutor-toggle-coupon-button {
  background: var(--yellow) !important;
  color: #07070a !important;
  border-radius: 999px !important;
  padding: 0.4rem 0.9rem !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer;
  text-decoration: none !important;
}

body.champions-theme .tutor-checkout-summary-item.tutor-have-a-coupon .tutor-btn-link:hover {
  background: var(--yellow-2) !important;
  transform: translateY(-1px);
}

/* Coupon input form */
body.champions-theme .tutor-apply-coupon-form {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0.75rem 0;
}

body.champions-theme .tutor-apply-coupon-form input[name="coupon_code"] {
  flex: 1;
  background: var(--bg) !important;
  border: 1px solid var(--line-2) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 0.65rem 1rem !important;
  font-family: var(--font) !important;
  font-size: 0.9rem !important;
}

body.champions-theme .tutor-apply-coupon-form input[name="coupon_code"]:focus {
  outline: none !important;
  border-color: var(--yellow) !important;
  box-shadow: 0 0 0 3px var(--yellow-soft) !important;
}

body.champions-theme #tutor-apply-coupon-button,
body.champions-theme .tutor-btn.tutor-btn-secondary {
  background: var(--yellow) !important;
  color: #07070a !important;
  border-radius: 999px !important;
  padding: 0.65rem 1.2rem !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border: none !important;
}

/* Applied coupon wrapper (with delete button) */
body.champions-theme .tutor-checkout-coupon-wrapper .tutor-checkout-coupon-badge.tutor-has-delete-button {
  background: rgba(255,222,2,0.14) !important;
  color: var(--yellow) !important;
  padding: 0.4rem 0.7rem;
  gap: 0.5rem;
}

body.champions-theme #tutor-checkout-remove-coupon {
  background: transparent !important;
  color: var(--yellow) !important;
  border: none !important;
  padding: 0 0 0 0.4rem !important;
}

body.champions-theme .tutor-discount-amount {
  color: var(--yellow) !important;
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
}

/* -------- Grand total row -------- */
body.champions-theme .tutor-pt-12.tutor-pb-20 {
  padding-top: 1.25rem !important;
  padding-bottom: 1rem !important;
  border-top: 1px solid var(--line);
  margin-top: 1rem;
}

body.champions-theme .tutor-pt-12 .tutor-checkout-summary-item {
  border-bottom: 0 !important;
  padding: 0.4rem 0 !important;
}

body.champions-theme .tutor-pt-12 .tutor-checkout-summary-item > div:first-child {
  color: #ffffff !important;
  font-family: var(--font-ui);
  font-size: 0.9rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.champions-theme .tutor-checkout-grand-total {
  color: var(--yellow) !important;
  font-family: var(--font-display) !important;
  font-size: 2rem !important;
  letter-spacing: 0.02em;
  line-height: 1;
}

/* -------- Billing form on the left column -------- */
body.champions-theme .tutor-checkout-billing-form,
body.champions-theme .tutor-checkout-billing,
body.champions-theme .tutor-checkout-personal-info {
  background: var(--bg-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  padding: 1.75rem !important;
  color: #ffffff !important;
}

body.champions-theme .tutor-checkout-billing-form h5,
body.champions-theme .tutor-checkout-billing-form h6,
body.champions-theme .tutor-checkout-billing h5,
body.champions-theme .tutor-checkout-billing h6,
body.champions-theme .tutor-form-group label,
body.champions-theme .tutor-checkout-page label {
  color: var(--yellow) !important;
  font-family: var(--font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.4rem !important;
  display: block;
}

body.champions-theme .tutor-checkout-billing-form input,
body.champions-theme .tutor-checkout-billing-form select,
body.champions-theme .tutor-checkout-billing-form textarea,
body.champions-theme .tutor-form-group input,
body.champions-theme .tutor-form-group select,
body.champions-theme .tutor-form-group textarea,
body.champions-theme .tutor-checkout-page input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body.champions-theme .tutor-checkout-page select,
body.champions-theme .tutor-checkout-page textarea {
  background: var(--bg) !important;
  border: 1px solid var(--line-2) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  padding: 0.85rem 1rem !important;
  font-family: var(--font) !important;
  font-size: 0.95rem !important;
  width: 100% !important;
}

body.champions-theme .tutor-checkout-billing-form input::placeholder,
body.champions-theme .tutor-checkout-page input::placeholder,
body.champions-theme .tutor-checkout-page textarea::placeholder {
  color: var(--muted-2) !important;
}

body.champions-theme .tutor-checkout-billing-form input:focus,
body.champions-theme .tutor-checkout-billing-form select:focus,
body.champions-theme .tutor-checkout-billing-form textarea:focus,
body.champions-theme .tutor-form-group input:focus,
body.champions-theme .tutor-checkout-page input:focus,
body.champions-theme .tutor-checkout-page select:focus {
  outline: none !important;
  border-color: var(--yellow) !important;
  box-shadow: 0 0 0 3px var(--yellow-soft) !important;
}

/* Payment method selector */
body.champions-theme .tutor-payment-methods,
body.champions-theme .tutor-payment-method,
body.champions-theme .tutor-payment-option {
  background: var(--bg-elev) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
  padding: 1rem 1.25rem !important;
  color: #ffffff !important;
  margin-bottom: 0.5rem;
}

body.champions-theme .tutor-payment-method.is-active,
body.champions-theme .tutor-payment-option.is-selected {
  border-color: var(--yellow) !important;
  background: rgba(255,222,2,0.04) !important;
}

/* Pay Now / Place Order button */
body.champions-theme .tutor-checkout-pay-now-btn,
body.champions-theme #tutor-checkout-pay-now-button,
body.champions-theme .tutor-checkout-page .tutor-btn-primary {
  background: var(--yellow) !important;
  color: #07070a !important;
  border-radius: 999px !important;
  padding: 1rem 1.75rem !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: none !important;
  box-shadow: 0 10px 36px rgba(255,222,2,0.22) !important;
  width: 100% !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

body.champions-theme .tutor-checkout-page .tutor-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 44px rgba(255,222,2,0.32) !important;
}

/* Utility: any remaining Tutor fw-medium text stays white on our theme */
body.champions-theme .tutor-checkout-page .tutor-fw-medium,
body.champions-theme .tutor-checkout-details .tutor-fw-medium {
  color: #ffffff !important;
}

/* Kill any inline white bg the Tutor plugin might inject via style attr on checkout */
body.champions-theme .tutor-checkout-page [style*="background: #fff"],
body.champions-theme .tutor-checkout-page [style*="background:#fff"],
body.champions-theme .tutor-checkout-page [style*="background-color: #fff"],
body.champions-theme .tutor-checkout-page [style*="background-color:#fff"],
body.champions-theme .tutor-checkout-details [style*="background: #fff"],
body.champions-theme .tutor-checkout-details [style*="background:#fff"] {
  background: var(--bg-card) !important;
  color: #ffffff !important;
}
