@charset "UTF-8";
/* line 6, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-card-form.kr-embedded {
  display: block;
}

/* line 12, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element {
  position: relative;
  margin-bottom: 16px;
}

/* line 17, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element.kr-pan, .kr-field-element.kr-card-holder-name {
  width: 100%;
  display: block;
}

/* line 24, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element.kr-expiry, .kr-field-element.kr-security-code {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 16px;
}

/* line 31, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element.kr-expiry {
  width: calc(50% - 8px);
  margin-right: 16px;
}

/* line 36, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element.kr-security-code {
  width: calc(50% - 8px);
  margin-right: 0;
}

/* line 43, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-label.default {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #374151;
  margin-bottom: 6px;
  width: 100%;
  grid-column: 1 / -1;
}

/* line 52, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-label.default[data-name="pan"]::before {
  content: "Numéro de carte";
}

/* line 56, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-label.default[data-name="expiryDate"]::before {
  content: "Date d'expiration";
}

/* line 60, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-label.default[data-name="securityCode"]::before {
  content: "CVC/CVV";
}

/* line 64, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-label.default[data-name="cardHolderName"]::before {
  content: "Titulaire de la carte";
}

/* line 70, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 40px !important;
  gap: 2px 10px !important;
  align-items: center !important;
  position: relative !important;
}

/* line 79, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-input-relative-wrapper {
  margin-top: 1.5% !important;
}

/* line 82, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-outer-wrapper.kr-expiry, .kr-outer-wrapper.kr-security-code {
  margin-top: 3% !important;
}

/* line 86, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  position: relative;
}

/* line 92, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component .kr-iframe-wrapper {
  width: 100% !important;
  height: 48px !important;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: white;
  transition: all 0.2s ease;
  padding: 0 16px;
  display: flex;
  align-items: center;
}

/* line 103, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component .kr-iframe-wrapper iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  visibility: visible !important;
  display: block !important;
}

/* line 113, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component .kr-input-field {
  width: 100% !important;
  height: 48px !important;
  padding: 0 16px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  font-size: 16px;
  color: #1f2937;
  transition: all 0.2s ease;
  background: white;
  font-family: inherit;
}

/* line 125, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component .kr-input-field:focus {
  outline: none !important;
  border-color: #39C7C2 !important;
  box-shadow: 0 0 0 3px rgba(57, 199, 194, 0.1) !important;
}

/* line 131, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component .kr-input-field::placeholder {
  color: #9ca3af;
  font-size: 15px;
}

/* line 136, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component .kr-input-field.kr-on-error {
  border-color: #dc2626;
  background-color: #fef2f2;
}

/* line 144, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-visibility-button[data-name="securityCode"] {
  position: absolute;
  right: 65px;
  z-index: 10000;
  top: 51%;
}

/* line 151, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}

/* line 160, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root .kr-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* line 167, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root .kr-icon .kr-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 172, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root .kr-icon .kr-icon-wrapper .kr-icon-inner-wrapper {
  display: flex;
  align-items: center;
}

/* line 176, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root .kr-icon .kr-icon-wrapper .kr-icon-inner-wrapper .kr-icon-wrapper-content {
  display: flex;
}

/* line 179, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root .kr-icon .kr-icon-wrapper .kr-icon-inner-wrapper .kr-icon-wrapper-content svg {
  width: 32px;
  height: 24px;
}

/* line 183, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root .kr-icon .kr-icon-wrapper .kr-icon-inner-wrapper .kr-icon-wrapper-content svg path {
  fill: #6b7280;
  transition: fill 0.2s;
}

/* line 192, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root .kr-icon.kr-on-error svg path {
  fill: #dc2626;
}

/* line 197, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root[data-name="expiryDate"] .kr-icon svg {
  width: 28px;
  height: 28px;
}

/* line 202, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root[data-name="securityCode"] .kr-icon svg {
  width: 24px;
  height: 24px;
}

/* line 207, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-icon-wrapper-root[data-name="cardHolderName"] .kr-icon svg {
  width: 24px;
  height: 24px;
}

/* line 216, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element.kr-error .kr-field-component .kr-iframe-wrapper {
  border-color: #dc2626;
  background-color: #fef2f2;
}

/* line 223, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element.kr-error .kr-icon-wrapper-root .kr-icon.kr-on-error svg path {
  fill: #dc2626;
}

/* line 231, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-component .kr-iframe-wrapper:focus-within {
  border-color: #39C7C2;
  box-shadow: 0 0 0 3px rgba(57, 199, 194, 0.1);
}

/* line 238, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-brand-selector,
.kr-icon-arrow,
.kr-installment-number,
.kr-first-installment-delay,
.kr-card-holder-mail,
.kr-identity-document-type,
.kr-identity-document-number,
.kr-do-register,
.kr-discount-panel-wrapper,
.kr-wallet-card-list,
.krFieldRepresentation,
.krFieldRepresentationError,
.krFieldRepresentationDisabled {
  display: none;
}

/* line 255, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper {
  position: absolute;
  right: 52px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
}

/* line 264, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper.kr-visible {
  display: flex;
}

/* line 268, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper .kr-help-button {
  width: 24px;
  height: 24px;
  cursor: help;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 276, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper .kr-help-button .kr-help-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 281, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper .kr-help-button .kr-help-icon-wrapper svg {
  width: 18px;
  height: 18px;
  color: #6b7280;
  transition: color 0.2s;
}

/* line 287, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper .kr-help-button .kr-help-icon-wrapper svg path {
  fill: currentColor;
}

/* line 291, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper .kr-help-button .kr-help-icon-wrapper svg:hover {
  color: #374151;
}

/* line 297, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-security-code .kr-help-button-wrapper .kr-help-button .kr-help-icon-wrapper.kr-error svg {
  color: #dc2626;
}

/* line 304, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-payment-button {
  width: 100%;
  padding: 16px 24px;
  background: #FF5722;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 8px;
  font-family: inherit;
}

/* line 318, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-payment-button:hover:not(:disabled) {
  background: #FF5722;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
}

/* line 324, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-payment-button:active:not(:disabled) {
  transform: translateY(0);
}

/* line 328, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-payment-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media screen and (max-width: 768px) {
  /* line 304, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-payment-button {
    display: none;
  }
}

/* line 339, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-form-error {
  color: #dc2626;
  font-size: 14px;
  padding: 12px 16px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  margin-top: 16px;
  display: none;
}

/* line 349, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-form-error:not(:empty) {
  display: block;
}

/* line 353, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-form-error span[role="paragraph"] {
  display: block;
  line-height: 1.5;
}

/* line 360, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-wrapper.kr-read-only,
.kr-select.kr-read-only {
  opacity: 0.6;
  cursor: not-allowed;
}

@media screen and (max-width: 768px) {
  /* line 368, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-element {
    margin-bottom: 14px;
  }
  /* line 372, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-element.kr-expiry, .kr-field-element.kr-security-code {
    width: 100%;
    margin-right: 0;
  }
  /* line 378, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-element .kr-label.default {
    font-size: 13px;
    margin-bottom: 0;
  }
  /* line 385, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-component .kr-iframe-wrapper {
    min-height: 48px;
    padding: 0 14px;
  }
  /* line 389, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-component .kr-iframe-wrapper iframe {
    height: 38px !important;
  }
  /* line 394, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-component .kr-input-field {
    padding: 13px 14px;
    font-size: 16px;
  }
  /* line 400, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-icon-wrapper-root {
    width: 36px;
    height: 36px;
  }
  /* line 404, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-icon-wrapper-root .kr-icon svg {
    width: 28px;
    height: 22px;
  }
  /* line 410, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-wrapper {
    grid-template-columns: 1fr 36px;
  }
  /* line 414, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-security-code .kr-help-button-wrapper {
    right: 44px;
  }
  /* line 417, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-security-code .kr-help-button-wrapper .kr-help-button {
    width: 20px;
    height: 20px;
  }
  /* line 421, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-security-code .kr-help-button-wrapper .kr-help-button svg {
    width: 16px;
    height: 16px;
  }
}

@supports (-webkit-touch-callout: none) {
  /* line 432, app/assets/stylesheets/booking/sdk_payement.scss */
  .kr-field-component .kr-input-field {
    font-size: 16px !important;
  }
}

@keyframes kr-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* line 449, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-card-form.kr-loading .kr-field-component {
  animation: kr-pulse 1.5s ease-in-out infinite;
}

/* line 455, app/assets/stylesheets/booking/sdk_payement.scss */
.kr-field-element,
.kr-field-component,
.kr-iframe-wrapper,
.kr-input-field {
  transition: all 0.2s ease;
}

/* line 4, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) .booking-form-container-main {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* line 11, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) .hero-content, body:has(.step-payement-container) .booking-form-section-hide {
  display: none;
}

/* line 14, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) .landing-container.hero-grid {
  display: block !important;
}

@media screen and (max-width: 768px) {
  /* line 14, app/assets/stylesheets/booking/step_payement.scss */
  body:has(.step-payement-container) .landing-container.hero-grid {
    padding: 0 10px;
  }
}

/* line 20, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) #booking-app {
  text-align: left;
  margin: 0;
  width: auto;
}

/* line 25, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) .landing-phone-cta {
  display: none !important;
}

/* line 28, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) section.section-padding {
  display: none !important;
}

/* line 31, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) section#avis.section-padding {
  display: block !important;
}

/* line 35, app/assets/stylesheets/booking/step_payement.scss */
body:has(.step-payement-container) .landing-nav-links {
  display: none !important;
}

/* line 39, app/assets/stylesheets/booking/step_payement.scss */
body.sidebar-open-no-scroll {
  overflow: hidden !important;
  position: fixed;
  width: 100%;
  height: 100%;
}

/* line 47, app/assets/stylesheets/booking/step_payement.scss */
.step-payement-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 20px 20px;
}

@media screen and (max-width: 768px) {
  /* line 47, app/assets/stylesheets/booking/step_payement.scss */
  .step-payement-container {
    padding: 0;
  }
}

/* line 57, app/assets/stylesheets/booking/step_payement.scss */
.step-payement-header {
  margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
  /* line 57, app/assets/stylesheets/booking/step_payement.scss */
  .step-payement-header {
    display: none;
  }
}

/* line 65, app/assets/stylesheets/booking/step_payement.scss */
.payement-content {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 30px;
  align-items: start;
}

@media screen and (max-width: 1024px) {
  /* line 65, app/assets/stylesheets/booking/step_payement.scss */
  .payement-content {
    grid-template-columns: 1fr;
  }
}

/* line 76, app/assets/stylesheets/booking/step_payement.scss */
.kr-smart-form .kr-smart-form-wrapper.kr-type-embedded .kr-card-header {
  padding: 13px 12px 10px;
}

/* line 81, app/assets/stylesheets/booking/step_payement.scss */
.kr-smart-form .kr-smart-form-wrapper.kr-type-embedded .kr-card-header span.kr-card-header-label {
  font-size: 14px;
}

/* line 84, app/assets/stylesheets/booking/step_payement.scss */
.kr-smart-form .kr-smart-form-wrapper.kr-type-embedded .kr-card-header .kr-card-icons span.kr-brand-icon {
  margin: 0 10px;
}

/* line 88, app/assets/stylesheets/booking/step_payement.scss */
.btn-hamburger {
  display: none;
  width: 100%;
  padding: 8px;
  background: white;
  color: #1f2937;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 16px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* line 103, app/assets/stylesheets/booking/step_payement.scss */
.btn-hamburger:hover {
  background: #f9fafb;
}

/* line 107, app/assets/stylesheets/booking/step_payement.scss */
.btn-hamburger i {
  margin-right: 8px;
  color: #39C7C2;
}

@media screen and (max-width: 1024px) {
  /* line 88, app/assets/stylesheets/booking/step_payement.scss */
  .btn-hamburger {
    display: block;
  }
}

/* line 117, app/assets/stylesheets/booking/step_payement.scss */
.payement-sidebar {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  position: sticky;
  top: 20px;
}

@media screen and (max-width: 1024px) {
  /* line 117, app/assets/stylesheets/booking/step_payement.scss */
  .payement-sidebar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    overflow-y: auto;
    border-radius: 0;
    padding: 20px;
    background: white;
  }
  /* line 139, app/assets/stylesheets/booking/step_payement.scss */
  .payement-sidebar.show {
    display: block;
    top: 6%;
  }
}

/* line 146, app/assets/stylesheets/booking/step_payement.scss */
.payment-section-title {
  font-size: 20px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 24px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  /* line 146, app/assets/stylesheets/booking/step_payement.scss */
  .payment-section-title {
    font-size: 16px;
  }
}

/* line 160, app/assets/stylesheets/booking/step_payement.scss */
.payment-user-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
}

/* line 168, app/assets/stylesheets/booking/step_payement.scss */
.payment-user-title {
  font-size: 12px;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 12px 0;
}

/* line 177, app/assets/stylesheets/booking/step_payement.scss */
.payment-user-name {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px 0;
}

/* line 184, app/assets/stylesheets/booking/step_payement.scss */
.payment-user-contact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #374151;
  margin-bottom: 8px;
}

/* line 192, app/assets/stylesheets/booking/step_payement.scss */
.payment-user-contact:last-child {
  margin-bottom: 0;
}

/* line 196, app/assets/stylesheets/booking/step_payement.scss */
.payment-user-contact i {
  color: #39C7C2;
  font-size: 14px;
  width: 16px;
}

/* line 202, app/assets/stylesheets/booking/step_payement.scss */
.payment-user-contact span {
  flex: 1;
}

/* line 207, app/assets/stylesheets/booking/step_payement.scss */
.payment-badge-verified {
  background: #dcfce7;
  color: #166534;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 600;
  flex: none !important;
}

/* line 217, app/assets/stylesheets/booking/step_payement.scss */
.payment-vehicle-section {
  text-align: center;
  margin-bottom: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
}

/* line 226, app/assets/stylesheets/booking/step_payement.scss */
.vehicle-type-label {
  display: inline-block;
  background: #3d3d3d;
  color: white;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

/* line 237, app/assets/stylesheets/booking/step_payement.scss */
.payment-vehicle-image {
  display: block;
  max-width: 200px;
  height: auto;
  margin: 16px auto 0;
}

/* line 244, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
}

/* line 253, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-date {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 20px;
}

/* line 261, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-date i {
  color: #39C7C2;
}

/* line 266, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-location {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  position: relative;
}

/* line 272, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-location:not(:last-of-type)::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 24px;
  width: 2px;
  height: calc(100% + 8px);
  background: #39C7C2;
}

/* line 283, app/assets/stylesheets/booking/step_payement.scss */
.payment-location-marker {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 4px;
}

/* line 290, app/assets/stylesheets/booking/step_payement.scss */
.payment-location-marker.departure {
  background: #39C7C2;
}

/* line 294, app/assets/stylesheets/booking/step_payement.scss */
.payment-location-marker.arrival {
  background: #39C7C2;
  border: 3px solid white;
  box-shadow: 0 0 0 2px #39C7C2;
}

/* line 301, app/assets/stylesheets/booking/step_payement.scss */
.payment-location-info {
  flex: 1;
}

/* line 304, app/assets/stylesheets/booking/step_payement.scss */
.payment-location-info strong {
  display: block;
  font-size: 11px;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
  font-weight: 700;
}

/* line 314, app/assets/stylesheets/booking/step_payement.scss */
.payment-location-info p {
  font-size: 14px;
  color: #1f2937;
  margin: 0;
  font-weight: 500;
}

/* line 322, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-price {
  font-size: 20px;
  font-weight: 800;
  font-family: "Poppins", sans-serif;
  color: #111827;
  text-align: right;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  margin-top: 12px;
}

/* line 333, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-options {
  background: white;
  border: 1px solid #e5e7eb;
  padding: 16px;
  margin-bottom: 20px;
  border-radius: 12px;
}

/* line 341, app/assets/stylesheets/booking/step_payement.scss */
.payment-option-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
}

/* line 347, app/assets/stylesheets/booking/step_payement.scss */
.payment-option-item:not(:last-child) {
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 8px;
  padding-bottom: 12px;
}

/* line 354, app/assets/stylesheets/booking/step_payement.scss */
.payment-option-info {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #6b7280;
}

/* line 361, app/assets/stylesheets/booking/step_payement.scss */
.payment-option-info i {
  color: #39C7C2;
  font-size: 16px;
}

/* line 367, app/assets/stylesheets/booking/step_payement.scss */
.payment-option-price {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
}

/* line 373, app/assets/stylesheets/booking/step_payement.scss */
.payment-discounts {
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
}

/* line 381, app/assets/stylesheets/booking/step_payement.scss */
.payment-discount-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  color: #78350f;
  font-weight: 600;
}

/* line 389, app/assets/stylesheets/booking/step_payement.scss */
.payment-discount-item:not(:last-child) {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #fde68a;
}

/* line 396, app/assets/stylesheets/booking/step_payement.scss */
.payment-discount-amount {
  font-size: 16px;
  font-weight: 700;
  color: #92400e;
}

/* line 402, app/assets/stylesheets/booking/step_payement.scss */
.payment-trip-total {
  background: white;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

/* line 414, app/assets/stylesheets/booking/step_payement.scss */
.payment-total-label strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 424, app/assets/stylesheets/booking/step_payement.scss */
.payment-original-price {
  font-size: 14px;
  color: #9ca3af;
  text-decoration: line-through;
  margin: 4px 0 0 0;
}

/* line 431, app/assets/stylesheets/booking/step_payement.scss */
.payment-total-price {
  font-size: 42px;
  font-weight: 800;
  font-family: "Poppins", sans-serif;
  color: #111827;
  line-height: 1;
}

/* line 439, app/assets/stylesheets/booking/step_payement.scss */
.payment-reassurance {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 446, app/assets/stylesheets/booking/step_payement.scss */
.payment-reassurance-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  line-height: 1.6;
  color: #374151;
}

/* line 454, app/assets/stylesheets/booking/step_payement.scss */
.payment-reassurance-item i {
  color: #39C7C2;
  font-size: 18px;
  margin-top: 0px;
  flex-shrink: 0;
  width: 20px;
  text-align: center;
}

/* line 463, app/assets/stylesheets/booking/step_payement.scss */
.payment-reassurance-item span {
  flex: 1;
  font-weight: 500;
}

/* line 469, app/assets/stylesheets/booking/step_payement.scss */
.payment-security-badge {
  text-align: center;
  padding: 16px 0 8px;
  border-top: 1px solid #e5e7eb;
  margin-top: 20px;
}

/* line 475, app/assets/stylesheets/booking/step_payement.scss */
.payment-security-badge i {
  color: #9ca3af;
  font-size: 11px;
  margin-right: 6px;
}

/* line 481, app/assets/stylesheets/booking/step_payement.scss */
.payment-security-badge span {
  font-size: 11px;
  font-weight: 600;
  color: #9ca3af;
  letter-spacing: 0.5px;
}

/* line 489, app/assets/stylesheets/booking/step_payement.scss */
.btn-close-sidebar {
  display: none;
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  font-size: 28px;
  color: #6b7280;
  cursor: pointer;
  z-index: 10000;
}

@media screen and (max-width: 1024px) {
  /* line 489, app/assets/stylesheets/booking/step_payement.scss */
  .btn-close-sidebar {
    display: block;
  }
}

/* line 505, app/assets/stylesheets/booking/step_payement.scss */
.btn-close-sidebar:hover {
  color: #1f2937;
}

/* line 510, app/assets/stylesheets/booking/step_payement.scss */
.cart-info {
  background: #f9fafb;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}

/* line 516, app/assets/stylesheets/booking/step_payement.scss */
.cart-info h4 {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 8px 0;
}

/* line 523, app/assets/stylesheets/booking/step_payement.scss */
.cart-info p {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 6px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 531, app/assets/stylesheets/booking/step_payement.scss */
.cart-info p i {
  color: #39C7C2;
  width: 16px;
}

/* line 537, app/assets/stylesheets/booking/step_payement.scss */
.cart-info h2 {
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  margin: 12px 0;
}

/* line 544, app/assets/stylesheets/booking/step_payement.scss */
.cart-info small {
  font-size: 12px;
  color: #6b7280;
  display: block;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}

/* line 553, app/assets/stylesheets/booking/step_payement.scss */
.cart-info img {
  width: 100%;
  max-width: 180px;
  height: auto;
  display: block;
  margin: 12px auto;
}

/* line 562, app/assets/stylesheets/booking/step_payement.scss */
.badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

/* line 570, app/assets/stylesheets/booking/step_payement.scss */
.badge-dark {
  background: #3d3d3d;
  color: white;
}

/* line 575, app/assets/stylesheets/booking/step_payement.scss */
.badge-custom-success {
  background: #dcfce7;
  color: #166534;
  margin-left: 8px;
}

/* line 581, app/assets/stylesheets/booking/step_payement.scss */
.ride-infos-slide {
  padding: 12px 0;
  margin-bottom: 8px;
}

/* line 585, app/assets/stylesheets/booking/step_payement.scss */
.ride-infos-slide.from, .ride-infos-slide.to {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 12px;
}

/* line 591, app/assets/stylesheets/booking/step_payement.scss */
.ride-infos-slide p {
  margin: 0 0 4px 0;
}

/* line 594, app/assets/stylesheets/booking/step_payement.scss */
.ride-infos-slide p strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

/* line 606, app/assets/stylesheets/booking/step_payement.scss */
.seats-options-summary {
  background: #f9fafb;
  border-radius: 8px;
  padding: 12px;
  margin: 16px 0;
  border: 1px solid #e5e7eb;
}

/* line 614, app/assets/stylesheets/booking/step_payement.scss */
.seat-option-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
}

/* line 620, app/assets/stylesheets/booking/step_payement.scss */
.seat-option-item:not(:last-child) {
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 8px;
  padding-bottom: 10px;
}

/* line 627, app/assets/stylesheets/booking/step_payement.scss */
.seat-option-info {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #6b7280;
}

/* line 634, app/assets/stylesheets/booking/step_payement.scss */
.seat-option-info i {
  color: #39C7C2;
  font-size: 14px;
}

/* line 640, app/assets/stylesheets/booking/step_payement.scss */
.seat-option-price {
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
}

/* line 646, app/assets/stylesheets/booking/step_payement.scss */
.text-barre {
  text-decoration: line-through;
  color: #9ca3af;
  font-size: 18px;
}

/* line 652, app/assets/stylesheets/booking/step_payement.scss */
.cancellation-badge {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 8px;
  padding: 12px;
  margin-top: 16px;
}

/* line 659, app/assets/stylesheets/booking/step_payement.scss */
.cancellation-badge i {
  color: #10b981;
  margin-right: 8px;
}

/* line 664, app/assets/stylesheets/booking/step_payement.scss */
.cancellation-badge h4 {
  color: #065f46;
  font-size: 14px;
  margin: 0 0 4px 0;
  display: inline;
}

/* line 671, app/assets/stylesheets/booking/step_payement.scss */
.cancellation-badge p {
  color: #047857;
  font-size: 12px;
  margin: 4px 0 0 0;
}

/* line 678, app/assets/stylesheets/booking/step_payement.scss */
.payment-section {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 768px) {
  /* line 678, app/assets/stylesheets/booking/step_payement.scss */
  .payment-section {
    padding: 16px;
    margin-bottom: 10px;
  }
}

/* line 689, app/assets/stylesheets/booking/step_payement.scss */
.payment-section h2 {
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 8px 0;
}

/* line 696, app/assets/stylesheets/booking/step_payement.scss */
.payment-section > p {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 10px 0;
}

/* line 703, app/assets/stylesheets/booking/step_payement.scss */
.scarcity-banner {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 12px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 14px;
}

/* line 714, app/assets/stylesheets/booking/step_payement.scss */
.scarcity-banner i {
  color: #dc2626;
  font-size: 16px;
  margin-top: 2px;
  flex-shrink: 0;
}

/* line 721, app/assets/stylesheets/booking/step_payement.scss */
.scarcity-banner strong {
  color: #991b1b;
  display: block;
  margin-bottom: 2px;
}

/* line 728, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container {
  margin: 0;
  position: relative;
}

/* line 733, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container.is-loading .kr-smart-form {
  display: none;
}

/* line 736, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container.is-loading .payment-form-loader {
  display: block;
}

/* line 742, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container.is-ready .kr-smart-form {
  display: block;
}

/* line 745, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container.is-ready .payment-form-loader {
  display: none;
}

/* line 751, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader {
  display: none;
  animation: pulse 1.5s ease-in-out infinite;
}

/* line 755, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-card-fields {
  margin-bottom: 24px;
}

/* line 759, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-field {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
  height: 48px;
  margin-bottom: 12px;
}

/* line 768, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-card-number {
  width: 100%;
}

/* line 772, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* line 778, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-expiry,
.payment-form-loader .skeleton-cvv {
  margin-bottom: 0;
}

/* line 783, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-wallet-section {
  margin: 24px 0 20px 0;
}

/* line 787, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-title {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  height: 20px;
  width: 200px;
  margin-bottom: 12px;
}

/* line 797, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-wallet-button {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 6px;
  height: 60px;
  margin-bottom: 10px;
}

/* line 806, app/assets/stylesheets/booking/step_payement.scss */
.payment-form-loader .skeleton-submit-button {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
  height: 56px;
  margin-top: 20px;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* line 825, app/assets/stylesheets/booking/step_payement.scss */
.payment-badges {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  margin: 6px 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  /* line 825, app/assets/stylesheets/booking/step_payement.scss */
  .payment-badges {
    flex-direction: column;
    gap: 8px;
  }
}

/* line 839, app/assets/stylesheets/booking/step_payement.scss */
.payment-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #f9fafb;
  border-radius: 8px;
  font-size: 13px;
  color: #39C7C2;
}

/* line 849, app/assets/stylesheets/booking/step_payement.scss */
.payment-badge i {
  color: #39C7C2;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  /* line 839, app/assets/stylesheets/booking/step_payement.scss */
  .payment-badge {
    width: 100%;
    justify-content: center;
  }
}

/* line 860, app/assets/stylesheets/booking/step_payement.scss */
.slot-warning {
  text-align: center;
  margin-top: 0px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}

/* line 866, app/assets/stylesheets/booking/step_payement.scss */
.slot-warning strong {
  font-size: 14px;
  color: #dc2626;
}

/* line 872, app/assets/stylesheets/booking/step_payement.scss */
.bold {
  font-weight: 700;
}

/* line 876, app/assets/stylesheets/booking/step_payement.scss */
.fs-36 {
  font-size: 32px;
}

/* line 880, app/assets/stylesheets/booking/step_payement.scss */
.py-mobile-sticky-footer {
  display: none;
}

@media screen and (max-width: 768px) {
  /* line 880, app/assets/stylesheets/booking/step_payement.scss */
  .py-mobile-sticky-footer {
    display: flex;
    flex-direction: column;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
  }
  /* line 896, app/assets/stylesheets/booking/step_payement.scss */
  .py-mobile-sticky-footer .kr-payment-button {
    width: 100%;
    padding: 16px 24px;
    background: #FF5722;
    color: white;
    border: none;
    border-radius: 0;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0;
  }
  /* line 909, app/assets/stylesheets/booking/step_payement.scss */
  .py-mobile-sticky-footer .kr-payment-button:hover:not(:disabled) {
    background: #FF5722;
  }
  /* line 913, app/assets/stylesheets/booking/step_payement.scss */
  .py-mobile-sticky-footer .kr-payment-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }
  /* line 919, app/assets/stylesheets/booking/step_payement.scss */
  .py-mobile-sticky-footer .mobile-sticky-badges-bottom {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding: 6px 16px 8px 16px;
    background: #fafafa;
    border-top: 1px solid #f0f0f0;
  }
  /* line 928, app/assets/stylesheets/booking/step_payement.scss */
  .py-mobile-sticky-footer .mobile-badge-small {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    color: #9ca3af;
  }
  /* line 935, app/assets/stylesheets/booking/step_payement.scss */
  .py-mobile-sticky-footer .mobile-badge-small i {
    color: #39C7C2;
    font-size: 11px;
  }
}

@media screen and (max-width: 768px) {
  /* line 945, app/assets/stylesheets/booking/step_payement.scss */
  .payment-section h2 {
    font-size: 18px;
  }
  /* line 949, app/assets/stylesheets/booking/step_payement.scss */
  .payment-section > p {
    font-size: 13px;
  }
  /* line 955, app/assets/stylesheets/booking/step_payement.scss */
  .cart-info h2 {
    font-size: 18px;
  }
  /* line 959, app/assets/stylesheets/booking/step_payement.scss */
  .cart-info .fs-36 {
    font-size: 28px;
  }
  /* line 963, app/assets/stylesheets/booking/step_payement.scss */
  .cart-info img {
    max-width: 140px;
  }
  /* line 968, app/assets/stylesheets/booking/step_payement.scss */
  .scarcity-banner {
    font-size: 13px;
    padding: 10px 12px;
  }
  /* line 972, app/assets/stylesheets/booking/step_payement.scss */
  .scarcity-banner i {
    font-size: 14px;
  }
}

/* line 978, app/assets/stylesheets/booking/step_payement.scss */
.payment-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  gap: 20px;
}

/* line 993, app/assets/stylesheets/booking/step_payement.scss */
.payment-loading-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: #39C7C2;
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(57, 199, 194, 0.3);
}

/* line 1003, app/assets/stylesheets/booking/step_payement.scss */
.payment-loading-spinner i {
  color: white;
  font-size: 36px;
}

/* line 1009, app/assets/stylesheets/booking/step_payement.scss */
.payment-loading-text {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin: 0;
}

@supports (-webkit-touch-callout: none) {
  /* line 1017, app/assets/stylesheets/booking/step_payement.scss */
  .systempay-form-container input {
    font-size: 16px;
  }
}

/* line 1023, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container.hidden {
  display: none !important;
}

/* line 1026, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container {
  margin-top: 7px;
  margin-bottom: 20px;
}

/* line 1030, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-buttons-title {
  font-size: 16px;
  color: #666;
  margin-bottom: 12px;
}

/* line 1036, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button {
  width: 100%;
  background: white;
  border: 1px solid #d1d1d6;
  border-radius: 6px;
  padding: 6px 9px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 1046, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button:hover {
  border-color: #a1a1a6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* line 1051, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button .wallet-button-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 1057, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button .wallet-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
  font-weight: 600;
}

/* line 1069, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button .apple-pay-icon {
  background: #000;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* line 1074, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button .apple-pay-icon::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* line 1086, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button .google-pay-icon {
  background: linear-gradient(135deg, #4285F4 0%, #34A853 50%, #FBBC05 75%, #EA4335 100%);
  color: #fff;
}

/* line 1091, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .custom-wallet-buttons-container .wallet-button .wallet-label {
  font-size: 15px;
  color: #1d1d1f;
  font-weight: 400;
}

/* line 1099, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .kr-payment-button {
  display: block !important;
  width: 100%;
  margin-top: 20px;
  background: #FF5722 !important;
}

/* line 1105, app/assets/stylesheets/booking/step_payement.scss */
.systempay-form-container .kr-payment-button:hover {
  background: #E64A19 !important;
}

@media screen and (max-width: 768px) {
  /* line 1099, app/assets/stylesheets/booking/step_payement.scss */
  .systempay-form-container .kr-payment-button {
    position: fixed !important;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 !important;
    border-radius: 0;
    z-index: 1000 !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
  }
}

@media screen and (max-width: 768px) {
  /* line 1022, app/assets/stylesheets/booking/step_payement.scss */
  .systempay-form-container {
    margin-bottom: 20px;
  }
}

/* line 1127, app/assets/stylesheets/booking/step_payement.scss */
.payment-token-expired {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 40px 24px;
  text-align: center;
  background: #fff8f0;
  border: 1px solid #fde8d0;
  border-radius: 12px;
  margin: 8px 0 16px;
}

/* line 1140, app/assets/stylesheets/booking/step_payement.scss */
.payment-token-expired i {
  font-size: 2.5rem;
  color: #FF5722;
  opacity: 0.8;
}

/* line 1146, app/assets/stylesheets/booking/step_payement.scss */
.payment-token-expired p {
  margin: 0;
  font-size: 0.95rem;
  color: #64748b;
  line-height: 1.5;
}

/* line 1154, app/assets/stylesheets/booking/step_payement.scss */
.payment-token-expired-btn {
  padding: 12px 24px;
  background: linear-gradient(135deg, #FF5722 0%, #E64A19 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}

/* line 1165, app/assets/stylesheets/booking/step_payement.scss */
.payment-token-expired-btn:hover {
  opacity: 0.9;
}
