.smart-perso-native-wrap-hidden > :not(.smart-perso-box) {
  display: none !important;
}

.smart-perso-native-hidden,
.smart-perso-original-hidden,
.smart-perso-recap-source {
  display: none !important;
}

.smart-perso-native-dialog-hidden {
  opacity: 0 !important;
  pointer-events: none !important;
}

.smart-perso-box {
  display: block !important;
  position: relative !important;
  z-index: 30 !important;
  pointer-events: auto !important;
  width: 100% !important;
  max-width: 460px !important;
  margin: 18px 0 !important;
  padding: 18px !important;
  border: 1px solid #e3e8f0 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08) !important;
  color: #111827 !important;
  box-sizing: border-box !important;
}

.smart-perso-product {
  margin-top: 14px !important;
}

.smart-perso-cart {
  max-width: 390px !important;
  margin: 10px 0 14px !important;
  padding: 14px !important;
}

.smart-perso-title {
  margin: 0 0 6px !important;
  color: #111827 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.smart-perso-cart .smart-perso-title {
  font-size: 14px !important;
}

.smart-perso-hint {
  margin: 0 0 14px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.smart-perso-box label,
.smart-perso-mobile-sheet label {
  display: block !important;
  margin: 12px 0 6px !important;
  color: #111827 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.smart-perso-box input,
.smart-perso-mobile-sheet input {
  display: block !important;
  pointer-events: auto !important;
  user-select: text !important;
  touch-action: manipulation !important;
  transform: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
  cursor: text !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  box-sizing: border-box !important;
}

.smart-perso-box input:focus,
.smart-perso-mobile-sheet input:focus {
  border-color: #111827 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, .1) !important;
}

.smart-perso-box button,
.smart-perso-mobile-button,
.smart-perso-mobile-save,
.smart-perso-mobile-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin: 14px 0 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #111827 !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(17, 24, 39, .16) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.smart-perso-box button:hover,
.smart-perso-mobile-button:hover,
.smart-perso-mobile-save:hover {
  background: #020617 !important;
}

.smart-perso-mobile-close {
  border: 1px solid #cbd5e1 !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
}

.dkLabNoteTextDetailEditable[data-smart-perso-ready="1"] {
  display: none !important;
}

body.in-kosik .dkLabCartNoteText:has(.smart-perso-cart) .dkLabNoteTextDetailEditable {
  display: none !important;
}

.smart-perso-mobile-button,
.smart-perso-mobile-panel,
.smart-perso-mobile-inline {
  display: none !important;
}

body.smart-perso-saving-native .dkLabNoteTextModal,
body.smart-perso-saving-native .dkLabCartNoteModal,
body.smart-perso-saving-native .dkLabModal,
body.smart-perso-saving-native .dkLabPopup,
body.smart-perso-saving-native [class*="dkLab"][class*="Modal"],
body.smart-perso-saving-native [class*="dkLab"][class*="Popup"],
body.smart-perso-saving-native .fancybox-container,
body.smart-perso-saving-native .fancybox-overlay,
body.smart-perso-saving-native .ui-widget-overlay,
body.smart-perso-saving-native .modal,
body.smart-perso-saving-native .modal-backdrop {
  opacity: 0 !important;
  pointer-events: none !important;
}

.smart-perso-recap-row {
  position: relative !important;
}

.smart-perso-recap {
  display: block !important;
  width: fit-content !important;
  max-width: 180px !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111827 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  box-sizing: border-box !important;
}

.smart-perso-recap-row > .smart-perso-recap {
  display: block !important;
  flex-basis: 100% !important;
  grid-column: 1 / -1 !important;
}

.smart-perso-recap.is-card {
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

.smart-perso-recap-title {
  margin: 0 0 2px !important;
  color: #111827 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

.smart-perso-recap div {
  margin: 0 !important;
  color: #334155 !important;
  white-space: normal !important;
}

@media (max-width: 640px) {
  .smart-perso-box {
    max-width: 100% !important;
    padding: 15px !important;
    border-radius: 11px !important;
  }

  .smart-perso-box input,
  .smart-perso-mobile-sheet input {
    min-height: 46px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  .smart-perso-box,
  .smart-perso-product,
  .smart-perso-cart {
    left: auto !important;
    right: auto !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .smart-perso-product {
    width: calc(100% - 28px) !important;
    width: min(460px, calc(100% - 28px)) !important;
    max-width: 460px !important;
    margin: 16px auto !important;
    padding: 14px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
  }

  .smart-perso-product .smart-perso-title {
    font-size: 18px !important;
  }

  .smart-perso-product .smart-perso-hint {
    font-size: 14px !important;
  }

  .smart-perso-cart {
    display: none !important;
    position: static !important;
    clear: both !important;
    float: none !important;
    width: calc(100% - 24px) !important;
    width: min(360px, calc(100% - 24px)) !important;
    max-width: 360px !important;
    min-width: 0 !important;
    margin: 14px auto 18px !important;
    padding: 13px !important;
    border-radius: 12px !important;
    text-align: left !important;
    transform: none !important;
  }

  .smart-perso-mobile-button {
    display: inline-flex !important;
    position: static !important;
    clear: both !important;
    float: none !important;
    min-height: 42px !important;
    width: min(280px, 100%) !important;
    max-width: 280px !important;
    margin: 14px auto 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #111827 !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .16) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    transform: none !important;
    z-index: 1 !important;
  }

  .dkLabCartNoteDetails,
  .dkLabCartNoteDetail,
  .dkLabCartNoteDetailHeader,
  .dkLabCartNoteText,
  .dkLabNoteTextDetailEditable,
  .dkLabNoteTextDetail {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    clear: both !important;
    float: none !important;
    overflow: visible !important;
  }

  .dkLabCartNoteText,
  .dkLabNoteTextDetailEditable,
  .dkLabNoteTextDetail {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .dkLabCartNoteText::before,
  .dkLabNoteTextDetailEditable::before,
  .dkLabNoteTextDetail::before {
    content: "" !important;
    display: block !important;
    clear: both !important;
    height: 1px !important;
  }

  .cart-table tr,
  .cart-table .removeable,
  tr.removeable {
    overflow: visible !important;
  }

  .smart-perso-mobile-inline {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .smart-perso-mobile-inline::before,
  .smart-perso-mobile-inline::after {
    display: none !important;
    content: none !important;
  }

  .smart-perso-cart .smart-perso-title {
    margin-bottom: 8px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .smart-perso-cart label {
    margin: 10px 0 5px !important;
    font-size: 12px !important;
  }

  .smart-perso-cart input {
    min-height: 44px !important;
    font-size: 16px !important;
  }

  .smart-perso-cart button {
    width: 100% !important;
    min-height: 44px !important;
    margin-top: 12px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
  }

  .smart-perso-mobile-panel.is-open {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
  }

  .smart-perso-mobile-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    background: rgba(15, 23, 42, .52) !important;
  }

  .smart-perso-mobile-sheet {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9999 !important;
    padding: 20px 18px calc(20px + env(safe-area-inset-bottom)) !important;
    border: 1px solid #e5e7eb !important;
    border-bottom: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    background: #fff !important;
    box-shadow: 0 -16px 34px rgba(15, 23, 42, .22) !important;
    box-sizing: border-box !important;
  }

  .smart-perso-mobile-title {
    margin: 0 0 12px !important;
    color: #111827 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
  }

  .smart-perso-mobile-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 14px !important;
  }

  .smart-perso-mobile-close,
  .smart-perso-mobile-save {
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    font-size: 14px !important;
  }
}
