/* ==========================================================================
   cart-checkout-modern.css
   CART & CHECKOUT PAGES — MODERN PREMIUM THEME OVERRIDES
   ========================================================================== */

/* Sidebar Totals */
.modern-theme .checkout-payment__summary {
  border-top: 1px solid var(--color-border) !important;
  padding-top: 20px !important;
  margin-top: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.modern-theme .checkout-payment__summary .total {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 0.95rem !important;
  color: var(--color-text-sub) !important;
  line-height: 1.5 !important;
}

.modern-theme .checkout-payment__summary .total strong {
  color: var(--color-text-main) !important;
  font-size: 1.05rem !important;
}

.modern-theme .checkout-payment__summary .total:nth-last-child(3) {
  border-top: 1px solid var(--color-border) !important;
  padding-top: 16px !important;
  font-weight: 700 !important;
}

.modern-theme .checkout-payment__summary .total:nth-last-child(3) strong {
  color: var(--color-accent) !important;
  font-size: 1.35rem !important;
}

.modern-theme .checkout-payment__summary .agreement {
  border: none !important;
  padding: 0 !important;
  margin-top: 8px !important;
  font-size: 0.88rem !important;
  color: var(--color-text-sub) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.modern-theme .checkout-payment__summary .agreement input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--color-primary) !important;
}

.modern-theme .checkout-payment__summary .agreement a {
  color: var(--color-primary) !important;
  text-decoration: underline !important;
}

/* Pay Button */
.modern-theme .pay-btn {
  width: 100% !important;
  padding: 15px 30px !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  border-radius: var(--radius-sm) !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--color-accent) 0%, #e09300 100%) !important;
  box-shadow: var(--shadow-glow-orange) !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all var(--transition-fast) !important;
}

.modern-theme .pay-btn:hover:not(:disabled):not(.not-allowed) {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 10px 25px rgba(244, 160, 0, 0.35) !important;
}

.modern-theme .pay-btn:disabled,
.modern-theme .pay-btn.not-allowed {
  background: var(--color-border) !important;
  color: var(--color-text-muted) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* --- Checkout / Payment Details Page Overrides --- */
.modern-theme #cartCheckout.part-container {
  margin-top: 120px !important;
  background: var(--color-bg-primary) !important;
  padding-bottom: 60px !important;
}

.modern-theme .avn-cart-checkout {
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
}

@media (max-width: 991px) {
  .modern-theme .avn-cart-checkout {
    flex-direction: column !important;
  }
}

.modern-theme .avn-cart-checkout>.col-lg-7 {
  flex: 1 !important;
  max-width: 100% !important;
}

.modern-theme .avn-cart-checkout>.col-lg-5 {
  width: 400px !important;
  flex-shrink: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 991px) {
  .modern-theme .avn-cart-checkout>.col-lg-5 {
    width: 100% !important;
  }
}

.modern-theme .shopping-cart-info {
  background: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 28px !important;
  margin-left: 0 !important;
  box-shadow: var(--shadow-sm) !important;
}

.modern-theme .shopping-cart-info h5,
.modern-theme .shopping-cart-info h6 {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: var(--color-primary-dark) !important;
}

.modern-theme .shopping-cart-info h6 {
  font-size: 1.15rem !important;
}

.modern-theme .shopping-cart-info p {
  font-family: var(--font-body) !important;
  color: var(--color-text-sub) !important;
  font-size: 0.95rem !important;
}

.modern-theme .avn-payment-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.modern-theme .avn-payment-method-toggle {
  border: 1px solid var(--color-border) !important;
  background: #ffffff !important;
  color: var(--color-text-main) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  width: auto !important;
  height: auto !important;
  padding: 16px !important;
  margin: 0 !important;
  transition: all var(--transition-fast) !important;
}

.modern-theme .avn-payment-method-toggle:hover,
.modern-theme .avn-payment-method-toggle.active {
  background: rgba(var(--color-primary-rgb), 0.04) !important;
  color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.modern-theme .avn-order-btn {
  width: 100% !important;
  padding: 15px 30px !important;
  background: linear-gradient(135deg, var(--color-accent) 0%, #e09300 100%) !important;
  color: #ffffff !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--shadow-glow-orange) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all var(--transition-fast) !important;
}

.modern-theme .avn-order-btn:hover {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 10px 25px rgba(244, 160, 0, 0.35) !important;
}

/* --- Bank Transfer Page Specific Refinements --- */
.modern-theme .avn-cart-checkout-info {
  width: 100% !important;
}

.modern-theme .avn-cart-checkout-info h2 {
  font-family: var(--font-heading) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--color-primary-dark) !important;
  margin-bottom: 24px !important;
}

.modern-theme .avn-cart-checkout-info .card {
  background: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm) !important;
  margin-bottom: 24px !important;
  overflow: hidden !important;
}

.modern-theme .avn-cart-checkout-info .card-header {
  background-color: var(--color-bg-secondary) !important;
  border-bottom: 1px solid var(--color-border) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: var(--color-primary-dark) !important;
  padding: 16px 20px !important;
}

.modern-theme .avn-cart-checkout-info .card-body {
  padding: 24px !important;
  font-family: var(--font-body) !important;
  color: var(--color-text-main) !important;
  line-height: 1.6 !important;
}

/* Checkout form fields — inline label + input on desktop, stacked on mobile */
.modern-theme .avn-cart-checkout-info .form-group.row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin-bottom: 16px !important;
}

.modern-theme .avn-cart-checkout-info .form-group.row>.col-3 {
  flex: 0 0 140px !important;
  max-width: 140px !important;
  padding-right: 8px !important;
  margin-bottom: 0 !important;
}

.modern-theme .avn-cart-checkout-info .form-group.row>.col-3 label {
  font-family: var(--font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--color-text-main) !important;
  margin-bottom: 0 !important;
  white-space: nowrap !important;
}

.modern-theme .avn-cart-checkout-info .form-group.row>.col-9 {
  flex: 1 1 0 !important;
  max-width: calc(100% - 140px) !important;
  margin-bottom: 0 !important;
}

.modern-theme .avn-cart-checkout-info .form-group.row>.col-12 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.modern-theme .avn-cart-checkout-info .form-control {
  padding: 10px 14px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.95rem !important;
  background: var(--color-bg-secondary) !important;
  transition: all var(--transition-fast) !important;
}

.modern-theme .avn-cart-checkout-info .form-control:focus {
  border-color: var(--color-primary) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.1) !important;
}

/* link-buy-now button — centered under cart info */
.modern-theme .link-buy-now {
  margin-left: 0 !important;
  margin-top: 20px !important;
  text-align: center !important;
}

.modern-theme .link-buy-now .avn-order-btn {
  width: 70% !important;
  max-width: 100% !important;
  padding: 15px 30px !important;
}

/* --- Mobile Responsiveness for Cart --- */
.modern-theme .cart-item__info {
  flex: 1 1 0% !important;
  border-right: 1px solid var(--color-border) !important;
  padding-right: 20px !important;
}

.modern-theme .checkout .form-group {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.modern-theme .checkout .form-field {
  flex: 1 1 0% !important;
}

.modern-theme .checkout__coupon {
  display: flex !important;
  gap: 12px !important;
  margin-top: 24px !important;
  padding: 20px 0 0 0 !important;
  border-top: 1px solid var(--color-border) !important;
}

@media (max-width: 991px) {
  .modern-theme .checkout {
    padding: 32px var(--space-sm) !important;
  }
}

@media (max-width: 768px) {
  .modern-theme h1.checkout__title {
    font-size: 1.5rem !important;
  }

  .modern-theme .checkout-section {
    padding: 20px !important;
  }

  .modern-theme .checkout__cart__lbl {
    display: none !important;
  }

  .modern-theme .cart-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px 0 !important;
  }

  .modern-theme .cart-item__info {
    width: 100% !important;
    border-right: none !important;
    padding-right: 0 !important;
  }

  .modern-theme .cart-item__name {
    font-size: 1.05rem !important;
  }

  .modern-theme .cart-item__quantity {
    align-self: flex-start !important;
  }

  .modern-theme .checkout .form-group {
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  .modern-theme .checkout .form-field {
    width: 100% !important;
  }

  .modern-theme .avn-cart-checkout {
    gap: 20px !important;
  }

  .modern-theme .avn-cart-checkout-info .form-group.row>.col-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 4px !important;
  }

  .modern-theme .avn-cart-checkout-info .form-group.row>.col-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 576px) {
  .modern-theme .checkout-payment {
    padding: 20px !important;
  }

  .modern-theme .checkout-payment label {
    font-size: 0.88rem !important;
    padding: 12px 14px !important;
    gap: 8px !important;
  }

  .modern-theme .checkout-payment label input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
  }

  .modern-theme .checkout-payment__summary .agreement {
    align-items: flex-start !important;
  }

  .modern-theme .checkout-payment__summary .agreement input[type="checkbox"] {
    margin-top: 3px !important;
  }

  .modern-theme .checkout__coupon {
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px 0 0 0 !important;
  }

  .modern-theme .coupon__apply {
    width: 100% !important;
    text-align: center !important;
  }

  .modern-theme .avn-section {
    margin: 5px !important;
  }
}

/* ==========================================================================
   CONSOLIDATED INLINE CSS FROM CART VIEWS
   ========================================================================== */

/* Bank Transfer Views specific */
.style-name {
  color: #008CCF !important;
  font-size: 15px !important;
}

.header-name {
  color: #f27b21 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}

.cart-margin-bottom {
  margin-bottom: 10px !important;
}

.avn-cart-checkout-info .form-group.row .col-3,
.avn-cart-checkout-info .form-group.row .col-9,
.avn-cart-checkout-info .form-group.row div[class^="col-"] {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-bottom: 8px !important;
}

/* Checkout View specific */
.wrap-invoice {
  border-left: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
  border-radius: 4px !important;
}

/* Cart & CartEdu Views specific */
.not-allowed {
  cursor: not-allowed !important;
  opacity: 0.5 !important;
}

.input-disable {
  pointer-events: none !important;
  opacity: 0.5 !important;
}

.cart-coupon-wrapper {
  margin-left: 20px !important;
}

.cart-label-coupon {
  background: #007bff !important;
  padding: 4px 0 4px 5px !important;
  color: #fff !important;
}

.cart-coupon-code {
  text-align: center !important;
}

.cart-btn-remove-coupon {
  background: #003e75 !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px 6px !important;
}

/* Empty Cart Specific */
#cartEmpty .ic {
  font-size: 7rem !important;
  color: #092972 !important;
}

#cartEmpty h3 {
  margin: 1.5rem 0 !important;
  font-size: 3rem !important;
  font-weight: 500 !important;
  color: #092972 !important;
}

#cartEmpty p {
  font-size: 2rem !important;
}

#cartEmpty .btn {
  display: inline-block !important;
  font-weight: 400 !important;
  text-align: center !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  user-select: none !important;
  border: 1px solid transparent !important;
  padding: .375rem .75rem !important;
  font-family: averata !important;
  font-size: 2rem !important;
  line-height: 1.5 !important;
  border-radius: .25rem !important;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !important;
}

#cartEmpty .btn-main {
  border: 0.125rem solid #092972 !important;
  background: #fff !important;
  color: #092972 !important;
  line-height: 1.35 !important;
  font-size: 2rem !important;
}

.item-badge {
  background: rgba(244, 160, 0, 0.15) !important;
  color: var(--color-accent) !important;
  padding: 3px 8px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  border: 1px solid rgba(244, 160, 0, 0.3) !important;
  display: inline-block !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}