#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 .delivery-add {
   display: none !important;
}

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

#shippingAccordion .card:not(:has(#collapseshippingAccordionnew_address)) .accordion-collapse,
#shippingAccordion .card:not(:has(#collapseshippingAccordionnew_address)) .card-body {
   display: none !important;
}

#shippingAccordion .card.accordion-selected #collapseshippingAccordionnew_address,
#shippingAccordion .card:has(button.selected:not(.collapsed)) #collapseshippingAccordionnew_address {
   display: block !important;
}

#shippingAccordion .card.accordion-selected #collapseshippingAccordionnew_address .card-body,
#shippingAccordion .card:has(button.selected:not(.collapsed)) #collapseshippingAccordionnew_address .card-body {
   display: block !important;
   padding: 1rem !important;
   border-top: 1px solid #edf2f7;
}

#shippingAccordion .card.accordion-selected #collapseshippingAccordionnew_address .card-body .form,
#shippingAccordion .card:has(button.selected:not(.collapsed)) #collapseshippingAccordionnew_address .card-body .form {
   display: block !important;
}

#shippingAccordion .card:not(.accordion-selected):not(:has(button.selected:not(.collapsed))) #collapseshippingAccordionnew_address {
   display: none !important;
}

#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>.cart-item-bundle,
#introCheckoutDetails+#checkoutInfo .js-checkout-items-container>.cart-item-promo {
   grid-template-columns: 92px minmax(220px, 1.2fr) minmax(90px, 0.1fr) 96px 104px 40px;
}

#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;
}

.mobile-cart-gift-icon {
   display: inline-flex;
   width: 1em;
   height: 1em;
   margin-right: 0.2rem;
   vertical-align: -0.15em;
}

.mobile-cart-gift-icon svg {
   width: 7%;
   height: 7%;
}

#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;
   }
}

@media only screen and (max-width: 1399px) and (min-width: 992px) {
   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container>.list-checkout-items {
      grid-template-columns: 72px minmax(120px, 1fr) minmax(162px, auto) 22px;
      gap: 0.75rem;
      padding: 0.85rem 0.9rem !important;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container>.cart-item-bundle,
   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container>.cart-item-promo {
      grid-template-columns: 72px minmax(220px, 1.5fr) minmax(110px, auto) 22px;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-image {
      width: 64px !important;
      max-width: 64px !important;
      grid-row: 1 / span 3;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-image img {
      width: 64px;
      max-width: 64px;
      height: 84px;
      padding: 0.35rem !important;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-name {
      min-width: 0;
      grid-row: 1 / span 3;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-name h2 {
      overflow-wrap: anywhere;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-qty {
      grid-column: 3;
      grid-row: 1;
      justify-self: end;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-qty .qty {
      gap: 0.35rem;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-qty select,
   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-qty input {
      min-height: 36px;
      max-width: 58px;
      padding-left: 0.4rem;
      padding-right: 0.4rem;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-price {
      grid-column: 3;
      grid-row: 2;
      justify-self: end;
      align-self: start;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-total {
      grid-column: 3;
      grid-row: 3;
      justify-self: end;
      align-self: start;
      padding-top: 0;
   }

   #introCheckoutDetails+#checkoutInfo .js-checkout-items-container .cart-delete {
      grid-column: 4;
      grid-row: 1 / span 3;
      justify-self: center;
   }

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

@media only screen and (max-width: 767.98px) {
   .row-gifts {
      font-size: 0.8rem !important;
   }

   .row-gifts ul {
      width: 100%;
   }

   .row-gifts li.d-flex.align-items-center {
      display: grid !important;
      grid-template-columns: 48px minmax(0, 1fr) 3.75rem;
      gap: 0.5rem;
      align-items: center !important;
      width: 100%;
   }

   .row-gifts li.d-flex.align-items-center>span {
      min-width: 0;
   }

   .row-gifts li.d-flex.align-items-center>span:nth-child(2) {
      overflow-wrap: anywhere;
   }

   .row-gifts li.d-flex.align-items-center>span:last-child {
      text-align: right;
      white-space: nowrap;
   }
}

#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;
}

@media only screen and (max-width: 991px) {
   #introCheckoutDetails+#checkoutInfo .checkout-detail-sticky {
      position: static !important;
      top: auto;
      margin-top: 1rem;
   }
}

#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;
}

#introCheckout #shippingAccordion.accordion .card,
#introCheckout #paymentsAccordion.accordion .card {
   margin-bottom: 0;
}

#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: none;
}

#shippingAccordion .card:not(.accordion-selected):not(:has(button.selected:not(.collapsed))) {
   border-color: #d8dee8 !important;
   background: #f7f8fa !important;
}

#shippingAccordion .card:not(.accordion-selected):not(:has(button.selected:not(.collapsed))) .card-header .custom-control,
#shippingAccordion .card:not(.accordion-selected):not(:has(button.selected:not(.collapsed))) .card-header button {
   background: #f7f8fa !important;
   color: #1a2e44 !important;
   font-weight: 500 !important;
}

#shippingAccordion .card:not(:has(#collapseshippingAccordionnew_address)) .card-header .custom-control,
#shippingAccordion .card:not(:has(#collapseshippingAccordionnew_address)) .card-header button,
#shippingAccordion .card:not(.accordion-selected) .card-header .custom-control,
#shippingAccordion .card:not(.accordion-selected) .card-header button {
   border-radius: 12px;
}

#shippingAccordion .card.accordion-selected,
#shippingAccordion .card:has(button.selected:not(.collapsed)),
#paymentsAccordion .card.accordion-selected,
#paymentsAccordion .card:has(.custom-control.selected),
#paymentsAccordion .card:has(button:not(.collapsed)) {
   border-color: #0b5ed7 !important;
   background: #fff !important;
}

#shippingAccordion .card.accordion-selected .card-header .custom-control,
#shippingAccordion .card.accordion-selected .card-header button,
#shippingAccordion .card:has(button.selected:not(.collapsed)) .card-header .custom-control,
#shippingAccordion .card:has(button.selected:not(.collapsed)) .card-header button,
#paymentsAccordion .card-header .custom-control.selected,
#paymentsAccordion .card-header .custom-control.selected button,
#paymentsAccordion .card-header button:not(.collapsed) {
   color: #0b2c5d !important;
   font-weight: 700 !important;
   background: #fff !important;
}

#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 {
      margin-bottom: 0;
      height: auto !important;
      align-self: start;
   }

   #paymentsAccordion .card {
      margin-bottom: 0 !important;
      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;
   }
}


#paymentsAccordion button.custom-control {
   border: 0px !important;
}