/* instant-flight-checkout.css */


form.instant-checkout {
  max-width: 1326px;
  padding-top: 0px;
}

#instant-checkout {
  background: #f6f6f6;
  min-height: 100vh;
  padding-top: 4rem;
}

#instant-checkout * {
  font-family: 'Inter', sans-serif;
  color: #0A0D13;
}

h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 24px;
  letter-spacing: 0.01em;
  line-height: 1.75rem;
}

h3 {
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 0.9rem;
}

#instant-checkout label {
  font-weight: 500;
  font-size: 1.13rem;
  line-height: 1.375rem;
  margin-bottom: 0.625rem;;
}

.checkout-container {
  display: flex;
  max-width: 1326px;
  margin: 40px auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  overflow: hidden;
}

.left, .right {
  flex: 1;
  padding: 7.75rem 3rem 7.75rem 3.8rem;
  max-width: 50%;
}

.left {
  border-right: 1px solid #eee;
  background: #fff;
}

.right {
  background: #f8f8f8;
}

.container {
  margin: 0 auto;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  margin-bottom: 32px;
}

.woocommerce-checkout-payment {
  margin-top: 32px;
}

.woocommerce-checkout-payment label,
label {
  font-weight: 500;
  margin-bottom: 6px;
  display: block;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
select {
  width: 100%;
  padding: 12px 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  margin-bottom: 18px;
  font-size: 1rem;
  background: white;
}

button, .button, .pay-button {
  width: 100%;
  background: #b98a6a;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  padding: 16px 0;
  margin-top: 18px;
  cursor: pointer;
  transition: background 0.2s;
}

button:hover, .button:hover, .pay-button:hover {
  background: #a97a5a;
}

.right .container * {
  /* max-width: 350px; */
  text-align: left;
}

.trip-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  flex-direction: row;
}

.trip-summary img {
  max-width: 13rem;
  aspect-ratio: 16 / 10;
  margin-right: 18px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #AEAEAE;
}

.trip-summary .jet-title {
  font-weight: 600;
  font-size: 2rem;
  text-align: right;;
}
@media (max-width: 1024px) {
 .trip-summary {
    flex-direction: column;
  }

  .trip-summary img {
    max-width: 100%;
    margin-right: 0;
  }

  .trip-summary .jet-title {
    padding-top: 1rem;
    text-align: center;
  }

}

.summary-details {
  font-size: 1rem;
  padding-left: 15px;
  padding-right: 15px;
}

.summary-details .row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3rem;
}

.summary-details .detail-key {
  font-weight: 600;
  display: flex;
  align-items: center;
  height: 100%;
}

.summary-details .detail-value {
  width: 50%;
  text-align: right;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.1875rem;
}

.section-divider {
  border-top: 1px solid #ACACAC;
  margin: 0.75rem 0 2.25rem 0;
}

.total {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.125rem;
  margin-top: 18px;
}

@media (max-width: 900px) {
  .checkout-container {
    flex-direction: column;
  }
  .left, .right {
    border-right: none;
    border-bottom: 1px solid #eee;
    padding: 32px 16px;
    max-width: 100%;
  }
  .right {
    border-bottom: none;
    order: 1; /* Show Trip Summary first */
  }
  .left {
    order: 2; /* Show Payment second */
  }
}

.woocommerce-checkout #payment {
  border: none;
}
.woocommerce-terms-and-conditions-wrapper {
  margin-top: 1.5rem;
}
#instant-checkout .woocommerce-privacy-policy-text p {
  color: #ACACAC;
}
#place_order {
  border-radius: 4px;
  color: #F3F3F3;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.woocommerce-checkout #payment div.form-row {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}
.woocommerce-checkout #payment div.payment_box {
  background-color: white;
  border: none;
  padding-left: 0;
  padding-right: 0;
}
#instant-checkout .wc-payment-form label {
  font-size: 1.125rem;
}
#instant-checkout .wc-payment-form input {
  border-color: #ACACAC !important;
  font-size: 1.125rem !important;
  padding: 14px !important;
  letter-spacing: 0.1rem;
  background-color: white;
}

.payment-tabs {
  width: 100%;
}
.payment-tab-headers {
  display: flex;
  border-bottom: 2px solid #eee;
}
.payment-tab-header {
  flex: 1;
  padding: 1rem 0;
  text-align: center;
  cursor: pointer;
  background: #fff;
  border: none;
  border-bottom: 2px solid transparent;
  font-weight: 600;
  transition: border-color 0.2s, background 0.2s;
}
.payment-tab-header.active {
  border-bottom: 2px solid #b98a6a;
  background: #f8f8f8;
}
.payment-tab-contents {
  width: 100%;
}
.payment-tab-content {
  display: none;
  width: 100%;
  background: #f8f8f8;
  border-radius: 0 0 8px 8px;
  padding: 1.5rem;
}
.payment-tab-content.active {
  display: block;
}

.payment-methods-row {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
.pay-with-label {
  font-weight: 600 !important;
  font-size: 1.1rem !important;
}
.payment-methods-options {
  display: flex;
  gap: 2rem;
  flex-wrap: nowrap; /* Prevents wrapping to next line */
  align-items: center;
}
.payment-methods-options .payment-radio-label {
  display: flex;
}
.payment-radio-label {
  display: flex;
  white-space: nowrap; /* Prevents label text from wrapping */
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-weight: 500;
  color: #bbb;
  font-size: 1.1rem;
  position: relative;
  transition: color 0.2s;
}
.payment-radio-label.active,
.payment-radio-label input:checked ~ .payment-title {
  color: #222;
}
.payment-radio-label input[type="radio"] {
  display: none;
}
.custom-radio {
  width: 22px;
  height: 22px;
  border: 2px solid #bbb;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-right: 0;
  transition: border-color 0.2s;
  box-sizing: border-box;
  position: relative;
}
.payment-radio-label input:checked + .custom-radio {
  border-color: #2ecc40;
}
.payment-radio-label input:checked + .custom-radio::after {
  content: '';
  width: 10px;
  height: 10px;
  background: #2ecc40;
  border-radius: 50%;
  display: block;
}
.payment-title {
  font-size: 1.1rem;
  color: inherit;
  transition: color 0.2s;
  line-height: 1;
}
.payment-methods-fields {
  margin-top: 2rem;
}
.payment-fields-box {
  width: 100%;
}
#trip_number {
  width: 60%;
  border-color: #ACACAC !important;
  font-size: 1.125rem !important;
  padding: 14px !important;
  letter-spacing: 0.1rem;
  background-color: white;
}

#instant-checkout .select2-container {
  width: 100%;
  border-radius: 6px;
  margin-bottom: 18px;
  font-size: 1rem;
  background: white;
}

#instant-checkout .select2-container--default .select2-selection--single .select2-selection__rendered, 
#instant-checkout .select2-container .select2-selection--single {
  /* border: none; */
}
#instant-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 3.25rem;
}
#instant-checkout .select2-container .select2-selection--single {
  height: 3.25rem;
  border-color: #ACACAC !important;
}
#instant-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  height: 2.5rem;
}
.select2-dropdown {
  border-color: #ACACAC !important;
  font-size: 1.125rem !important;
  padding: 14px !important;
  letter-spacing: 0.1rem;
}
#instant-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  height: 2.5rem;
  line-height: 2rem;
}

#instant-checkout .woocommerce-form-coupon-toggle {
  visibility: hidden;
  height: 0px;
}

#instant-checkout #woocommerce-checkout-form-coupon {
  margin-bottom: 2rem;
}

#instant-checkout #woocommerce-checkout-form-coupon .form-row-first {
  margin-bottom: 0px;
}

#instant-checkout #woocommerce-checkout-form-coupon .form-row-first input#coupon_code {
  margin-bottom: 4px;
}

#instant-checkout .woocommerce-error, .woocommerce-info, .woocommerce-message {
  border: none;
  background-color: #ffffff;
}
