/*
===========================================================================================
    !checkout.css file will connect "Request-to-Book and checkout page" for FLYT.com
===========================================================================================
*/

.terms {
   padding: 25px;
   max-width: 90%;
}

.term_heading h5 {
   font-size: 19px;
   color: #04142a;
   font-weight: 600;
   margin-top: 20px;
   margin-bottom: 10px;
}

.term_para p.term_para_main {
   color: #68727f;
   line-height: 1.6;
}

.term_para p.term_para_blod {
   color: #04142a;
   line-height: 1.6;
}

.term_para {
   margin-bottom: 20px;
}

.term_para p.term_para_main strong {
   color: #04142a;
}

.term_para p.term_para_main strong.light_strong {
   font-weight: normal;
}

.checkbox {
   background-color: #e5e7e9;
   padding: 15px 25px;
   border-bottom: 1px solid #dfdede;
   border-radius: 0px 0px 6px 6px;
}

.co_checkbox_label {
   display: flex;
   align-items: center;
   column-gap: 10px;
   cursor: pointer;
   margin-bottom: 0;
}

.co_checkbox_input {
   display: none;
}

.co_checkbox_custom {
   width: 25px;
   height: 25px;
   border-radius: 50%;
   border: 2px solid #68727f;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   transition: background-color 0.2s ease;
}

.co_checkbox_input:not(:checked) + .co_checkbox_custom svg {
   opacity: 0;
}

.co_checkbox_input:checked + .co_checkbox_custom {
   background-color: #68727f;
}

.co_checkbox_input:checked + .co_checkbox_custom svg {
   opacity: 1;
}

.co_checkbox_text {
   font-size: 19px;
   font-weight: 600;
   color: #04142a;
}

.co_member {
   background-color: #68727f;
   border-radius: 6px 6px 0px 0px;
}

.co_member_top {
   padding: 40px;
   border-bottom: 1px solid #9ba1aa;
}

.co_member_top {
   display: grid;
   grid-template-columns: 60px 1fr;
   column-gap: 30px;
}

.adi_section_title.text-white {
   color: #fff;
}

.comt_right > p {
   font-size: 17px;
   color: #e5e7e9;
   line-height: 1.6;
   margin-top: 20px;
}

.comt_right > p > strong {
   font-weight: 600;
   color: #fff;
}

.comt_right_btn {
   margin-top: 25px;
}

.comb_heading_left p {
   font-size: 19px;
   font-weight: 600;
   color: #fff;
}

.co_member_bottom {
   padding: 40px;
   padding-top: 10px;
}

.comb_check_item {
   display: flex;
   column-gap: 10px;
   margin-top: 20px;
   max-width: 86%;
}

.comb_check_item_icon {
   flex-shrink: 0;
   position: relative;
   top: 8px;
}

.comb_check_item_icon img {
   display: block;
   width: 14px;
}

.comb_check_item_para p {
   font-size: 16px;
   color: #e5e7e9;
   line-height: 1.6;
}

.co_main_left {
   border-right: 0;
}

.co_main_left_wrapper {
   border-right: 1px solid #dfdede;
   border-radius: 0px 0px 6px 6px;
}

.co_tota_row {
   margin: 0;
}

.co_estimate_card {
   padding-bottom: 0;
   border-bottom: 0;
   border-radius: 0;
   border-right: 0;
}

.co_payment {
   border-left: 1px solid #dfdede;
}

.co_payment_cardblock {
   padding: 25px;
}

.co_payment_option {
   display: flex;
   align-items: flex-start;
   column-gap: 14px;
   cursor: pointer;
   margin-top: 20px;
}

.co_payment_radio {
   position: absolute;
   opacity: 0;
   width: 0;
   height: 0;
}

.co_payment_radio_custom {
   width: 25px;
   height: 25px;
   border-radius: 50%;
   border: 2px solid #68727f;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   transition: all 0.2s ease;
   background-color: transparent;
}

.co_payment_radio_custom svg {
   opacity: 0;
}

.co_payment_radio:checked + .co_payment_radio_custom {
   background-color: #68727f;
   border-color: #68727f;
}

.co_payment_radio:checked + .co_payment_radio_custom svg {
   opacity: 1;
}

.co_payment_title {
   font-size: 19px;
   font-weight: 600;
   color: #04142a;
}

.co_payment_desc {
   font-size: 16px;
   color: #68727f;
   line-height: 1.5;
   font-weight: 400;
   margin-top: 10px;
}

.co_payment_divider {
   height: 1px;
   background-color: #e5e7e9;
   margin: 0 25px;
}

.co_addcard {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 15px 25px;
   background-color: #e5e7e9;
}

.co_addcard p {
   font-size: 19px;
   font-weight: 600;
   color: #04142a;
}

.co_addcard_button {
   display: flex;
   align-items: center;
   column-gap: 10px;
   transition: all 0.3s ease;
   cursor: pointer;
}

.co_addcard_button:hover {
   opacity: 0.7;
}

.co_addcard_button_icon img {
   display: inline-block;
   width: 22px;
}

.co_addcard_button p {
   text-decoration: underline;
   text-decoration-color: #9ba1aa;
   text-underline-offset: 5px;
   text-decoration-thickness: 2px;
}

.co_payment_link {
   text-align: center;
}

.co_payment_link > p {
   font-size: 17px;
   color: #04142a;
   margin: 20px 0px;
}

.co_payblock {
   padding-bottom: 30px;
   border-bottom: 1px solid #dfdede;
   border-left: 1px solid #dfdede;
   border-radius: 0px 0px 0px 6px;
}

.co_btn_disabled {
   opacity: 0.4;
   cursor: not-allowed;
   pointer-events: none;
}

.co_pay_via_amount {
   font-size: 22px;
   font-weight: 700;
   color: #04142a;
   margin: 0 0 15px;
}

/* ── Saved Cards List ──────────────────────────────────────── */
.co_saved_cards {
   padding: 0 25px;
}

.co_no_cards {
   padding: 20px 0;
   text-align: center;
   padding-bottom: 0;
}

.co_no_cards p {
   font-size: 15px;
   color: #9ba1aa;
}

.co_saved_card {
   display: flex;
   align-items: center;
   padding: 14px 18px;
   border: 1.5px solid #e5e7e9;
   border-radius: 8px;
   margin-top: 12px;
   cursor: pointer;
   transition: all 0.2s ease;
   position: relative;
}

.co_saved_card:hover {
   border-color: #c5c9cf;
}

.co_saved_card_active {
   background-color: #f0f7ff;
}

.co_saved_card_radio {
   display: none;
}

.co_saved_card_check {
   width: 22px;
   height: 22px;
   min-width: 22px;
   border-radius: 50%;
   border: 2px solid #d0d3d9;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.2s ease;
   margin-right: 14px;
}

.co_saved_card_check svg {
   opacity: 0;
   transition: opacity 0.2s ease;
}

.co_saved_card_active .co_saved_card_check {
   background-color: #68727f;
   border-color: #68727f;
}

.co_saved_card_active .co_saved_card_check svg {
   opacity: 1;
}

.co_saved_card_logo {
   width: 50px;
   height: 32px;
   object-fit: contain;
   margin-right: 14px;
   border-radius: 4px;
}

.co_saved_card_info {
   flex: 1;
}

.co_saved_card_name {
   font-size: 15px;
   font-weight: 600;
   color: #04142a;
}

.co_saved_card_default {
   font-size: 12px;
   font-weight: 600;
   color: #fff;
   background-color: #04142a;
   padding: 4px 12px;
   border-radius: 20px;
   margin-left: 10px;
   white-space: nowrap;
}

.co_saved_card_delete {
   border: none;
   background: none;
   cursor: pointer;
   padding: 6px;
   margin-left: 10px;
   opacity: 0.5;
   transition: opacity 0.2s ease;
}

.co_saved_card_delete:hover {
   opacity: 1;
}

.co_saved_card_action {
   border: 1.5px solid #04142a;
   background: none;
   cursor: pointer;
   padding: 4px 10px;
   margin-left: 8px;
   border-radius: 20px;
   font-size: 12px;
   font-weight: 600;
   color: #04142a;
   white-space: nowrap;
   transition: all 0.2s ease;
}

.co_saved_card_action:hover {
   background-color: #04142a;
   color: #fff;
}

.co_saved_card_action:disabled {
   opacity: 0.5;
   cursor: not-allowed;
}

.co_remove_default {
   border-color: #e74c3c;
   color: #e74c3c;
}

.co_remove_default:hover {
   background-color: #e74c3c;
   color: #fff;
}

.iti {
   margin-bottom: 0;
}

/* ── Modals ────────────────────────────────────────────────── */
.co_modal_overlay {
   display: none;
   position: fixed;
   inset: 0;
   background: rgba(4, 20, 42, 0.6);
   backdrop-filter: blur(3px);
   z-index: 999999;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   height: 100vh;
   max-height: 100vh;
}

.co_modal_overlay.co_modal_open {
   display: flex;
}

.co_modal {
   background-color: #fff;
   width: 780px;
   position: relative;
   padding: 30px;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
   border-radius: 0px 0px 6px 6px;
   padding-bottom: 65px;
   padding-top: 85px;
}

.co_modal_close {
   display: inline-block;
   border: 0;
   outline: 0;
   background-color: transparent;
   padding: 0;
   margin: 0;
   position: absolute;
   top: 25px;
   right: 25px;
   transition: all 0.3s ease;
}

.co_modal_close:hover {
   opacity: 0.7;
}

.co_modal_body {
   text-align: center;
}

.co_modal_body_wrapper {
   max-width: 430px;
   margin: auto;
}

.co_modal_body_wrapper > img {
   display: inline-block;
   width: 230px;
}

.co_modal_body_wrapper .adi_section_title {
   margin-top: 50px;
   margin-bottom: 20px;
}

.co_modal_body_wrapper > p {
   font-size: 16px;
   color: #68727f;
}

.co_modal_body_wrapper > p strong {
   font-weight: 600;
   color: #68727f;
}

.modal_one_link {
   margin-top: 36px;
}

#co_modal_2 {
   padding-top: 0;
   max-height: 90vh;
   overflow-y: auto;
   overflow-x: hidden;
}

.flying_img {
   margin-left: -30px;
   margin-right: -30px;
}

.flying_img img {
   display: block;
   width: 100%;
}

.comodaltwo {
   max-width: 500px;
}

.co_card_form {
   margin-top: 30px;
   display: flex;
   flex-direction: column;
   gap: 12px;
}

.co_card_input input {
   display: block;
   width: 100%;
   height: 55px;
   background-color: #fff;
   border: 1px solid #cdd0d4;
   outline: none;
   border-radius: 6px;
   padding: 10px 15px;
   color: #68727f;
   font-size: 16px;
}

.co_card_input input::placeholder {
   color: #68727f;
   opacity: 1;
}

.co_card_grp {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 12px;
}

/* Country select dropdown */
.co_card_select select {
   display: block;
   width: 100%;
   height: 55px;
   background-color: #fff;
   border: 1px solid #cdd0d4;
   outline: none;
   border-radius: 6px;
   padding: 10px 15px;
   color: #68727f;
   font-size: 16px;
   cursor: pointer;
   appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2368727f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-position: right 15px center;
   padding-right: 40px;
}

.co_card_input.co_card_select.co_input_error select {
   border-color: #e05252 !important;
   background-color: #fff8f8 !important;
   animation: co_shake 0.35s ease;
}

.co_card_info {
   position: relative;
}

.co_card_info img.ch_info {
   display: inline-block;
   width: 22px;
}

.info_ch_box {
   position: absolute;
   top: 50%;
   right: 16px;
   transform: translateY(-50%);
   cursor: pointer;
}

.co_card_info img.ch_info:hover {
   opacity: 0.7;
}

.infoch_pic {
   position: absolute;
   padding: 10px;
   border: 1px solid #dadcdf;
   border-radius: 8px;
   background-color: #fff;
   right: -9px;
   bottom: calc(100% + 12px);
   left: auto;
   top: auto;
   opacity: 0;
   pointer-events: none;
   transition: all 0.2s ease;
}

.infoch_pic:after {
   content: "";
   display: block;
   width: 20px;
   height: 20px;
   border-bottom: 1px solid #dadcdf;
   position: absolute;
   right: 8px;
   bottom: -11px;
   left: auto;
   top: auto;
   background-color: #fff;
   transform: rotate(45deg);
   border-right: 1px solid #dadcdf;
   z-index: 1;
}

.infoch_pic img {
   display: inline-block;
   min-width: 132px;
   position: relative;
   z-index: 3;
}

.info_ch_box:hover .infoch_pic {
   bottom: calc(100% + 16px);
   opacity: 1;
   pointer-events: auto;
}

.co_card_input.co_input_error input {
   border-color: #e05252 !important;
   background-color: #fff8f8 !important;
   animation: co_shake 0.35s ease;
}

.co_field_error {
   display: block;
   font-size: 12px;
   color: #e05252;
   margin-top: 5px;
   padding-left: 2px;
   font-weight: 500;
}

.co_input_error .info_ch_box {
   top: calc(50% - 13px);
}

.co_modal_add_btn {
   margin-top: 36px;
}

.co_field_error {
   text-align: left;
}

@keyframes co_shake {
   0% {
      transform: translateX(0);
   }
   20% {
      transform: translateX(-5px);
   }
   40% {
      transform: translateX(5px);
   }
   60% {
      transform: translateX(-4px);
   }
   80% {
      transform: translateX(4px);
   }
   100% {
      transform: translateX(0);
   }
}

.co_modal_add_btn button {
   background-color: transparent;
   border: 0;
   outline: none;
   padding: 0;
}

/* ── Billing fields added to Modal 2 ──────────────────────── */

/* Phone field — intl-tel-input full row */
.co_card_phone {
   position: relative;
}

.co_card_phone .iti {
   width: 100%;
   display: block;
}

.co_card_phone .iti input,
.co_card_phone .iti input[type="text"] {
   width: 100%;
   height: 55px;
   background-color: #fff;
   border: 1px solid #cdd0d4;
   outline: none;
   border-radius: 6px;
   padding: 10px 15px 10px 52px;
   color: #68727f;
   font-size: 16px;
}

.co_card_phone input {
   display: block;
   width: 100%;
   height: 55px;
   background-color: #fff;
   border: 1px solid #cdd0d4;
   outline: none;
   border-radius: 6px;
   padding: 10px 15px;
   color: #68727f;
   font-size: 16px;
}

.co_card_phone input::placeholder {
   color: #68727f;
   opacity: 1;
}

.co_card_input.co_input_error .iti input,
.co_card_input.co_input_error input#co_phone {
   border-color: #e05252 !important;
   background-color: #fff8f8 !important;
   animation: co_shake 0.35s ease;
}

/* ====================================
      Responsive Code Start
==================================== */

@media screen and (min-width: 1280px) and (max-width: 1440px) {
   .co_saved_card {
      flex-wrap: wrap;
      padding: 12px 14px;
      align-items: center;
   }

   .co_saved_card_check,
   .co_saved_card_logo,
   .co_saved_card_info {
      order: 1;
   }

   .co_saved_card_info {
      flex: 1;
      min-width: 0;
   }

   .co_saved_card::after {
      content: "";
      flex-basis: 100%;
      order: 5;
      height: 0;
   }

   .co_saved_card_default,
   .co_saved_card_action,
   .co_saved_card_delete {
      order: 10;
   }

   .co_saved_card_default,
   .co_set_default {
      margin-left: 40px;
   }

   .co_saved_card_default {
      margin-left: 40px;
   }

   .co_saved_card_default,
   .co_saved_card_action,
   .co_saved_card_delete {
      margin-top: 10px;
   }
}

@media screen and (min-width: 992px) and (max-width: 1280px) {
   .co_member_top {
      padding: 16px;
   }

   .co_member_top {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   .comt_left img {
      width: 80px;
   }

   .comt_right > p {
      font-size: 15px;
      line-height: 1.4;
      margin-top: 16px;
   }

   .co_member_bottom {
      padding: 16px;
   }

   .co_payment_cardblock {
      padding: 16px;
   }

   .co_addcard {
      padding: 16px;
   }

   .co_addcard p {
      font-size: 16px;
   }

   .co_saved_cards {
      padding-left: 16px;
      padding-right: 16px;
   }

   .co_saved_card {
      flex-wrap: wrap;
      padding: 12px 14px;
      align-items: center;
   }

   .co_saved_card_check,
   .co_saved_card_logo,
   .co_saved_card_info {
      order: 1;
   }

   .co_saved_card_info {
      flex: 1;
      min-width: 0;
   }

   .co_saved_card::after {
      content: "";
      flex-basis: 100%;
      order: 5;
      height: 0;
   }

   .co_saved_card_default,
   .co_saved_card_action,
   .co_saved_card_delete {
      order: 10;
   }

   .co_saved_card_default,
   .co_set_default {
      margin-left: 40px;
   }

   .co_saved_card_default {
      margin-left: 40px;
   }

   .co_saved_card_default,
   .co_saved_card_action,
   .co_saved_card_delete {
      margin-top: 10px;
   }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
   .terms {
      padding-left: 0;
      padding-right: 0;
      max-width: 100%;
   }

   .adi_section_title {
      text-align: left;
   }

   .terms .term_para:last-of-type {
      margin-bottom: 0;
   }

   .co_member_top {
      display: grid;
      grid-template-columns: 1fr;
      gap: 25px;
   }

   .comt_left img {
      width: 100px;
   }

   .co_member_top,
   .co_member_bottom {
      padding: 16px;
   }

   .comb_check_item {
      max-width: 100%;
   }

   .co_payment {
      border-left: 0;
   }

   .co_payment_cardblock {
      padding-left: 0;
      padding-right: 0;
   }

   .co_payblock {
      border: 0;
   }

   .co_saved_cards {
      padding: 0;
   }

   .co_modal,
   #co_modal_2 {
      max-height: 100vh;
      height: 100vh;
      padding-left: 16px;
      padding-right: 16px;
   }

   .co_main_left_wrapper {
      border-right: 0;
      border-radius: 0px;
   }
}

@media screen and (max-width: 767px) {
   .co_main_left_wrapper {
      border-right: 0;
      border-radius: 0px;
   }

   .terms {
      max-width: 100%;
      padding-left: 0;
      padding-right: 0;
      text-align: center;
   }

   .terms .term_para:last-of-type {
      margin-bottom: 0;
   }

   .term_para_main,
   .term_para_blod {
      font-size: 15px;
      line-height: 1.4 !important;
   }

   .term_para {
      margin-bottom: 15px;
   }

   .adi_main_right {
      margin-top: 20px;
   }

   .co_member_top {
      padding: 25px 16px;
      border-bottom: 1px solid #9ba1aa;
   }

   .co_member_top {
      grid-template-columns: 1fr;
      gap: 20px;
   }

   .comt_left img {
      width: 60px;
      display: block;
      margin: auto;
   }

   .comt_right > p {
      font-size: 15px;
      color: #e5e7e9;
      line-height: 1.4;
      margin-top: 15px;
   }

   .comt_right {
      text-align: center;
   }

   .co_member_bottom {
      padding: 25px 16px;
   }

   .comb_heading_left {
      text-align: center;
   }

   .checkbox {
      padding-left: 16px;
      padding-right: 16px;
   }

   .co_checkbox_text {
      font-size: 16px;
   }

   .comb_check_item {
      max-width: 100%;
      margin-top: 16px;
   }

   .comb_check_item_para p {
      font-size: 15px;
      line-height: 1.4;
   }

   .adi_estimate_card,
   .co_payment,
   .co_payblock {
      border: 0;
   }

   .co_payblock {
      padding-bottom: 0;
   }

   .co_payment_cardblock {
      padding-left: 0;
      padding-right: 0;
   }

   .co_payment_desc {
      font-size: 15px;
      line-height: 1.4;
   }

   .co_addcard {
      padding: 14px 16px;
   }

   .co_addcard p {
      font-size: 15px;
   }

   .co_saved_cards {
      padding: 0;
   }

   .co_saved_card {
      flex-wrap: wrap;
      padding: 12px 14px;
      align-items: center;
   }

   .co_saved_card_check,
   .co_saved_card_logo,
   .co_saved_card_info {
      order: 1;
   }

   .co_saved_card_info {
      flex: 1;
      min-width: 0;
   }

   .co_saved_card::after {
      content: "";
      flex-basis: 100%;
      order: 5;
      height: 0;
   }

   .co_saved_card_default,
   .co_saved_card_action,
   .co_saved_card_delete {
      order: 10;
   }

   .co_saved_card_default,
   .co_set_default {
      margin-left: 40px;
   }

   .co_saved_card_default {
      margin-left: 40px;
   }

   .co_saved_card_default,
   .co_saved_card_action,
   .co_saved_card_delete {
      margin-top: 10px;
   }

   .co_modal,
   #co_modal_2 {
      max-height: 100vh;
      height: 100vh;
      padding-left: 16px;
      padding-right: 16px;
   }

   .co_card_input input,
   .co_card_phone .iti input,
   .co_card_phone .iti input[type="text"],
   .co_card_select select {
      height: 48px;
   }
}

/* ====================================
      Responsive Code end
==================================== */
