/* Checkout UI refinements (match listing/single-property styles) */
.til-checkout-wrapper .til-co,
.til-checkout-wrapper .til-co * { box-sizing: border-box; }

.til-checkout-wrapper .til-co{
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 12px;
  color: #111827;
  font-size: 14px;
  font-weight: 500;
}

/* Reduce excessive vertical spacing from nested containers */
.til-checkout-wrapper .til-co .container,
.til-checkout-wrapper .til-co .container-fluid{
  padding-left: 0;
  padding-right: 0;
}

/* Headings: keep clean, not overly bold */
.til-checkout-wrapper .til-co h1,
.til-checkout-wrapper .til-co h2,
.til-checkout-wrapper .til-co h3,
.til-checkout-wrapper .til-co h4,
.til-checkout-wrapper .til-co h5{
  color: #111827;
}

/* Remove focus rings/outlines (per requested UX) */
.til-checkout-wrapper .til-co .form-control:focus,
.til-checkout-wrapper .til-co .form-select:focus,
.til-checkout-wrapper .til-co .btn:focus,
.til-checkout-wrapper .til-co .btn:active:focus{
  outline: none !important;
  box-shadow: none !important;
}

/* Property/checkout image */
.til-co__media{
  padding: 0;
  border-bottom: 1px solid var(--til-border);
}
.til-co__media img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  border-radius: var(--til-radius) var(--til-radius) 0 0;
}

/* Sticky summary card */
.til-co__sticky{
  position: sticky;
  top: 20px;
  z-index: 10;
}

/* Payment method selector (Credit card / ACH) */
.til-co__pmt-toggle{
  display: flex;
  gap: 10px;
  width: 100%;
}
.til-co__pmt-btn{
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  font-weight: 500;
  font-size: 14px;
  border-radius: 12px;
  border: 1px solid var(--til-border);
  background: #fff;
  color: #111827;
  cursor: pointer;
  user-select: none;
  transition: background-color .12s ease, border-color .12s ease, color .12s ease, transform .12s ease;
}
.til-co__pmt-btn:hover{
  border-color: var(--til-primary);
  background: rgba(var(--til-primary-rgb), 0.05);
}
.til-co__pmt-toggle input.btn-check:checked + .til-co__pmt-btn{
  background: var(--til-primary-gradient);
  border-color: transparent;
  color: #fff;
}

/* Collect.js fields: consistent look like other inputs */
.til-co__collect-wrap{
  /* No outer border — let the embedded NMI field draw its own border */
  border: 0;
  border-radius: 0;
  background: transparent;
  /* keep stable height */
  height: 44px;
  min-height: 44px;
  padding: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.til-co__collect-wrap:focus-within{
  border-color: var(--til-primary);
}
.til-co__collect-field{
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
}
.til-co__collect-field iframe{
  width: 100% !important;
  /* Let embedded field border be the visible border */
  height: 44px !important;
  max-height: 44px !important;
  border: none !important;
  background: transparent !important;
  display: block !important;
  align-self: center;
}

/* Email readonly field style */
.til-co__readonly{
  background: #f8f9fa !important;
}

/* Icons: default to theme primary, keep semantic colors intact */
.til-checkout-wrapper .til-co i.bi{
  line-height: 1;
}
.til-checkout-wrapper .til-co i.bi:not(.text-success):not(.text-warning):not(.text-danger):not(.text-info):not(.text-muted){
  color: var(--til-primary);
}

/* Coupon input group: match rounded style */
.til-checkout-wrapper .til-co .input-group .form-control{
  border-top-left-radius: var(--til-radius-sm);
  border-bottom-left-radius: var(--til-radius-sm);
}
.til-checkout-wrapper .til-co .input-group .btn{
  border-top-right-radius: var(--til-radius-sm);
  border-bottom-right-radius: var(--til-radius-sm);
}
i.bi.bi-credit-card.me-2 {
  color: #FFF !important;
}
@media (max-width: 992px){
  .til-co__sticky{ position: relative; top: auto; }
  .til-co__media img{ height: 200px; }
}
