#checkoutInfo {
   padding-top: 0;
   padding-bottom: 3rem;
}

.checkout-shell {
   max-width: 1180px;
}

.checkout-page-header {
   padding-top: 1.25rem;
}

.checkout-hero {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 1.5rem;
   padding-bottom: 0.5rem;
}

.checkout-page-title {
   color: #0f172a !important;
   font-size: 1.8rem;
   line-height: 1.1;
   font-weight: 550;
}

.checkout-subtotal {
   color: #64748b;
   font-size: 1rem;
   font-weight: 500;
}

.checkout-progress {
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-end;
   gap: 0.75rem;
}

.checkout-progress__step {
   display: inline-flex;
   align-items: center;
   gap: 0.55rem;
   padding: 0.8rem 1rem;
   border: 1px solid #d9e3f0;
   border-radius: 999px;
   background: #fff;
   color: #64748b;
   font-size: 0.95rem;
   font-weight: 600;
}

.checkout-progress__step.is-current {
   border-color: #0b5ed7;
   background: #eef4ff;
   color: #0b2c5d;
}

.checkout-progress__step.is-complete {
   border-color: #bfd5f5;
   color: #0b2c5d;
}

.checkout-progress__icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

.checkout-main {
   align-items: stretch;
   --checkout-card-radius: 22px;
   --checkout-card-gap: 0.9rem;
}

.checkout-form-panel {
   background: transparent;
   border: 0;
   border-radius: 0;
   box-shadow: none;
   padding: 0 !important;
}

.checkout-form-stack {
   display: flex;
   flex-direction: column;
   gap: 0;
}

.checkout-wizard {
   padding: 0 !important;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step {
   padding-top: 0 !important;
}

.checkout-summary-panel {
   display: block;
   position: sticky !important;
   position: -webkit-sticky !important;
   top: 100px;
   height: fit-content;
   background: transparent;
   border: 0;
   border-radius: 0;
   box-shadow: none;
   padding: 0;
}

#checkoutInfo .checkout-summary-panel .checkout-detail-sticky {
   position: static !important;
   border: 0 !important;
   margin: 0;
   padding: 0 !important;
}

#checkoutInfo .checkout-summary-panel .bg-grey-light {
   background: #f3f4f6 !important;
   border: 1px solid #dde5f0;
   border-radius: var(--checkout-card-radius) !important;
   box-shadow: none;
   padding: 1.2rem 1.25rem 1.25rem !important;
}

#checkoutInfo .checkout-summary-panel .col-12 {
   padding-left: 0;
   padding-right: 0;
}

#checkoutInfo .checkout-summary-panel h3 {
   font-size: 1rem;
}

#checkoutInfo .checkout-summary-panel .item {
   font-size: 0.95rem;
   margin-bottom: 0.75rem !important;
}

#checkoutInfo .checkout-summary-panel hr {
   margin: 0.9rem 0;
}

#checkoutInfo .checkout-summary-panel .legal {
   margin: 0;
   text-align: center;
   font-size: 0.72rem;
   color: #5f6b7b;
}

#checkoutInfo .checkout-summary-panel .checkout-legal {
   padding-top: 0.9rem;
}

@media only screen and (max-width: 991px) {
   .checkout-hero {
      flex-direction: column;
      align-items: flex-start;
   }

   .checkout-progress {
      justify-content: flex-start;
   }

   .checkout-form-panel,
   .checkout-summary-panel {
      border-radius: 0;
   }

   .checkout-summary-panel {
      margin-top: 1rem;
      position: static !important;
   }
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card {
   border: 1px solid #e2e8f0 !important;
   border-radius: var(--checkout-card-radius) !important;
   box-shadow: none !important;
   margin-bottom: var(--checkout-card-gap) !important;
   overflow: visible;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card > .card-header {
   background: transparent !important;
   border-bottom: 0;
   padding: 1rem 1.05rem 0.1rem;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card > .card-header button {
   padding: 0 !important;
   background: transparent !important;
   border: 0 !important;
   color: #0f172a !important;
   font-size: 1.18rem !important;
   font-weight: 700;
   box-shadow: none !important;
   text-decoration: none !important;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card > .card-header .checkout-section-title {
   cursor: default;
   pointer-events: none;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step .card-body {
   width: auto !important;
   margin-left: 0 !important;
   padding: 0.6rem 1.05rem 1rem;
   overflow: visible;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step-0 .card-body {
   padding: 0.6rem 1.05rem 0rem 1rem;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step .card-body > .form-group:last-child {
   margin-bottom: 0 !important;
}

#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step .card-body h1:empty,
#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step .card-body h2:empty,
#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step .card-body h3:empty,
#introCheckout .accordion:not(#shippingAccordion):not(#paymentsAccordion) > .card .form-step .card-body legend:empty {
   display: none !important;
   margin: 0 !important;
   padding: 0 !important;
}

#div_id_step-customer-phone,
#div_id_phone,
[id*="div_id_step-customer-phone"] {
   text-align: left !important;
}

#div_id_step-customer-phone > label,
#div_id_phone > label,
[id*="div_id_step-customer-phone"] > label {
   display: block;
   width: 100%;
   text-align: left !important;
}

#div_id_step-customer-phone .intl-tel-input,
#div_id_step-customer-phone .iti,
#div_id_phone .intl-tel-input,
#div_id_phone .iti,
[id*="div_id_step-customer-phone"] .intl-tel-input,
[id*="div_id_step-customer-phone"] .iti {
   width: 100%;
   display: block;
}

#div_id_step-customer-phone .intl-tel-input input,
#div_id_step-customer-phone .iti input,
#div_id_phone .intl-tel-input input,
#div_id_phone .iti input,
[id*="div_id_step-customer-phone"] .intl-tel-input input,
[id*="div_id_step-customer-phone"] .iti input {
   width: 100% !important;
}

#div_id_step-customer-phone .intl-tel-input .country-list,
#div_id_step-customer-phone .iti__country-list,
#div_id_phone .intl-tel-input .country-list,
#div_id_phone .iti__country-list,
[id*="div_id_step-customer-phone"] .intl-tel-input .country-list,
[id*="div_id_step-customer-phone"] .iti__country-list {
   z-index: 30;
}

#introCheckout .accordion .card .form-step .card-body .form-group {
   text-align: left !important;
   margin-bottom: 1rem !important;
}

#introCheckout .accordion .card .form-step .card-body .form-group label,
.bg-light form.pt-4 .form-group label {
   margin-bottom: 0.2rem !important;
   border-radius: 0.3rem !important;
   font-size: 0.95rem;
   font-weight: 500;
}

#introCheckout .accordion .card .form-step .card-body .form-group input,
input[type=password],
input[type=email],
input.form-control,
select.form-control {
   border: 1px solid #ccc !important;
   background-color: #fff !important;
   border-radius: 0.3rem !important;
   min-height: 46px;
   font-size: 0.98rem;
}

#introCheckout .accordion .card .form-step .card-body .form-group textarea,
textarea.form-control {
   border-radius: 0.3rem !important;
}

#shippingAccordion .card-body .form,
#shippingAccordion .card-body .delivery-add {
   display: none;
}

#shippingAccordion .card-body {
   display: none;
}

#collapseshippingAccordionnew_address .card-body .form,
#collapseshippingAccordionnew_address .card-body .delivery-add {
   display: inherit;
}

#collapseshippingAccordionnew_address .card-body {
   display: block;
}

#introCheckoutDetails + #checkoutInfo > .container-fluid {
   max-width: 1640px;
   margin: 0 auto;
   padding-left: 2rem;
   padding-right: 2rem;
}

#introCheckoutDetails > .container-fluid {
   max-width: 1640px;
   margin: 0 auto;
   padding-left: 2rem;
   padding-right: 2rem;
}

#introCheckoutDetails h1.text-secondary {
   margin-left: 15px;
}

#introCheckoutDetails + #checkoutInfo > .container-fluid > .row {
   --bs-gutter-x: 1.2rem;
   align-items: stretch;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container {
   display: flex;
   flex-direction: column;
   gap: 1rem;
   max-width: none;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container > .list-checkout-items {
   display: grid !important;
   grid-template-columns: 92px minmax(220px, 1.2fr) minmax(230px, 0.8fr) 96px 120px 24px;
   gap: 0.9rem;
   align-items: center;
   width: 100% !important;
   padding: 0.9rem 1rem !important;
   margin: 0 !important;
   border: 1px solid #e2e8f0;
   border-radius: 20px;
   background: #fff !important;
   box-shadow: none;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container > .list-checkout-items > div {
   display: block !important;
   margin-top: 0 !important;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-image {
   width: 84px !important;
   max-width: 84px !important;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-image img {
   width: 84px;
   max-width: 84px;
   height: 108px;
   object-fit: contain;
   margin: 0 !important;
   box-shadow: none !important;
   border-radius: 10px;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-name {
   max-width: none !important;
   flex: unset !important;
   font-size: 1rem !important;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-name h4 {
   margin-bottom: 0.2rem;
   font-size: 0.8rem !important;
   letter-spacing: 0.04em;
   color: #64748b;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-name h2 {
   margin-bottom: 0.25rem;
   font-size: 0.96rem !important;
   line-height: 1.25;
   color: #0f172a;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-name ul,
#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .row-discounts,
#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .row-validations {
   margin-bottom: 0;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .row-discounts span,
#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .row-validations span,
#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-name li {
   font-size: 0.82rem;
   line-height: 1.35;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-qty {
   align-self: center;
   padding-top: 0 !important;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-qty .qty {
   display: flex;
   justify-content: center;
   gap: 0.5rem;
   flex-wrap: nowrap;
   margin: 0 !important;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-qty .qty li {
   display: flex;
   align-items: center;
   justify-content: center;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-qty select,
#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-qty input {
   min-height: 40px;
   border-radius: 0.35rem;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-price,
#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-total {
   text-align: right;
   white-space: nowrap;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-price h3,
#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-total h3 {
   margin: 0;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-price h3 {
   font-size: 0.95rem !important;
   color: #64748b !important;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-total h3 {
   font-size: 1.05rem !important;
   font-weight: 600;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-delete {
   display: flex !important;
   align-items: center;
   justify-content: center;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-delete .close {
   opacity: 0.75;
}

#introCheckoutDetails + #checkoutInfo .js-checkout-items-container .cart-delete .close:hover {
   opacity: 1;
}

#introCheckoutDetails + #checkoutInfo .promocodes-container {
   margin-top: 0.9rem;
   padding: 0 1rem;
   border: 0;
   border-radius: 0;
   background: transparent;
   max-width: 440px;
}

@media only screen and (max-width: 1199px) {
   #introCheckoutDetails > .container-fluid,
   #introCheckoutDetails + #checkoutInfo > .container-fluid {
      padding-left: 1rem;
      padding-right: 1rem;
   }
}

#introCheckoutDetails + #checkoutInfo .promocodes-container form {
   gap: 0.5rem;
}

#introCheckoutDetails + #checkoutInfo .promocodes-container #promocode {
   min-height: 44px;
   border-radius: 0.35rem;
}

#introCheckoutDetails + #checkoutInfo .promocodes-container button {
   min-height: 44px;
   border-radius: 0.45rem;
}

#introCheckoutDetails + #checkoutInfo .checkout-detail-sticky .bg-grey-light {
   border-radius: 22px !important;
   overflow: hidden;
}

#introCheckoutDetails + #checkoutInfo .checkout-detail-sticky {
   position: sticky !important;
   top: 100px;
}

#shippingAccordion .card,
#paymentsAccordion .card {
   border: 2px solid #d8dee8;
   border-radius: 14px;
   overflow: hidden;
   background: #fff;
   margin-bottom: 14px;
   transition: border-color .2s ease, box-shadow .2s ease;
}

#shippingAccordion .card-header,
#paymentsAccordion .card-header {
   padding: 0;
   background: transparent;
   border-bottom: 0;
}

#shippingAccordion .card-header .custom-control,
#paymentsAccordion .card-header .custom-control {
   width: 100%;
   display: flex;
   align-items: center;
   border-radius: 14px 14px 0 0;
   overflow: hidden;
}

#shippingAccordion .card-header button,
#paymentsAccordion .card-header button {
   width: 100%;
   min-height: 68px;
   padding: 0.85rem 4rem 0.85rem 1rem;
   display: flex;
   align-items: center;
   text-align: left;
   font-size: 0.96rem;
   line-height: 1.2;
   color: #1a2e44;
   background: #f7f8fa;
   position: relative;
}

#shippingAccordion .card-header button:not(.collapsed),
#paymentsAccordion .card-header button:not(.collapsed) {
   background: #fff;
   font-weight: 600;
}

#shippingAccordion .card-header button img,
#paymentsAccordion .card-header button img {
   position: absolute;
   right: 18px;
   top: 50%;
   transform: translateY(-50%);
   width: auto;
   height: 38px;
}

#shippingAccordion .card-body,
#paymentsAccordion .card-body {
   padding: 0;
   background: #fff;
   border-top: 1px solid #edf2f7;
}

#shippingAccordion .card-body > div,
#paymentsAccordion .card-body > div {
   padding: 0.8rem 1rem 0.95rem;
}

#shippingAccordion .card:hover,
#paymentsAccordion .card:hover {
   border-color: #bfd2ea;
   box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

#shippingAccordion .card-header .custom-control.selected,
#paymentsAccordion .card-header .custom-control.selected {
   background: #fff;
}

#shippingAccordion .card-header .custom-control.selected button,
#paymentsAccordion .card-header .custom-control.selected button {
   color: #0b2c5d;
   font-weight: 700;
}

#shippingAccordion .card:has(.custom-control.selected),
#paymentsAccordion .card:has(.custom-control.selected) {
   border-color: #0b5ed7;
}

#checkoutInfo .custom-control.selected {
   border: 0;
   box-shadow: none;
}

@media only screen and (min-width: 992px) {
   #shippingAccordion,
   #paymentsAccordion {
      display: grid;
      gap: 14px;
      align-items: start;
   }

   #shippingAccordion {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   #paymentsAccordion {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   #shippingAccordion .card,
   #paymentsAccordion .card {
      margin-bottom: 0;
      height: 100%;
   }
}

@media only screen and (max-width: 600px) {
   #shippingAccordion .card-header button,
   #paymentsAccordion .card-header button {
      min-height: 68px;
      padding: 0.85rem 3.75rem 0.85rem 1rem;
      font-size: 0.95rem;
   }

   #shippingAccordion .card-header button img,
   #paymentsAccordion .card-header button img {
      right: 14px;
      height: 36px;
   }
}
