
:root {
  --driveon-green: #99cc33;
  --driveon-green-dark: #78a921;
  --driveon-black: #111111;
  --driveon-white: #ffffff;
  --driveon-bg: #f5f6f7;
  --driveon-border: #e2e6ea;
  --driveon-muted: #667085;
}

.driveon-booking-search,
.driveon-booking-results {
  width: 100%;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--driveon-black);
}

.driveon-search-form,
.driveon-results-search {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(260px, 1fr) minmax(260px, 1fr) minmax(210px, .75fr);
  gap: 14px;
  align-items: end;
  padding: 22px;
  background: var(--driveon-white);
  border: 1px solid rgba(17, 17, 17, .08);
  border-radius: 22px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .12);
}

.driveon-search-field label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  color: var(--driveon-black);
  font-size: 13px;
  font-weight: 800;
}

.driveon-field-icon {
  color: var(--driveon-green-dark);
  font-size: 17px;
}

.driveon-search-field select,
.driveon-search-field input {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--driveon-border);
  border-radius: 10px;
  background: var(--driveon-white);
  color: var(--driveon-black);
  font-size: 15px;
  outline: none;
}

.driveon-search-field select:focus,
.driveon-search-field input:focus {
  border-color: var(--driveon-green);
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .20);
}

.driveon-date-time {
  display: grid;
  grid-template-columns: minmax(145px, 1.3fr) minmax(95px, .7fr);
  gap: 8px;
}

.driveon-search-submit button {
  width: 100%;
  min-height: 50px;
  padding: 12px 18px;
  border: 0;
  border-radius: 10px;
  background: var(--driveon-green);
  color: var(--driveon-black);
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  transition: .18s ease;
}

.driveon-search-submit button:hover {
  background: var(--driveon-green-dark);
  color: var(--driveon-white);
  transform: translateY(-1px);
}

.driveon-search-error {
  display: none;
  grid-column: 1 / -1;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff0ef;
  color: #b42318;
  font-size: 13px;
  font-weight: 700;
}

.driveon-search-error.is-visible {
  display: block;
}

.driveon-booking-results {
  max-width: 1320px;
  margin: 0 auto;
}

.driveon-results-header {
  margin-bottom: 22px;
}

.driveon-results-kicker {
  display: inline-block;
  margin-bottom: 7px;
  color: var(--driveon-green-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.driveon-results-header h2 {
  margin: 0;
  font-size: clamp(27px, 4vw, 42px);
  line-height: 1.1;
}

.driveon-results-header p {
  margin: 9px 0 0;
  color: var(--driveon-muted);
}

.driveon-results-search {
  box-shadow: 0 10px 35px rgba(0, 0, 0, .08);
}

.driveon-results-placeholder {
  margin-top: 28px;
  padding: 50px 24px;
  border: 1px dashed #cfd6dc;
  border-radius: 18px;
  background: var(--driveon-bg);
  text-align: center;
}

.driveon-placeholder-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: var(--driveon-green);
  font-size: 23px;
  font-weight: 900;
}

.driveon-results-placeholder h3 {
  margin: 0 0 8px;
}

.driveon-results-placeholder p {
  max-width: 620px;
  margin: 0 auto;
  color: var(--driveon-muted);
  line-height: 1.55;
}

@media (max-width: 1080px) {
  .driveon-search-form,
  .driveon-results-search {
    grid-template-columns: 1fr 1fr;
  }

  .driveon-location-field,
  .driveon-search-submit {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .driveon-search-form,
  .driveon-results-search {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
    border-radius: 16px;
  }

  .driveon-date-time {
    grid-template-columns: 1.25fr .75fr;
  }

  .driveon-search-field select,
  .driveon-search-field input,
  .driveon-search-submit button {
    min-height: 48px;
    font-size: 16px;
  }
}


.driveon-results-state {
  margin-top: 28px;
  padding: 46px 24px;
  border: 1px solid var(--driveon-border);
  border-radius: 18px;
  background: var(--driveon-bg);
  text-align: center;
}

.driveon-results-state h3 {
  margin: 10px 0 7px;
}

.driveon-results-state p {
  margin: 0;
  color: var(--driveon-muted);
}

.driveon-results-state.is-error {
  border-color: #f0b7b2;
  background: #fff4f2;
}

.driveon-results-loader {
  width: 42px;
  height: 42px;
  margin: 0 auto;
  border: 4px solid #e4e7ec;
  border-top-color: var(--driveon-green);
  border-radius: 50%;
  animation: driveon-spin .8s linear infinite;
}

@keyframes driveon-spin {
  to { transform: rotate(360deg); }
}

.driveon-results-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 26px 0 16px;
}

.driveon-results-toolbar select {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--driveon-border);
  border-radius: 9px;
  background: #fff;
}

.driveon-cars-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.driveon-car-card {
  overflow: hidden;
  border: 1px solid var(--driveon-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.driveon-car-image {
  height: 220px;
  background: #f2f4f7;
}

.driveon-car-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.driveon-car-image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--driveon-muted);
  font-weight: 700;
}

.driveon-car-content {
  padding: 18px;
}

.driveon-car-group {
  margin-bottom: 5px;
  color: var(--driveon-green-dark);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.driveon-car-title {
  margin: 0;
  font-size: 23px;
  line-height: 1.2;
}

.driveon-car-subtitle {
  margin-top: 4px;
  color: var(--driveon-muted);
  font-size: 13px;
}

.driveon-car-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 14px 0;
}

.driveon-car-spec {
  padding: 6px 8px;
  border-radius: 999px;
  background: #f2f4f7;
  font-size: 12px;
  font-weight: 700;
}

.driveon-price-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.driveon-price-option {
  padding: 13px;
  border: 1px solid var(--driveon-border);
  border-radius: 12px;
}

.driveon-price-option.is-premium {
  border-color: var(--driveon-green);
  background: #f5faea;
}

.driveon-price-label {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.driveon-price-total {
  margin-top: 5px;
  font-size: 23px;
  font-weight: 900;
}

.driveon-price-note {
  margin-top: 5px;
  color: var(--driveon-muted);
  font-size: 11px;
  line-height: 1.4;
}

.driveon-car-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid var(--driveon-border);
}

.driveon-daily-price {
  color: var(--driveon-muted);
  font-size: 12px;
}

.driveon-select-car {
  min-height: 42px;
  padding: 10px 15px;
  border: 0;
  border-radius: 9px;
  background: var(--driveon-green);
  color: var(--driveon-black);
  font-weight: 900;
  cursor: pointer;
}

.driveon-select-car:disabled {
  opacity: .55;
  cursor: not-allowed;
}

@media (max-width: 850px) {
  .driveon-cars-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .driveon-results-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .driveon-results-toolbar select {
    width: 100%;
  }

  .driveon-car-image {
    height: 185px;
  }

  .driveon-price-options {
    grid-template-columns: 1fr;
  }

  .driveon-car-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .driveon-select-car {
    width: 100%;
  }
}


/* v0.3 — carduri mai compacte și selectare asigurare */
.driveon-cars-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 360px));
  justify-content: start;
  align-items: start;
}

.driveon-car-card {
  width: 100%;
  max-width: 360px;
}

.driveon-car-image {
  height: 165px;
}

.driveon-car-content {
  padding: 15px;
}

.driveon-car-title {
  font-size: 20px;
}

.driveon-car-specs {
  margin: 11px 0 13px;
}

.driveon-price-period {
  margin: 0 0 9px;
  color: var(--driveon-muted);
  font-size: 12px;
  font-weight: 700;
}

.driveon-price-options {
  gap: 8px;
}

.driveon-price-option {
  position: relative;
  padding: 11px;
  cursor: pointer;
  transition: .16s ease;
}

.driveon-price-option:hover {
  border-color: #b7c88d;
}

.driveon-price-option.is-selected {
  border: 2px solid var(--driveon-green);
  padding: 10px;
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .16);
}

.driveon-price-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.driveon-price-option.is-selected::after {
  content: "✓";
  position: absolute;
  top: 9px;
  right: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--driveon-green);
  color: #111;
  font-size: 12px;
  font-weight: 900;
}

.driveon-price-total {
  font-size: 20px;
}

.driveon-car-footer {
  justify-content: flex-end;
}

.driveon-daily-price {
  display: none !important;
}

@media (max-width: 850px) {
  .driveon-cars-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 360px));
  }
}

@media (max-width: 560px) {
  .driveon-cars-grid {
    grid-template-columns: 1fr;
  }

  .driveon-car-card {
    max-width: none;
  }

  .driveon-car-image {
    height: 175px;
  }
}


/* v0.4 — dată și oră în aceeași casetă */
.driveon-combined-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 0;
  overflow: hidden;
  min-height: 50px;
  border: 1px solid var(--driveon-border);
  border-radius: 10px;
  background: #fff;
}

.driveon-combined-field:focus-within {
  border-color: var(--driveon-green);
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .20);
}

.driveon-combined-field input,
.driveon-combined-field select {
  min-width: 0;
  min-height: 48px;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent;
}

.driveon-combined-field input {
  border-right: 1px solid var(--driveon-border) !important;
}

.driveon-combined-field select {
  padding-left: 10px;
  padding-right: 28px;
  font-size: 14px;
}

@media (max-width: 680px) {
  .driveon-combined-field {
    grid-template-columns: minmax(0, 1fr) 96px;
  }

  .driveon-combined-field select {
    font-size: 16px;
  }
}


/* v0.5 — calendar vizual cu două luni */
.driveon-combined-field .flatpickr-input[readonly] {
  cursor: pointer;
}

.flatpickr-calendar {
  border: 0;
  border-radius: 14px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .18);
  font-family: Arial, Helvetica, sans-serif;
  overflow: hidden;
}

.flatpickr-calendar.multiMonth {
  padding: 10px 12px 14px;
}

.flatpickr-months .flatpickr-month {
  height: 48px;
}

.flatpickr-current-month {
  padding-top: 11px;
  font-size: 17px;
  font-weight: 800;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  font-weight: 800;
}

.flatpickr-weekday {
  color: #5f6670;
  font-weight: 800;
}

.flatpickr-day {
  border-radius: 9px;
  font-weight: 600;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
  border-color: #e7f2ce;
  background: #e7f2ce;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  border-color: #99cc33;
  background: #99cc33;
  color: #111;
}

.flatpickr-day.today {
  border-color: #99cc33;
}

.flatpickr-day.today:hover {
  background: #99cc33;
  color: #111;
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after {
  display: none;
}

@media (max-width: 680px) {
  .flatpickr-calendar {
    width: calc(100vw - 24px) !important;
    max-width: 360px;
  }

  .flatpickr-days,
  .dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}


/* v0.6 — un singur date range picker */
.driveon-search-form,
.driveon-results-search {
  grid-template-columns: minmax(260px, 1.25fr) minmax(320px, 1.4fr) minmax(250px, 1fr) minmax(210px, .75fr);
}

.driveon-range-picker {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--driveon-border);
  border-radius: 10px;
  background: #fff;
  color: var(--driveon-black);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.driveon-range-picker:focus {
  border-color: var(--driveon-green);
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .20);
}

.driveon-time-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.driveon-time-pair > div {
  position: relative;
}

.driveon-mini-label {
  position: absolute;
  top: 5px;
  left: 12px;
  z-index: 1;
  color: var(--driveon-muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  pointer-events: none;
}

.driveon-time-pair select {
  width: 100%;
  min-height: 50px;
  padding: 15px 30px 2px 12px;
  border: 1px solid var(--driveon-border);
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}

.flatpickr-calendar.multiMonth {
  width: 660px !important;
  padding: 14px 16px 18px;
}

.flatpickr-calendar .flatpickr-months {
  align-items: center;
}

.flatpickr-calendar .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-next-month {
  top: 13px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  border-color: #e6f2cf;
  background: #e6f2cf;
  box-shadow: -5px 0 0 #e6f2cf, 5px 0 0 #e6f2cf;
  color: #111;
}

.flatpickr-day.startRange {
  border-radius: 9px 0 0 9px;
}

.flatpickr-day.endRange {
  border-radius: 0 9px 9px 0;
}

.flatpickr-day.startRange.endRange {
  border-radius: 9px;
}

.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #99cc33;
  border-color: #99cc33;
  color: #111;
}

@media (max-width: 1080px) {
  .driveon-search-form,
  .driveon-results-search {
    grid-template-columns: 1fr 1fr;
  }

  .driveon-range-field,
  .driveon-times-field {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .driveon-search-form,
  .driveon-results-search {
    grid-template-columns: 1fr;
  }

  .driveon-time-pair {
    grid-template-columns: 1fr 1fr;
  }

  .flatpickr-calendar.multiMonth {
    width: calc(100vw - 24px) !important;
  }
}


/* v0.6.1 — placeholder compact pentru vehicule fără fotografie */
.driveon-car-image.is-placeholder {
  height: 92px;
  background:
    linear-gradient(135deg, rgba(153, 204, 51, .09), rgba(17, 17, 17, .035));
}

.driveon-car-image.is-placeholder .driveon-car-image-placeholder {
  height: 100%;
  color: #7b8490;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 560px) {
  .driveon-car-image.is-placeholder {
    height: 78px;
  }
}


/* v0.7 — selector de oră tip wheel picker */
.driveon-time-pair select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #667085 50%),
    linear-gradient(135deg, #667085 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 22px,
    calc(100% - 11px) 22px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.driveon-time-wheel-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: 18px;
  background: rgba(17, 17, 17, .42);
  backdrop-filter: blur(3px);
}

.driveon-time-wheel-overlay.is-open {
  display: flex;
}

.driveon-time-wheel-modal {
  width: min(420px, 100%);
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.driveon-time-wheel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--driveon-border);
}

.driveon-time-wheel-header strong {
  font-size: 17px;
}

.driveon-time-wheel-close {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f2f4f7;
  color: #111;
  font-size: 20px;
  cursor: pointer;
}

.driveon-time-wheel-body {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 30px 1fr;
  align-items: center;
  gap: 8px;
  padding: 22px 28px;
}

.driveon-time-wheel-body::before,
.driveon-time-wheel-body::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  height: 1px;
  background: #d0d5dd;
  pointer-events: none;
}

.driveon-time-wheel-body::before {
  top: calc(50% - 26px);
}

.driveon-time-wheel-body::after {
  top: calc(50% + 26px);
}

.driveon-wheel {
  height: 210px;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  overscroll-behavior: contain;
  text-align: center;
}

.driveon-wheel::-webkit-scrollbar {
  display: none;
}

.driveon-wheel-spacer,
.driveon-wheel-option {
  height: 52px;
}

.driveon-wheel-option {
  display: flex;
  align-items: center;
  justify-content: center;
  scroll-snap-align: center;
  color: #98a2b3;
  font-size: 21px;
  font-weight: 600;
  cursor: pointer;
  transition: .15s ease;
}

.driveon-wheel-option.is-selected {
  color: #111;
  font-size: 29px;
  font-weight: 900;
}

.driveon-wheel-separator {
  text-align: center;
  font-size: 30px;
  font-weight: 900;
}

.driveon-time-wheel-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 14px 18px 18px;
}

.driveon-time-wheel-footer button {
  min-height: 48px;
  border: 0;
  border-radius: 10px;
  font-weight: 900;
  cursor: pointer;
}

.driveon-time-wheel-cancel {
  background: #eceff2;
  color: #111;
}

.driveon-time-wheel-confirm {
  background: var(--driveon-green);
  color: #111;
}

@media (min-width: 700px) {
  .driveon-time-wheel-overlay {
    align-items: center;
  }
}


/* v0.7.2 — elimină selectorul nativ iOS */
.driveon-time-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.driveon-time-trigger {
  width: 100%;
  min-height: 50px;
  padding: 15px 34px 2px 12px;
  border: 1px solid var(--driveon-border);
  border-radius: 10px;
  background:
    linear-gradient(45deg, transparent 50%, #667085 50%) calc(100% - 16px) 22px / 5px 5px no-repeat,
    linear-gradient(135deg, #667085 50%, transparent 50%) calc(100% - 11px) 22px / 5px 5px no-repeat,
    #fff;
  color: #111;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.driveon-time-trigger:focus {
  outline: none;
  border-color: var(--driveon-green);
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .20);
}

@media (max-width: 680px) {
  .driveon-time-trigger {
    font-size: 16px;
  }
}


/* v0.8 — discount RentSyst */
.driveon-car-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 5px;
}

.driveon-car-topline .driveon-car-group {
  margin-bottom: 0;
}

.driveon-discount-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #d92d20;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.driveon-price-original {
  margin-top: 5px;
  color: #98a2b3;
  font-size: 14px;
  font-weight: 800;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
}

.driveon-price-original + .driveon-price-total {
  margin-top: 1px;
}

@media (max-width: 560px) {
  .driveon-price-original {
    font-size: 13px;
  }

  .driveon-discount-badge {
    font-size: 10px;
  }
}


/* v0.8.1 — discount verde și diferență clară între pachete */
.driveon-discount-badge {
  background: #99cc33 !important;
  color: #111 !important;
  border: 1px solid #78a921;
}

.driveon-price-option {
  min-height: 235px;
}

.driveon-package-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.driveon-package-tagline {
  margin-top: 3px;
  color: #667085;
  font-size: 11px;
  font-weight: 700;
}

.driveon-recommended-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 7px;
  border-radius: 999px;
  background: #99cc33;
  color: #111;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}

.driveon-package-benefits {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.driveon-package-benefits li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: #475467;
  font-size: 11px;
  line-height: 1.35;
}

.driveon-benefit-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  margin-top: -1px;
  border-radius: 50%;
  background: #eef6dd;
  color: #51760f;
  font-size: 10px;
  font-weight: 900;
}

.driveon-price-option:not(.is-premium) .driveon-package-benefits li:last-child .driveon-benefit-icon {
  background: #fff4e5;
  color: #b54708;
}

.driveon-price-option.is-premium {
  background: #f7fbeF;
}

.driveon-price-option.is-selected {
  background: #fff;
}

.driveon-price-option.is-premium.is-selected {
  background: #f4fae8;
}

@media (max-width: 560px) {
  .driveon-price-option {
    min-height: 0;
  }

  .driveon-package-benefits li {
    font-size: 12px;
  }

  .driveon-recommended-badge {
    font-size: 9px;
  }
}


/* v0.8.2 — Premium preselectat și iconiță fără suprapunere */
.driveon-price-option.is-selected::after {
  top: 10px;
  right: 10px;
}

.driveon-price-option.is-premium .driveon-package-head {
  padding-right: 30px;
}

.driveon-price-option.is-premium .driveon-recommended-badge {
  margin-right: 0;
}

@media (max-width: 560px) {
  .driveon-price-option.is-premium .driveon-package-head {
    padding-right: 28px;
  }
}


/* v0.8.3 — aliniere comparativă Standard vs Premium */
.driveon-price-options {
  align-items: stretch;
}

.driveon-price-option {
  display: grid;
  grid-template-rows:
    minmax(52px, auto)
    20px
    32px
    minmax(108px, 1fr);
  align-content: start;
  height: 100%;
}

.driveon-package-head {
  min-height: 52px;
  align-items: flex-start;
}

.driveon-price-label {
  min-height: 30px;
  display: flex;
  align-items: flex-start;
}

.driveon-package-tagline {
  min-height: 16px;
}

.driveon-price-original {
  min-height: 20px;
  margin-top: 0;
  display: flex;
  align-items: center;
}

.driveon-price-total {
  min-height: 32px;
  margin-top: 0 !important;
  display: flex;
  align-items: center;
}

.driveon-package-benefits {
  display: grid;
  grid-template-rows: repeat(3, minmax(30px, auto));
  align-content: start;
  margin-top: 8px;
}

.driveon-package-benefits li {
  min-height: 30px;
  align-items: flex-start;
}

.driveon-recommended-badge {
  align-self: flex-start;
  margin-top: 0;
}

@media (max-width: 560px) {
  .driveon-price-option {
    grid-template-rows:
      minmax(50px, auto)
      20px
      34px
      minmax(112px, auto);
  }

  .driveon-package-head {
    min-height: 50px;
  }

  .driveon-package-benefits {
    grid-template-rows: repeat(3, minmax(32px, auto));
  }
}


/* v0.8.4 — hero convingător pe pagina de rezultate */
.driveon-results-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, .8fr);
  gap: 28px;
  align-items: center;
  margin-bottom: 24px;
  padding: 34px 36px;
  overflow: hidden;
  border: 1px solid rgba(153, 204, 51, .25);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 16%, rgba(153, 204, 51, .22), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f7faef 100%);
  box-shadow: 0 16px 45px rgba(0, 0, 0, .07);
}

.driveon-results-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -110px;
  width: 260px;
  height: 260px;
  border: 42px solid rgba(153, 204, 51, .08);
  border-radius: 50%;
  pointer-events: none;
}

.driveon-results-hero-content {
  position: relative;
  z-index: 1;
}

.driveon-results-hero h2 {
  max-width: 760px;
  margin: 0;
  color: #25282d;
  font-size: clamp(34px, 5vw, 62px);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.driveon-results-hero p {
  max-width: 720px;
  margin: 16px 0 0;
  color: #667085;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.5;
}

.driveon-results-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.driveon-results-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #dfe8cf;
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  color: #344054;
  font-size: 12px;
  font-weight: 800;
}

.driveon-results-trust b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #99cc33;
  color: #111;
  font-size: 11px;
}

.driveon-results-hero-highlight {
  position: relative;
  z-index: 1;
  padding: 24px;
  border: 1px solid #dce9c3;
  border-radius: 18px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .06);
}

.driveon-highlight-label {
  display: block;
  margin-bottom: 10px;
  color: #6f971e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.driveon-results-hero-highlight strong {
  display: block;
  color: #111;
  font-size: 26px;
  line-height: 1.15;
}

@media (max-width: 900px) {
  .driveon-results-hero {
    grid-template-columns: 1fr;
  }

  .driveon-results-hero-highlight {
    display: none;
  }
}

@media (max-width: 560px) {
  .driveon-results-hero {
    margin-bottom: 18px;
    padding: 24px 20px;
    border-radius: 18px;
  }

  .driveon-results-hero h2 {
    font-size: 38px;
    line-height: 1.04;
  }

  .driveon-results-hero p {
    font-size: 16px;
  }

  .driveon-results-trust {
    gap: 8px;
  }

  .driveon-results-trust span {
    width: 100%;
    justify-content: flex-start;
  }
}


/* v0.9 — pas date client */
.driveon-select-car {
  opacity: 1 !important;
  cursor: pointer !important;
}

.driveon-customer-step {
  margin-top: 30px;
  padding: 28px;
  border: 1px solid #dfe8cf;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(0,0,0,.08);
}

.driveon-step-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.driveon-step-heading h2 {
  margin: 0;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.1;
}

.driveon-step-heading p {
  margin: 8px 0 0;
  color: #667085;
}

.driveon-change-car {
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid #d0d5dd;
  border-radius: 9px;
  background: #fff;
  color: #111;
  font-weight: 800;
  cursor: pointer;
}

.driveon-customer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 24px;
  align-items: start;
}

.driveon-customer-form {
  padding: 22px;
  border: 1px solid #e4e7ec;
  border-radius: 16px;
  background: #fafbfc;
}

.driveon-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.driveon-form-field-full {
  grid-column: 1 / -1;
}

.driveon-form-field label {
  display: block;
  margin-bottom: 7px;
  color: #344054;
  font-size: 13px;
  font-weight: 800;
}

.driveon-form-field label span {
  color: #98a2b3;
  font-weight: 600;
}

.driveon-form-field input,
.driveon-form-field textarea {
  width: 100%;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  background: #fff;
  color: #111;
  font-size: 15px;
}

.driveon-form-field input {
  min-height: 48px;
  padding: 0 13px;
}

.driveon-form-field textarea {
  min-height: 110px;
  padding: 12px 13px;
  resize: vertical;
}

.driveon-form-field input:focus,
.driveon-form-field textarea:focus {
  outline: none;
  border-color: #99cc33;
  box-shadow: 0 0 0 3px rgba(153,204,51,.18);
}

.driveon-field-message {
  display: none;
  margin-top: 6px;
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
}

.driveon-form-field.has-error .driveon-field-message {
  display: block;
}

.driveon-form-field.has-error input,
.driveon-form-field.has-error textarea {
  border-color: #d92d20;
}

.driveon-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  padding: 13px;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  background: #fff;
  font-weight: 600 !important;
  line-height: 1.45;
}

.driveon-consent input {
  width: 18px !important;
  min-height: 18px !important;
  margin-top: 1px;
  accent-color: #99cc33;
}

.driveon-consent a {
  color: #5f8615;
  font-weight: 800;
}

.driveon-continue-booking {
  width: 100%;
  min-height: 52px;
  margin-top: 18px;
  border: 0;
  border-radius: 10px;
  background: #99cc33;
  color: #111;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.driveon-form-status {
  min-height: 20px;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 800;
}

.driveon-form-status.is-error {
  color: #b42318;
}

.driveon-form-status.is-success {
  color: #4d6f0e;
}

.driveon-booking-summary {
  position: sticky;
  top: 20px;
  padding: 20px;
  border: 1px solid #cfe0ad;
  border-radius: 16px;
  background: #f7fbeF;
}

.driveon-summary-kicker {
  display: block;
  margin-bottom: 14px;
  color: #6d941d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.driveon-summary-car {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 12px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #dce8c5;
}

.driveon-summary-image {
  width: 76px;
  height: 58px;
  overflow: hidden;
  border-radius: 9px;
  background: #e9efdf;
}

.driveon-summary-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.driveon-summary-image span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 11px;
  font-weight: 900;
}

.driveon-summary-car strong,
.driveon-summary-car span {
  display: block;
}

.driveon-summary-car strong {
  font-size: 15px;
}

.driveon-summary-car span {
  margin-top: 3px;
  color: #667085;
  font-size: 12px;
}

.driveon-summary-row,
.driveon-summary-total {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.driveon-summary-row {
  padding: 12px 0;
  border-bottom: 1px solid #dce8c5;
  font-size: 13px;
}

.driveon-summary-row span {
  color: #667085;
}

.driveon-summary-row strong {
  text-align: right;
}

.driveon-summary-total {
  align-items: flex-end;
  padding-top: 16px;
}

.driveon-summary-total span {
  font-weight: 800;
}

.driveon-summary-total strong {
  font-size: 26px;
}

.driveon-summary-note {
  margin-top: 12px;
  color: #667085;
  font-size: 11px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .driveon-customer-layout {
    grid-template-columns: 1fr;
  }

  .driveon-booking-summary {
    position: static;
    order: -1;
  }
}

@media (max-width: 560px) {
  .driveon-customer-step {
    padding: 18px 14px;
    border-radius: 16px;
  }

  .driveon-step-heading {
    flex-direction: column;
  }

  .driveon-change-car {
    width: 100%;
  }

  .driveon-form-grid {
    grid-template-columns: 1fr;
  }

  .driveon-form-field-full {
    grid-column: auto;
  }

  .driveon-customer-form {
    padding: 16px;
  }
}


/* v0.9.1 — condiții importante sub rezumat */
.driveon-important-conditions {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #f0c36d;
  border-radius: 12px;
  background: #fff9ec;
}

.driveon-conditions-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #7a4b00;
  font-size: 13px;
  font-weight: 900;
}

.driveon-conditions-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f0c36d;
  color: #111;
  font-size: 13px;
  font-weight: 900;
}

.driveon-important-conditions ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.driveon-important-conditions li {
  position: relative;
  padding-left: 18px;
}

.driveon-important-conditions li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  color: #6f971e;
  font-size: 12px;
  font-weight: 900;
}

.driveon-important-conditions strong,
.driveon-important-conditions span {
  display: block;
}

.driveon-important-conditions strong {
  color: #344054;
  font-size: 12px;
  line-height: 1.35;
}

.driveon-important-conditions li span {
  margin-top: 3px;
  color: #667085;
  font-size: 11px;
  line-height: 1.45;
}

.driveon-conditions-footnote {
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid rgba(122, 75, 0, .15);
  color: #7a4b00;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
}

@media (max-width: 560px) {
  .driveon-important-conditions {
    padding: 14px;
  }

  .driveon-important-conditions strong {
    font-size: 13px;
  }

  .driveon-important-conditions li span {
    font-size: 12px;
  }
}


/* v0.9.3 — perioadă exactă, condiție card dinamică și info plată */
.driveon-summary-period-row strong {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.driveon-summary-period-row .driveon-summary-arrow {
  color: #98a2b3;
  font-size: 12px;
}

.driveon-summary-period-row small {
  margin-top: 4px;
  color: #6d941d;
  font-size: 11px;
  font-weight: 900;
}

.driveon-payment-info {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid #d7e5bb;
  border-radius: 10px;
  background: #fff;
}

.driveon-payment-info-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #99cc33;
  color: #111;
  font-size: 12px;
  font-weight: 900;
}

.driveon-payment-info strong {
  display: block;
  color: #344054;
  font-size: 12px;
}

.driveon-payment-info p {
  margin: 3px 0 0;
  color: #667085;
  font-size: 11px;
  line-height: 1.4;
}

/* repară iconița de atenționare */
.driveon-conditions-icon {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  padding: 0;
  overflow: hidden;
}

.driveon-conditions-icon::before {
  content: "!";
  display: block;
  width: 100%;
  height: 100%;
  line-height: 22px;
  font-size: 13px;
  font-weight: 900;
}

.driveon-conditions-icon {
  font-size: 0 !important;
}

@media (max-width: 560px) {
  .driveon-summary-period-row strong {
    max-width: 190px;
  }

  .driveon-payment-info strong {
    font-size: 13px;
  }

  .driveon-payment-info p {
    font-size: 12px;
  }
}


/* v0.9.4 — perioada pe un singur rând */
.driveon-summary-period-row {
  align-items: flex-start;
}

.driveon-summary-period-row strong {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-areas:
    "pickup arrow return"
    "days days days";
  column-gap: 7px;
  row-gap: 5px;
  align-items: center;
  justify-content: end;
  max-width: none;
}

.driveon-summary-period-row [data-summary-pickup] {
  grid-area: pickup;
  white-space: nowrap;
}

.driveon-summary-period-row .driveon-summary-arrow {
  grid-area: arrow;
  white-space: nowrap;
  color: #98a2b3;
}

.driveon-summary-period-row [data-summary-return] {
  grid-area: return;
  white-space: nowrap;
}

.driveon-summary-period-row small {
  grid-area: days;
  margin-top: 0;
  text-align: right;
}

@media (max-width: 560px) {
  .driveon-summary-period-row {
    display: block;
  }

  .driveon-summary-period-row > span {
    display: block;
    margin-bottom: 7px;
  }

  .driveon-summary-period-row strong {
    grid-template-columns: auto auto auto;
    justify-content: start;
    width: 100%;
    font-size: 12px;
  }

  .driveon-summary-period-row small {
    text-align: left;
  }
}


/* v1.0 — extraopțiuni RentSyst */
.driveon-extras-step {
  margin-top: 30px;
  padding: 28px;
  border: 1px solid #dfe8cf;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(0,0,0,.08);
}

.driveon-extras-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 24px;
  align-items: start;
}

.driveon-extras-panel {
  padding: 22px;
  border: 1px solid #e4e7ec;
  border-radius: 16px;
  background: #fafbfc;
}

.driveon-extras-loading {
  padding: 50px 20px;
  text-align: center;
}

.driveon-extras-loading strong,
.driveon-extras-loading span {
  display: block;
}

.driveon-extras-loading strong {
  margin-top: 14px;
}

.driveon-extras-loading span {
  margin-top: 6px;
  color: #667085;
  font-size: 12px;
}

.driveon-extras-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.driveon-extra-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px;
  border: 1px solid #d0d5dd;
  border-radius: 13px;
  background: #fff;
  transition: .16s ease;
}

.driveon-extra-card.is-selected {
  border-color: #99cc33;
  background: #f6faed;
  box-shadow: 0 0 0 3px rgba(153,204,51,.14);
}

.driveon-extra-card-main {
  display: flex;
  align-items: center;
  gap: 12px;
}

.driveon-extra-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #eef6dd;
  font-size: 18px;
}

.driveon-extra-card-main strong,
.driveon-extra-card-main span {
  display: block;
}

.driveon-extra-card-main strong {
  font-size: 14px;
}

.driveon-extra-card-main span {
  margin-top: 3px;
  color: #667085;
  font-size: 11px;
}

.driveon-extra-card-action {
  display: flex;
  align-items: center;
  gap: 12px;
}

.driveon-extra-card-action b {
  white-space: nowrap;
  font-size: 14px;
}

.driveon-extra-card-action input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: #99cc33;
}

.driveon-extra-card-action select {
  min-width: 68px;
  min-height: 40px;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  background: #fff;
}

.driveon-extra-driver-fields {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #dce8c5;
  border-radius: 14px;
  background: #f7fbef;
}

.driveon-extra-driver-fields h3 {
  margin: 0;
  font-size: 17px;
}

.driveon-extra-driver-fields h3 span {
  color: #98a2b3;
  font-size: 12px;
  font-weight: 600;
}

.driveon-extra-driver-fields > p {
  margin: 6px 0 16px;
  color: #667085;
  font-size: 12px;
}

.driveon-final-review {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #fff;
}

.driveon-final-review h3 {
  margin: 0 0 14px;
}

.driveon-final-review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.driveon-final-review-grid div {
  padding: 11px;
  border-radius: 9px;
  background: #f7f8fa;
}

.driveon-final-review-grid span,
.driveon-final-review-grid strong {
  display: block;
}

.driveon-final-review-grid span {
  color: #667085;
  font-size: 11px;
}

.driveon-final-review-grid strong {
  margin-top: 4px;
  font-size: 13px;
}

.driveon-final-confirm {
  width: 100%;
  min-height: 52px;
  margin-top: 18px;
  border: 0;
  border-radius: 10px;
  background: #99cc33;
  color: #111;
  font-size: 16px;
  font-weight: 900;
}

.driveon-final-confirm:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.driveon-final-disabled-note {
  margin: 8px 0 0;
  color: #667085;
  font-size: 11px;
  text-align: center;
}

.driveon-no-extras {
  padding: 20px;
  border: 1px dashed #cfd6dc;
  border-radius: 12px;
  color: #667085;
  text-align: center;
}

.driveon-extras-summary {
  position: sticky;
  top: 20px;
}

@media (max-width: 900px) {
  .driveon-extras-layout {
    grid-template-columns: 1fr;
  }

  .driveon-extras-summary {
    position: static;
    order: -1;
  }
}

@media (max-width: 560px) {
  .driveon-extras-step {
    padding: 18px 14px;
    border-radius: 16px;
  }

  .driveon-extras-panel {
    padding: 14px;
  }

  .driveon-extra-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .driveon-extra-card-action {
    width: 100%;
    justify-content: space-between;
  }

  .driveon-final-review-grid {
    grid-template-columns: 1fr;
  }
}


/* v1.0.2 — titlu orientat spre beneficiu și spălare per închiriere */
.driveon-extras-step .driveon-step-heading {
  position: relative;
  align-items: flex-start;
  margin-bottom: 24px;
  padding: 24px 26px;
  overflow: hidden;
  border: 1px solid #dce8c5;
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 10%, rgba(153,204,51,.18), transparent 32%),
    linear-gradient(135deg, #fbfdf7 0%, #f3f8e9 100%);
}

.driveon-extras-step .driveon-step-heading::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -58px;
  width: 155px;
  height: 155px;
  border: 24px solid rgba(153,204,51,.08);
  border-radius: 50%;
  pointer-events: none;
}

.driveon-extras-heading-copy {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.driveon-extras-step-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: #5f8617;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.driveon-extras-step-badge > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #99cc33;
  color: #111;
  font-size: 12px;
  letter-spacing: 0;
}

.driveon-extras-step .driveon-step-heading h2 {
  max-width: 680px;
  margin: 0;
  color: #171717;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.driveon-extras-step .driveon-step-heading p {
  max-width: 660px;
  margin: 12px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
}

.driveon-extras-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 17px;
}

.driveon-extras-benefits span {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 11px;
  border: 1px solid rgba(111,151,30,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #49690d;
  font-size: 11px;
  font-weight: 800;
}

.driveon-extras-step .driveon-step-heading .driveon-change-car {
  position: relative;
  z-index: 2;
  background: #fff;
}

@media (max-width: 700px) {
  .driveon-extras-step .driveon-step-heading {
    padding: 20px 18px;
  }

  .driveon-extras-step .driveon-step-heading h2 {
    font-size: 31px;
  }

  .driveon-extras-benefits {
    gap: 7px;
  }

  .driveon-extras-step .driveon-step-heading .driveon-change-car {
    width: 100%;
    margin-top: 18px;
  }
}


/* v1.0.3 — redesign titlu pas date client */
.driveon-customer-step-heading {
  position: relative;
  align-items: flex-start;
  margin-bottom: 24px;
  padding: 24px 26px;
  overflow: hidden;
  border: 1px solid #dce8c5;
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 10%, rgba(153,204,51,.18), transparent 32%),
    linear-gradient(135deg, #fbfdf7 0%, #f3f8e9 100%);
}

.driveon-customer-step-heading::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -58px;
  width: 155px;
  height: 155px;
  border: 24px solid rgba(153,204,51,.08);
  border-radius: 50%;
  pointer-events: none;
}

.driveon-customer-heading-copy {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.driveon-customer-step-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: #5f8617;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.driveon-customer-step-badge > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #99cc33;
  color: #111;
  font-size: 12px;
  letter-spacing: 0;
}

.driveon-customer-step-heading h2 {
  max-width: 720px;
  margin: 0;
  color: #171717;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.driveon-customer-step-heading p {
  max-width: 680px;
  margin: 12px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
}

.driveon-customer-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 17px;
}

.driveon-customer-benefits span {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 11px;
  border: 1px solid rgba(111,151,30,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #49690d;
  font-size: 11px;
  font-weight: 800;
}

.driveon-customer-step-heading .driveon-change-car {
  position: relative;
  z-index: 2;
  background: #fff;
}

@media (max-width: 700px) {
  .driveon-customer-step-heading {
    padding: 20px 18px;
  }

  .driveon-customer-step-heading h2 {
    font-size: 31px;
  }

  .driveon-customer-benefits {
    gap: 7px;
  }

  .driveon-customer-step-heading .driveon-change-car {
    width: 100%;
    margin-top: 18px;
  }
}


/* v1.1.0 — confirmare finală */
.driveon-extras-status {
  min-height: 20px;
  margin-top: 14px;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.driveon-extras-status.is-loading {
  color: #667085;
}

.driveon-extras-status.is-error {
  padding: 12px;
  border: 1px solid #f1b8b4;
  border-radius: 10px;
  background: #fff4f3;
  color: #b42318;
}

.driveon-final-confirm:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 25px rgba(118,165,29,.24);
}

.driveon-confirm-success {
  max-width: 760px;
  margin: 34px auto;
  padding: 54px 32px;
  border: 1px solid #dce8c5;
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(153,204,51,.16), transparent 38%),
    #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  text-align: center;
}

.driveon-success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: #99cc33;
  color: #111;
  font-size: 32px;
  font-weight: 900;
}

.driveon-success-kicker {
  display: block;
  color: #5f8617;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.driveon-confirm-success h2 {
  margin: 10px 0 0;
  color: #171717;
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.driveon-confirm-success > p {
  max-width: 590px;
  margin: 15px auto 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.55;
}

.driveon-success-order {
  max-width: 340px;
  margin: 26px auto 0;
  padding: 17px;
  border: 1px solid #dce8c5;
  border-radius: 13px;
  background: #f7fbef;
}

.driveon-success-order span,
.driveon-success-order strong {
  display: block;
}

.driveon-success-order span {
  color: #667085;
  font-size: 11px;
}

.driveon-success-order strong {
  margin-top: 5px;
  color: #171717;
  font-size: 22px;
}

.driveon-success-home {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 24px;
  padding: 0 24px;
  border-radius: 10px;
  background: #171717;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 560px) {
  .driveon-confirm-success {
    padding: 40px 20px;
  }
}


/* v1.1.1 — respectă atributul hidden și ascunde lista în fluxul rezervării */
.driveon-booking-results [hidden] {
  display: none !important;
}

.driveon-booking-results.is-booking-flow-active [data-driveon-toolbar],
.driveon-booking-results.is-booking-flow-active [data-driveon-cars] {
  display: none !important;
}


/* v1.2.0 — selector sticky RO / EN */
.driveon-language-switcher {
  position: fixed;
  right: 22px;
  top: 50%;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 7px 6px;
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 30px rgba(0,0,0,.14);
  backdrop-filter: blur(10px);
  transform: translateY(-50%);
}

.driveon-language-switcher button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #667085;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  transition: .16s ease;
}

.driveon-language-switcher button:hover {
  background: #f1f5ea;
  color: #111;
}

.driveon-language-switcher button.is-active {
  background: #99cc33;
  color: #111;
  box-shadow: 0 4px 12px rgba(118,165,29,.24);
}

.driveon-language-switcher > span {
  width: 20px;
  height: 1px;
  background: #e4e7ec;
}

@media (max-width: 760px) {
  .driveon-language-switcher {
    top: auto;
    right: 14px;
    bottom: 18px;
    flex-direction: row;
    transform: none;
  }

  .driveon-language-switcher > span {
    width: 1px;
    height: 20px;
  }
}


/* v1.3.0 — optimizare pas 3 pentru mobil */
.driveon-search-form.is-hidden-in-booking-flow,
[data-driveon-search-panel][hidden] {
  display: none !important;
}

.driveon-summary-mobile-wrap {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.driveon-booking-summary-collapsible {
  overflow: hidden;
}

.driveon-summary-toggle {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border: 0;
  background: transparent;
  color: #171717;
  text-align: left;
  cursor: pointer;
}

.driveon-summary-toggle small,
.driveon-summary-toggle strong {
  display: block;
}

.driveon-summary-toggle small {
  color: #5f8617;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.driveon-summary-toggle strong {
  margin-top: 3px;
  font-size: 15px;
}

.driveon-summary-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eef6dd;
  color: #5f8617;
  font-size: 18px;
  font-weight: 900;
  transition: transform .2s ease;
}

.driveon-summary-toggle.is-open .driveon-summary-toggle-icon {
  transform: rotate(180deg);
}

.driveon-summary-collapsible-content[hidden] {
  display: none !important;
}

.driveon-summary-always-visible {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.driveon-summary-always-visible .driveon-payment-info,
.driveon-summary-always-visible .driveon-important-conditions {
  margin-top: 0;
}

@media (max-width: 760px) {
  .driveon-summary-toggle {
    display: flex;
  }

  .driveon-booking-summary-collapsible {
    padding: 0 !important;
  }

  .driveon-summary-collapsible-content {
    padding: 0 16px 16px;
  }

  .driveon-summary-collapsible-content .driveon-summary-kicker {
    display: none;
  }

  .driveon-customer-layout {
    grid-template-columns: 1fr !important;
  }

  .driveon-summary-mobile-wrap {
    order: -1;
  }

  .driveon-customer-form {
    position: relative;
    z-index: 2;
  }

  .driveon-continue-booking {
    position: relative;
    z-index: 20;
    width: 100%;
    min-height: 54px;
    touch-action: manipulation;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: transparent;
  }

  .driveon-customer-step,
  .driveon-customer-layout,
  .driveon-customer-form {
    overflow: visible !important;
  }

  .driveon-language-switcher {
    z-index: 50;
  }
}


/* v1.3.2 — ascunde introducerea și căutarea după selectarea mașinii */
.driveon-booking-results.is-booking-flow-active [data-driveon-results-intro],
.driveon-booking-results.is-booking-flow-active [data-driveon-results-search-panel] {
  display: none !important;
}

@media (max-width: 760px) {
  .driveon-booking-results.is-booking-flow-active {
    padding-top: 0;
  }

  .driveon-booking-results.is-booking-flow-active .driveon-customer-step,
  .driveon-booking-results.is-booking-flow-active .driveon-extras-step,
  .driveon-booking-results.is-booking-flow-active .driveon-confirm-success {
    margin-top: 0;
  }
}


/* v1.3.3 — buton confirmare tactil pe mobil */
.driveon-final-confirm {
  position: relative;
  z-index: 100;
  display: block;
  width: 100%;
  min-height: 56px;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: rgba(153, 204, 51, .22);
  cursor: pointer;
  user-select: none;
}

.driveon-final-confirm[aria-busy="true"] {
  cursor: wait;
}

.driveon-extras-panel,
.driveon-extras-panel [data-driveon-extras-content] {
  position: relative;
}

.driveon-extras-panel [data-driveon-extras-content] {
  z-index: 5;
}

@media (max-width: 760px) {
  .driveon-final-confirm {
    z-index: 200;
    min-height: 58px;
    margin-bottom: 10px;
    font-size: 17px;
  }

  .driveon-final-disabled-note {
    position: relative;
    z-index: 1;
    pointer-events: none;
  }

  .driveon-extras-panel {
    overflow: visible !important;
    padding-bottom: 24px;
  }
}


/* v1.3.4 — versiune vizibilă și formular mobil stabil */
.driveon-search-form,
.driveon-results-search {
  position: relative;
}

.driveon-plugin-version {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
  padding: 4px 8px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: #98a2b3;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1;
  pointer-events: none;
}

.driveon-continue-booking {
  -webkit-appearance: none;
  appearance: none;
  touch-action: manipulation;
  pointer-events: auto !important;
}

@media (max-width: 760px) {
  .driveon-plugin-version {
    top: 8px;
    right: 10px;
    font-size: 8px;
  }

  .driveon-continue-booking {
    min-height: 58px;
    position: relative;
    z-index: 200;
  }
}


/* v1.3.6 — selector limbă mobil mai compact și elegant */
@media (max-width: 760px) {
  .driveon-language-switcher {
    right: 14px;
    bottom: 18px;
    top: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    width: 112px;
    padding: 5px;
    border: 1px solid rgba(17, 17, 17, .10);
    border-radius: 18px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transform: none;
  }

  .driveon-language-switcher > span {
    display: none;
  }

  .driveon-language-switcher button {
    width: 100%;
    height: 38px;
    border-radius: 13px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
  }

  .driveon-language-switcher button.is-active {
    background: #99cc33;
    color: #111;
    box-shadow: 0 4px 12px rgba(118, 165, 29, .22);
  }

  .driveon-language-switcher button:not(.is-active) {
    color: #667085;
  }

  .driveon-language-switcher button:active {
    transform: scale(.97);
  }
}

@media (max-width: 420px) {
  .driveon-language-switcher {
    right: 12px;
    bottom: 16px;
    width: 104px;
  }
}


/* v1.4.0 — casete de protecție orientate spre client */
.driveon-client-package,
.driveon-package-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #d7dde3;
  border-radius: 16px;
  background: #fff;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    background .18s ease;
}

.driveon-package-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(0,0,0,.07);
}

.driveon-package-card.is-selected {
  border-color: #99cc33 !important;
  background: #f7fbea;
  box-shadow:
    0 0 0 3px rgba(153,204,51,.18),
    0 12px 30px rgba(118,165,29,.10);
}

.driveon-package-card.is-selected::after {
  content: "Selectat";
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #99cc33;
  color: #111;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}

html[data-driveon-booking-lang="en"] .driveon-package-card.is-selected::after {
  content: "Selected";
}

.driveon-package-title,
.driveon-package-card h4,
.driveon-package-card h3 {
  margin-bottom: 4px !important;
  font-size: 15px !important;
  line-height: 1.25;
  letter-spacing: -.01em;
}

.driveon-package-subtitle,
.driveon-package-card .driveon-package-label {
  color: #667085;
  font-size: 11px;
  font-weight: 700;
}

.driveon-package-price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 14px;
}

.driveon-package-price strong {
  font-size: 30px !important;
  line-height: 1;
  letter-spacing: -.035em;
}

.driveon-package-price::after {
  content: "Preț total pentru întreaga perioadă";
  color: #667085;
  font-size: 10px;
  font-weight: 700;
}

html[data-driveon-booking-lang="en"] .driveon-package-price::after {
  content: "Total price for the entire rental";
}

.driveon-package-benefits,
.driveon-package-card ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px !important;
}

.driveon-package-benefits li,
.driveon-package-card li {
  position: relative;
  padding-left: 28px !important;
  color: #475467;
  font-size: 13px;
  line-height: 1.4;
}

.driveon-package-benefits li::before,
.driveon-package-card li::before {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  left: 0 !important;
  top: 0 !important;
  border-radius: 50%;
  background: #eef6dd;
  color: #5f8617;
  font-size: 11px;
  font-weight: 900;
}

.driveon-package-premium {
  border-color: #b8d77b !important;
}

.driveon-package-premium::before {
  content: "Alegerea preferată";
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  padding: 6px 10px;
  border-radius: 999px;
  background: #99cc33;
  color: #111;
  font-size: 10px;
  font-weight: 900;
}

html[data-driveon-booking-lang="en"] .driveon-package-premium::before {
  content: "Most popular";
}

.driveon-package-standard {
  background: #fff;
}

.driveon-package-standard:not(.is-selected) {
  opacity: .96;
}

.driveon-select-car,
[data-driveon-select-car] {
  min-height: 52px;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em;
}

@media (max-width: 760px) {
  .driveon-package-options,
  .driveon-packages,
  .driveon-price-options {
    gap: 12px !important;
  }

  .driveon-package-card {
    padding: 18px 16px 50px !important;
    border-radius: 18px;
  }

  .driveon-package-card.is-selected {
    box-shadow:
      0 0 0 4px rgba(153,204,51,.16),
      0 12px 30px rgba(118,165,29,.08);
  }

  .driveon-package-card h3,
  .driveon-package-card h4,
  .driveon-package-title {
    max-width: 68%;
    font-size: 16px !important;
  }

  .driveon-package-price strong {
    font-size: 34px !important;
  }

  .driveon-package-benefits li,
  .driveon-package-card li {
    font-size: 14px;
  }

  .driveon-package-premium::before {
    top: 14px;
    right: 14px;
    font-size: 9px;
  }

  .driveon-package-card.is-selected::after {
    right: 14px;
    bottom: 14px;
  }

  .driveon-select-car,
  [data-driveon-select-car] {
    min-height: 58px;
    font-size: 17px !important;
  }
}


/* v1.4.1 — layout compact pentru pachete pe mobil */
@media (max-width: 760px) {
  .driveon-package-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "title price"
      "benefits price";
    column-gap: 14px;
    row-gap: 8px;
    align-items: start;
    padding: 18px 16px !important;
  }

  .driveon-package-card h3,
  .driveon-package-card h4,
  .driveon-package-title,
  .driveon-package-card .driveon-package-label,
  .driveon-package-card > div:first-child {
    grid-area: title;
    max-width: none !important;
  }

  .driveon-package-price {
    grid-area: price;
    align-self: start;
    min-width: 108px;
    margin-top: 0 !important;
    text-align: right;
  }

  .driveon-package-price strong {
    font-size: 27px !important;
    white-space: nowrap;
  }

  .driveon-package-price::after {
    content: "total";
    font-size: 9px;
    text-align: right;
  }

  html[data-driveon-booking-lang="en"] .driveon-package-price::after {
    content: "total";
  }

  .driveon-package-benefits,
  .driveon-package-card ul {
    grid-area: benefits;
    margin-top: 6px !important;
    gap: 8px;
  }

  .driveon-package-benefits li,
  .driveon-package-card li {
    padding-left: 26px !important;
    font-size: 13px;
    line-height: 1.35;
  }

  .driveon-package-premium::before {
    position: static;
    grid-column: 1 / -1;
    justify-self: start;
    margin-bottom: 2px;
  }

  .driveon-package-card.is-selected::after {
    top: 14px;
    bottom: auto;
    right: 14px;
  }

  .driveon-package-card.is-selected {
    padding-bottom: 18px !important;
  }
}

/* avertizare daună cu indicator roșu */
.driveon-damage-warning-text {
  color: #b42318;
  font-weight: 700;
}

.driveon-package-standard li:last-child::before {
  content: "!";
  background: #fee4e2 !important;
  color: #d92d20 !important;
  border: 1px solid #fecdca;
}

@media (max-width: 420px) {
  .driveon-package-card {
    grid-template-columns: minmax(0, 1fr) 96px;
    column-gap: 10px;
  }

  .driveon-package-price strong {
    font-size: 24px !important;
  }
}


/* v1.4.2 — structură compactă reală pentru pachete pe mobil */
@media (max-width: 760px) {
  .driveon-price-option-compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: start !important;
    padding: 18px 16px !important;
  }

  .driveon-price-option-compact .driveon-package-copy {
    min-width: 0;
  }

  .driveon-price-option-compact .driveon-package-head {
    display: block !important;
    margin: 0 0 12px !important;
  }

  .driveon-price-option-compact .driveon-price-label {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  .driveon-price-option-compact .driveon-package-tagline {
    margin-top: 3px !important;
    font-size: 12px !important;
  }

  .driveon-price-option-compact .driveon-package-benefits {
    margin: 0 !important;
    padding: 0 !important;
    gap: 9px !important;
  }

  .driveon-price-option-compact .driveon-package-benefits li {
    padding-left: 26px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .driveon-price-option-compact .driveon-package-price-column {
    min-width: 104px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    text-align: right;
  }

  .driveon-price-option-compact .driveon-price-original {
    margin: 0 !important;
    color: #98a2b3 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-decoration: line-through;
    white-space: nowrap;
  }

  .driveon-price-option-compact .driveon-price-total {
    margin: 0 !important;
    color: #171717 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -.03em;
    white-space: nowrap;
  }

  .driveon-price-option-compact .driveon-recommended-badge {
    display: inline-flex !important;
    margin-top: 8px;
    position: static !important;
  }

  .driveon-price-option-compact.is-selected::after {
    top: auto !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  .driveon-price-option-compact.is-selected {
    padding-bottom: 48px !important;
  }
}

@media (max-width: 420px) {
  .driveon-price-option-compact {
    grid-template-columns: minmax(0, 1fr) 96px !important;
    gap: 10px !important;
  }

  .driveon-price-option-compact .driveon-price-total {
    font-size: 23px !important;
  }

  .driveon-price-option-compact .driveon-package-benefits li {
    font-size: 12.5px !important;
  }
}


/* v1.4.3 — compactare casete și aliniere beneficii */
@media (max-width: 760px) {
  .driveon-price-option-compact {
    padding: 18px 16px !important;
    min-height: auto !important;
  }

  .driveon-price-option-compact.is-selected {
    padding-bottom: 18px !important;
  }

  .driveon-price-option-compact.is-selected::after {
    display: none !important;
  }

  .driveon-price-option-compact .driveon-package-copy {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .driveon-price-option-compact .driveon-package-head {
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  .driveon-price-option-compact .driveon-package-benefits {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
  }

  .driveon-price-option-compact .driveon-package-benefits li {
    margin: 0 !important;
    padding-left: 26px !important;
    width: 100%;
  }

  .driveon-price-option-compact .driveon-package-price-column {
    justify-content: flex-start;
  }

  .driveon-price-option-compact .driveon-recommended-badge {
    margin-top: 8px !important;
    align-self: flex-end;
    white-space: nowrap;
    font-size: 9px !important;
  }

  .driveon-price-option-compact .driveon-package-copy,
  .driveon-price-option-compact .driveon-package-price-column {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}


/* v1.4.4 — elimină spațiul gol din cardurile de pachet */
@media (max-width: 760px) {
  .driveon-price-option,
  .driveon-price-option-compact,
  .driveon-price-option.is-premium,
  .driveon-price-option-compact.is-premium {
    min-height: 0 !important;
    height: auto !important;
    align-self: start !important;
    grid-auto-rows: auto !important;
  }

  .driveon-price-options {
    align-items: start !important;
  }

  .driveon-price-option-compact .driveon-package-copy,
  .driveon-price-option-compact .driveon-package-price-column,
  .driveon-price-option-compact .driveon-package-benefits {
    min-height: 0 !important;
    height: auto !important;
  }

  .driveon-price-option-compact .driveon-package-benefits {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .driveon-price-option-compact .driveon-package-benefits li:last-child {
    margin-bottom: 0 !important;
  }

  .driveon-price-option-compact::before,
  .driveon-price-option-compact::after {
    max-height: none;
  }
}


/* v1.4.5 — corecție definitivă spațiu gol în cardurile de pachet */
@media (max-width: 760px) {
  .driveon-price-option.driveon-price-option-compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    grid-auto-rows: auto !important;
    align-content: start !important;
    align-items: start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .driveon-price-option.driveon-price-option-compact > .driveon-package-copy,
  .driveon-price-option.driveon-price-option-compact > .driveon-package-price-column {
    grid-row: 1 !important;
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .driveon-price-option.driveon-price-option-compact .driveon-package-copy {
    grid-column: 1 !important;
  }

  .driveon-price-option.driveon-price-option-compact .driveon-package-price-column {
    grid-column: 2 !important;
  }

  .driveon-price-option.driveon-price-option-compact .driveon-package-benefits {
    display: flex !important;
    flex-direction: column !important;
    grid-template-rows: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}


/* v1.4.6 — aliniere exactă și beneficii pe un singur rând */
@media (max-width: 760px) {
  .driveon-price-option.driveon-price-option-compact {
    grid-template-columns: minmax(0, 1fr) 92px !important;
    column-gap: 10px !important;
  }

  .driveon-price-option-compact .driveon-package-head,
  .driveon-price-option-compact .driveon-package-benefits,
  .driveon-price-option-compact .driveon-package-benefits li {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .driveon-price-option-compact .driveon-package-benefits {
    width: 100% !important;
    gap: 8px !important;
  }

  .driveon-price-option-compact .driveon-package-benefits li {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }

  .driveon-price-option-compact .driveon-benefit-icon {
    position: static !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    font-size: 10px !important;
  }

  .driveon-price-option-compact .driveon-package-price-column {
    min-width: 92px !important;
  }

  .driveon-price-option-compact .driveon-price-total {
    font-size: 22px !important;
  }

  .driveon-price-option-compact .driveon-recommended-badge {
    max-width: 92px;
    justify-content: center;
    padding: 5px 7px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    text-align: center;
    white-space: normal !important;
  }
}

@media (max-width: 390px) {
  .driveon-price-option.driveon-price-option-compact {
    grid-template-columns: minmax(0, 1fr) 86px !important;
    column-gap: 8px !important;
  }

  .driveon-price-option-compact .driveon-package-benefits li {
    gap: 6px !important;
    font-size: 10.5px !important;
  }

  .driveon-price-option-compact .driveon-benefit-icon {
    flex-basis: 17px !important;
    width: 17px !important;
    height: 17px !important;
  }

  .driveon-price-option-compact .driveon-package-price-column {
    min-width: 86px !important;
  }

  .driveon-price-option-compact .driveon-price-total {
    font-size: 20px !important;
  }
}


/* v1.4.7 — ultimul pas: extraopțiuni înainte de total */
.driveon-extras-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.driveon-extras-panel {
  order: 1 !important;
  width: 100% !important;
}

.driveon-extras-summary {
  order: 2 !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 900px) {
  .driveon-extras-panel {
    order: 1 !important;
  }

  .driveon-extras-summary {
    order: 2 !important;
  }
}


/* v1.5.0 — alegerea metodei de plată */
.driveon-payment-choice {
  margin-top: 18px;
  padding-top: 17px;
  border-top: 1px solid #dce8c5;
}

.driveon-payment-choice-title {
  display: block;
  margin-bottom: 10px;
  color: #344054;
  font-size: 13px;
  font-weight: 900;
}

.driveon-payment-option {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 10px;
  margin-top: 9px;
  padding: 13px;
  border: 1px solid #d0d5dd;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: .16s ease;
}

.driveon-payment-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.driveon-payment-option.is-selected {
  border-color: #99cc33;
  background: #f6faed;
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .13);
}

.driveon-payment-option-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #eef6dd;
  color: #5f8617;
  font-size: 18px;
  font-weight: 900;
}

.driveon-payment-option-copy strong,
.driveon-payment-option-copy small {
  display: block;
}

.driveon-payment-option-copy strong {
  color: #171717;
  font-size: 13px;
}

.driveon-payment-option-copy small {
  margin-top: 3px;
  color: #667085;
  font-size: 10px;
  line-height: 1.35;
}

.driveon-payment-option-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #e4e7ec;
  color: transparent;
  font-size: 12px;
  font-weight: 900;
}

.driveon-payment-option.is-selected .driveon-payment-option-check {
  background: #99cc33;
  color: #111;
}

@media (max-width: 760px) {
  .driveon-payment-option {
    padding: 12px;
  }

  .driveon-payment-option-copy strong {
    font-size: 14px;
  }

  .driveon-payment-option-copy small {
    font-size: 11px;
  }
}


/* v1.5.1 — buton confirmare sub metodele de plată */
.driveon-payment-confirm-area {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #dce8c5;
}

.driveon-payment-confirm-area .driveon-extras-status {
  margin-top: 0;
  margin-bottom: 10px;
}

.driveon-payment-confirm-area .driveon-final-confirm {
  margin-top: 0;
}

.driveon-payment-confirm-area .driveon-final-disabled-note {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .driveon-payment-confirm-area {
    margin-top: 16px;
    padding-top: 14px;
  }

  .driveon-payment-confirm-area .driveon-final-confirm {
    min-height: 58px;
    font-size: 17px;
  }
}


/* v1.5.2 — buton căutare mai compact pe desktop */
@media (min-width: 901px) {
  .driveon-search-submit,
  .driveon-booking-search button[type="submit"],
  [data-driveon-search-submit] {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 20px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    align-self: end !important;
  }
}


/* v1.5.3 — buton suficient de lat pentru textul complet pe desktop */
@media (min-width: 901px) {
  .driveon-search-submit,
  .driveon-booking-search button[type="submit"],
  [data-driveon-search-submit] {
    width: auto !important;
    min-width: 190px !important;
    max-width: none !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}


/* v1.5.4 — buton încadrat complet în formularul desktop */
@media (min-width: 1081px) {
  .driveon-search-form,
  .driveon-results-search {
    box-sizing: border-box !important;
    grid-template-columns:
      minmax(180px, 1.15fr)
      minmax(220px, 1.35fr)
      minmax(210px, 1fr)
      200px !important;
  }

  .driveon-search-submit {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: end !important;
  }

  .driveon-search-submit button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }
}

/* păstrează layoutul intermediar fără depășiri */
@media (min-width: 901px) and (max-width: 1080px) {
  .driveon-search-submit {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .driveon-search-submit button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    white-space: nowrap !important;
  }
}


/* v1.5.5 — perioadă mai îngustă, buton încadrat complet pe desktop */
@media (min-width: 1081px) {
  .driveon-search-form,
  .driveon-results-search {
    box-sizing: border-box !important;
    grid-template-columns:
      minmax(220px, 1.15fr)
      minmax(170px, .82fr)
      minmax(220px, 1fr)
      205px !important;
    column-gap: 12px !important;
  }

  .driveon-range-field {
    min-width: 0 !important;
  }

  .driveon-range-field input {
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 14px !important;
  }

  .driveon-search-submit {
    box-sizing: border-box !important;
    width: 205px !important;
    min-width: 0 !important;
    max-width: 205px !important;
    justify-self: end !important;
    align-self: end !important;
  }

  .driveon-search-submit button {
    box-sizing: border-box !important;
    width: 205px !important;
    min-width: 0 !important;
    max-width: 205px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }
}

@media (min-width: 901px) and (max-width: 1080px) {
  .driveon-search-submit,
  .driveon-search-submit button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* v1.5.6 — spațiere egală în jurul butonului pe desktop */
@media (min-width: 1081px) {
  .driveon-search-form,
  .driveon-results-search {
    grid-template-columns:
      minmax(220px, 1.15fr)
      minmax(155px, .75fr)
      minmax(220px, 1fr)
      229px !important;
    column-gap: 12px !important;
  }

  .driveon-search-submit {
    box-sizing: border-box !important;
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
    justify-self: start !important;
    margin-left: 17px !important;
    margin-right: 7px !important;
  }

  .driveon-search-submit button {
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
  }
}


/* v1.5.7 — grilă desktop corectă, spații perfect egale lângă buton */
@media (min-width: 1081px) {
  .driveon-search-form,
  .driveon-results-search {
    box-sizing: border-box !important;
    grid-template-columns:
      minmax(220px, 1.10fr)
      minmax(170px, .75fr)
      minmax(220px, 1fr)
      190px !important;
    column-gap: 22px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .driveon-range-field,
  .driveon-times-field,
  .driveon-location-field {
    min-width: 0 !important;
  }

  .driveon-range-field input {
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 13px !important;
  }

  .driveon-search-submit {
    box-sizing: border-box !important;
    width: 190px !important;
    min-width: 0 !important;
    max-width: 190px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: stretch !important;
    align-self: end !important;
  }

  .driveon-search-submit button {
    box-sizing: border-box !important;
    display: block !important;
    width: 190px !important;
    min-width: 0 !important;
    max-width: 190px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }
}


/* v1.5.8 — carduri Standard/Premium compacte și pe desktop */
@media (min-width: 761px) {
  .driveon-price-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .driveon-price-option.driveon-price-option-compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 112px !important;
    grid-template-rows: auto !important;
    column-gap: 14px !important;
    align-items: start !important;
    align-content: start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px !important;
  }

  .driveon-price-option.driveon-price-option-compact.is-selected {
    padding: 13px !important;
  }

  .driveon-price-option.driveon-price-option-compact.is-selected::after {
    display: none !important;
  }

  .driveon-price-option-compact > .driveon-package-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    height: auto !important;
  }

  .driveon-price-option-compact > .driveon-package-price-column {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    min-width: 0 !important;
    height: auto !important;
    text-align: right !important;
  }

  .driveon-price-option-compact .driveon-package-head {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
  }

  .driveon-price-option-compact .driveon-price-label {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  .driveon-price-option-compact .driveon-package-tagline {
    min-height: 0 !important;
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .driveon-price-option-compact .driveon-package-benefits {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .driveon-price-option-compact .driveon-package-benefits li {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  .driveon-price-option-compact .driveon-benefit-icon {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    font-size: 9px !important;
  }

  .driveon-price-option-compact .driveon-price-original {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: #98a2b3 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    text-decoration: line-through !important;
    white-space: nowrap !important;
  }

  .driveon-price-option-compact .driveon-price-total {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: #171717 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -.03em !important;
    white-space: nowrap !important;
  }

  .driveon-price-option-compact .driveon-recommended-badge {
    position: static !important;
    display: inline-flex !important;
    align-self: flex-end !important;
    margin-top: 5px !important;
    padding: 4px 7px !important;
    font-size: 8px !important;
    white-space: nowrap !important;
  }

  .driveon-car-footer {
    margin-top: 12px !important;
    padding-top: 12px !important;
  }
}


/* v1.5.9 — ultimul pas în două coloane pe desktop */
@media (min-width: 901px) {
  .driveon-extras-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, .85fr) !important;
    gap: 22px !important;
    align-items: start !important;
  }

  .driveon-extras-panel {
    order: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .driveon-extras-summary {
    order: 2 !important;
    position: sticky !important;
    top: 24px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 18px !important;
    border-radius: 14px !important;
  }

  .driveon-extras-summary .driveon-summary-kicker {
    margin-bottom: 10px !important;
    font-size: 10px !important;
  }

  .driveon-extras-summary .driveon-summary-row {
    padding: 9px 0 !important;
    font-size: 12px !important;
  }

  .driveon-extras-summary .driveon-summary-total {
    padding-top: 12px !important;
  }

  .driveon-extras-summary .driveon-summary-total strong {
    font-size: 24px !important;
  }

  .driveon-extras-summary .driveon-summary-note {
    margin-top: 8px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  .driveon-payment-choice {
    margin-top: 14px !important;
    padding-top: 14px !important;
  }

  .driveon-payment-choice-title {
    margin-bottom: 8px !important;
    font-size: 12px !important;
  }

  .driveon-payment-option {
    grid-template-columns: 32px minmax(0, 1fr) 20px !important;
    gap: 9px !important;
    margin-top: 8px !important;
    padding: 10px 11px !important;
    border-radius: 10px !important;
  }

  .driveon-payment-option-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
  }

  .driveon-payment-option-copy strong {
    font-size: 12px !important;
  }

  .driveon-payment-option-copy small {
    margin-top: 2px !important;
    font-size: 9px !important;
  }

  .driveon-payment-option-check {
    width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
  }

  .driveon-payment-confirm-area {
    margin-top: 14px !important;
    padding-top: 14px !important;
  }

  .driveon-payment-confirm-area .driveon-final-confirm {
    min-height: 48px !important;
    font-size: 15px !important;
  }

  .driveon-payment-confirm-area .driveon-final-disabled-note {
    margin-top: 7px !important;
    font-size: 9px !important;
  }
}

/* mobilul rămâne în ordinea verticală actuală */
@media (max-width: 900px) {
  .driveon-extras-layout {
    display: flex !important;
    flex-direction: column !important;
  }

  .driveon-extras-panel {
    order: 1 !important;
  }

  .driveon-extras-summary {
    order: 2 !important;
    position: static !important;
  }
}


/* v1.6.1 — pasul „Datele tale” își adaptează înălțimea la conținut */
.driveon-booking-results [hidden] {
  display: none !important;
}

.driveon-booking-results.is-customer-step-active {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.driveon-booking-results.is-customer-step-active [data-driveon-customer-step] {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-bottom: 0 !important;
}

.driveon-booking-results.is-customer-step-active .driveon-customer-layout,
.driveon-booking-results.is-customer-step-active .driveon-customer-form,
.driveon-booking-results.is-customer-step-active .driveon-booking-summary {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: start !important;
}

.driveon-booking-results.is-customer-step-active [data-driveon-cars],
.driveon-booking-results.is-customer-step-active [data-driveon-toolbar],
.driveon-booking-results.is-customer-step-active [data-driveon-results-intro],
.driveon-booking-results.is-customer-step-active [data-driveon-results-search-panel] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* v1.6.2 — coloana din dreapta rămâne fixă ca un singur bloc */
@media (min-width: 901px) {
  .driveon-customer-layout {
    align-items: start !important;
  }

  .driveon-summary-mobile-wrap {
    position: sticky !important;
    top: 92px !important;
    align-self: start !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .driveon-summary-mobile-wrap .driveon-booking-summary {
    position: static !important;
    top: auto !important;
    margin: 0 !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-always-visible {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 0 !important;
  }

  .driveon-summary-mobile-wrap .driveon-payment-info,
  .driveon-summary-mobile-wrap .driveon-important-conditions {
    position: static !important;
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  .driveon-summary-mobile-wrap,
  .driveon-summary-mobile-wrap .driveon-booking-summary {
    position: static !important;
    top: auto !important;
  }
}


/* v1.6.3 — toate chenarele din coloana dreaptă au aceeași lățime */
@media (min-width: 901px) {
  .driveon-summary-mobile-wrap,
  .driveon-summary-mobile-wrap .driveon-booking-summary,
  .driveon-summary-mobile-wrap .driveon-summary-always-visible,
  .driveon-summary-mobile-wrap .driveon-payment-info,
  .driveon-summary-mobile-wrap .driveon-important-conditions {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-always-visible {
    align-items: stretch !important;
  }

  .driveon-summary-mobile-wrap .driveon-payment-info,
  .driveon-summary-mobile-wrap .driveon-important-conditions {
    align-self: stretch !important;
  }
}


/* v1.6.5 — aceeași lățime pentru toate chenarele din rezumat pe mobil */
@media (max-width: 760px) {
  .driveon-summary-mobile-wrap,
  .driveon-summary-mobile-wrap .driveon-booking-summary,
  .driveon-summary-mobile-wrap .driveon-booking-summary-collapsible,
  .driveon-summary-mobile-wrap .driveon-summary-always-visible,
  .driveon-summary-mobile-wrap .driveon-payment-info,
  .driveon-summary-mobile-wrap .driveon-important-conditions {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
  }

  .driveon-summary-mobile-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-always-visible {
    align-items: stretch !important;
  }
}


/* v1.6.6 — butoane de întoarcere mai clare și discrete */
.driveon-back-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  border: 1px solid #d7dde3 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #344054 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  box-shadow: 0 4px 12px rgba(17, 24, 39, .04) !important;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease !important;
}

.driveon-back-action .driveon-back-arrow {
  display: inline-block;
  color: #6f971e;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  transition: transform .18s ease;
}

.driveon-back-action:hover {
  border-color: #99cc33 !important;
  background: #f8fbed !important;
  color: #171717 !important;
  transform: translateY(-1px);
}

.driveon-back-action:hover .driveon-back-arrow {
  transform: translateX(-2px);
}

.driveon-back-action:focus-visible {
  outline: none !important;
  border-color: #99cc33 !important;
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .2) !important;
}

@media (max-width: 760px) {
  .driveon-back-action {
    width: 100% !important;
    justify-content: flex-start !important;
    min-height: 46px !important;
    padding: 11px 14px !important;
    font-size: 14px !important;
  }
}


/* v1.6.7 — tranziții fluide între pași */
@keyframes driveon-step-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.driveon-step-enter {
  animation: driveon-step-in .34s cubic-bezier(.22, .8, .24, 1) both;
}

.driveon-button-spinner {
  display: inline-block;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 2px solid rgba(17, 17, 17, .24);
  border-top-color: #111;
  border-radius: 50%;
  animation: driveon-spin .72s linear infinite;
}

.is-step-loading {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  cursor: wait !important;
  pointer-events: none !important;
}

.driveon-back-action.is-step-loading .driveon-back-arrow {
  display: none !important;
}

.driveon-continue-booking.is-step-loading,
.driveon-select-car.is-step-loading {
  opacity: .88;
}

@media (prefers-reduced-motion: reduce) {
  .driveon-step-enter,
  .driveon-button-spinner {
    animation-duration: .01ms !important;
  }
}


/* v1.6.9 — închidere mai fluidă după alegerea datei și orei */
.flatpickr-calendar {
  transition: opacity .14s ease, transform .14s ease !important;
}

.flatpickr-calendar.driveon-picker-confirmed {
  box-shadow: 0 18px 55px rgba(153, 204, 51, .18) !important;
}

.flatpickr-calendar.driveon-picker-closing {
  opacity: 0 !important;
  transform: translateY(-4px) scale(.992) !important;
  pointer-events: none !important;
}

.driveon-time-wheel-overlay {
  transition: opacity .14s ease !important;
}

.driveon-time-wheel-overlay .driveon-time-wheel-modal {
  transition: transform .14s ease, opacity .14s ease !important;
}

.driveon-time-wheel-overlay.is-confirmed .driveon-time-wheel-confirm {
  background: #86b629 !important;
  transform: scale(.985);
}

.driveon-time-wheel-overlay.is-closing {
  opacity: 0 !important;
  pointer-events: none !important;
}

.driveon-time-wheel-overlay.is-closing .driveon-time-wheel-modal {
  opacity: 0 !important;
  transform: translateY(6px) scale(.992) !important;
}


/* v1.7.1 — loading complet între căutare și afișarea mașinilor */
.driveon-search-submit button.is-step-loading,
.driveon-results-search button.is-step-loading {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  cursor: wait !important;
  pointer-events: none !important;
  opacity: .9;
}

.driveon-booking-results.is-results-loading [data-driveon-toolbar],
.driveon-booking-results.is-results-loading [data-driveon-cars] {
  display: none !important;
}

.driveon-booking-results.is-results-loading [data-driveon-results-status] {
  display: block !important;
}


/* v1.7.2 — spinner fără text, urmat de bifă încercuită */
.is-step-loading,
.is-step-complete {
  min-width: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

.driveon-button-spinner {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  border-width: 2px !important;
}

.driveon-button-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: #111;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  animation: driveon-check-pop .28s cubic-bezier(.2, .8, .2, 1) both;
}

.is-step-complete {
  background: #99cc33 !important;
  color: #111 !important;
  border-color: #99cc33 !important;
  pointer-events: none !important;
}

@keyframes driveon-check-pop {
  0% {
    opacity: 0;
    transform: scale(.55);
  }
  70% {
    opacity: 1;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .driveon-button-check {
    animation-duration: .01ms !important;
  }
}


/* v1.7.3 — feedback curat tip Apple Pay: fără săgeți în loading/success */
.is-step-loading .driveon-back-arrow,
.is-step-complete .driveon-back-arrow,
.is-step-loading::before,
.is-step-loading::after,
.is-step-complete::before,
.is-step-complete::after {
  display: none !important;
  content: none !important;
}

.is-step-loading,
.is-step-complete {
  position: relative !important;
  overflow: hidden !important;
  justify-content: center !important;
}

.is-step-loading > *:not(.driveon-button-spinner),
.is-step-complete > *:not(.driveon-button-check) {
  display: none !important;
}

.driveon-button-spinner {
  margin: 0 !important;
}

.driveon-button-check {
  position: relative;
  margin: 0 !important;
  border-width: 2px !important;
  box-shadow: 0 0 0 0 rgba(153, 204, 51, .35);
  animation: driveon-check-apple .38s cubic-bezier(.2, .9, .2, 1) both !important;
}

.is-step-complete {
  animation: driveon-success-pulse .42s cubic-bezier(.2, .9, .2, 1) both;
}

@keyframes driveon-check-apple {
  0% {
    opacity: 0;
    transform: scale(.45);
  }
  55% {
    opacity: 1;
    transform: scale(1.12);
    box-shadow: 0 0 0 7px rgba(153, 204, 51, .12);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(153, 204, 51, 0);
  }
}

@keyframes driveon-success-pulse {
  0% {
    transform: scale(1);
  }
  55% {
    transform: scale(.985);
  }
  100% {
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .driveon-button-check,
  .is-step-complete {
    animation-duration: .01ms !important;
  }
}


/* v1.7.4 — eroare direct în pasul de căutare */
.driveon-button-error {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  animation: driveon-error-pop .3s cubic-bezier(.2, .9, .2, 1) both;
}

.is-step-error {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 54px !important;
  gap: 0 !important;
  overflow: hidden !important;
  border-color: #d92d20 !important;
  background: #d92d20 !important;
  color: #ffffff !important;
  pointer-events: none !important;
  animation: driveon-error-shake .34s ease both;
}

.is-step-error::before,
.is-step-error::after,
.is-step-error .driveon-back-arrow {
  display: none !important;
  content: none !important;
}

.driveon-search-error.is-visible {
  display: block !important;
  grid-column: 1 / -1;
  margin-top: 2px;
}

.driveon-search-error.is-search-error-animated {
  animation: driveon-error-message-in .35s ease both;
}

@keyframes driveon-error-pop {
  from {
    opacity: 0;
    transform: scale(.55);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes driveon-error-shake {
  0%, 100% {
    transform: translateX(0);
  }
  30% {
    transform: translateX(-3px);
  }
  60% {
    transform: translateX(3px);
  }
}

@keyframes driveon-error-message-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .driveon-button-error,
  .is-step-error,
  .driveon-search-error.is-search-error-animated {
    animation-duration: .01ms !important;
  }
}


/* v1.7.5 — spinner și bifă verzi pe mobil și pe butoanele negre */
.driveon-button-spinner {
  border-color: rgba(153, 204, 51, .28) !important;
  border-top-color: #99cc33 !important;
}

.driveon-button-check {
  color: #99cc33 !important;
  border-color: #99cc33 !important;
}

.is-step-loading,
.is-step-complete {
  color: #99cc33 !important;
}

@media (max-width: 760px) {
  .driveon-select-car.is-step-loading,
  .driveon-select-car.is-step-complete,
  .driveon-final-confirm.is-step-loading,
  .driveon-final-confirm.is-step-complete,
  .driveon-search-submit button.is-step-loading,
  .driveon-search-submit button.is-step-complete {
    background: #111111 !important;
    color: #99cc33 !important;
    border-color: #111111 !important;
  }

  .driveon-select-car.is-step-loading .driveon-button-spinner,
  .driveon-final-confirm.is-step-loading .driveon-button-spinner,
  .driveon-search-submit button.is-step-loading .driveon-button-spinner {
    border-color: rgba(153, 204, 51, .30) !important;
    border-top-color: #99cc33 !important;
  }

  .driveon-select-car.is-step-complete .driveon-button-check,
  .driveon-final-confirm.is-step-complete .driveon-button-check,
  .driveon-search-submit button.is-step-complete .driveon-button-check {
    color: #99cc33 !important;
    border-color: #99cc33 !important;
  }
}


/* v1.7.7 — primul buton folosește animații negre */
.driveon-search-submit button.is-step-loading .driveon-button-spinner,
.driveon-results-search button.is-step-loading .driveon-button-spinner {
  border-color: rgba(17, 17, 17, .24) !important;
  border-top-color: #111111 !important;
}

.driveon-search-submit button.is-step-complete .driveon-button-check,
.driveon-results-search button.is-step-complete .driveon-button-check {
  color: #111111 !important;
  border-color: #111111 !important;
}

.driveon-search-submit button.is-step-loading,
.driveon-search-submit button.is-step-complete,
.driveon-results-search button.is-step-loading,
.driveon-results-search button.is-step-complete {
  color: #111111 !important;
}

/* suprascrie regula mobilă verde doar pentru primul pas */
@media (max-width: 760px) {
  .driveon-search-submit button.is-step-loading,
  .driveon-search-submit button.is-step-complete,
  .driveon-results-search button.is-step-loading,
  .driveon-results-search button.is-step-complete {
    background: #99cc33 !important;
    color: #111111 !important;
    border-color: #99cc33 !important;
  }

  .driveon-search-submit button.is-step-loading .driveon-button-spinner,
  .driveon-results-search button.is-step-loading .driveon-button-spinner {
    border-color: rgba(17, 17, 17, .24) !important;
    border-top-color: #111111 !important;
  }

  .driveon-search-submit button.is-step-complete .driveon-button-check,
  .driveon-results-search button.is-step-complete .driveon-button-check {
    color: #111111 !important;
    border-color: #111111 !important;
  }
}


/* v1.7.8 — poziționare directă la filtrul rezultatelor */
[data-driveon-toolbar] {
  scroll-margin-top: 18px;
}

@media (max-width: 760px) {
  [data-driveon-toolbar] {
    scroll-margin-top: 10px;
  }
}




/* v1.8.0 — spinner contrastant pe „Continuă spre confirmare” */
.driveon-continue-booking.is-step-loading .driveon-button-spinner {
  border-color: rgba(255, 255, 255, .32) !important;
  border-top-color: #ffffff !important;
}

.driveon-continue-booking.is-step-complete .driveon-button-check {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.driveon-continue-booking.is-step-loading,
.driveon-continue-booking.is-step-complete {
  color: #ffffff !important;
}


/* v1.8.1 — buton alegere mașină cu schema inversată */
.driveon-select-car {
  background: #111111 !important;
  color: #99cc33 !important;
  border-color: #111111 !important;
}

.driveon-select-car:hover,
.driveon-select-car:focus-visible {
  background: #000000 !important;
  color: #99cc33 !important;
  border-color: #000000 !important;
}

.driveon-select-car .driveon-button-spinner {
  border-color: rgba(153, 204, 51, .30) !important;
  border-top-color: #99cc33 !important;
}

.driveon-select-car .driveon-button-check {
  color: #99cc33 !important;
  border-color: #99cc33 !important;
}

.driveon-select-car.is-step-loading,
.driveon-select-car.is-step-complete {
  background: #111111 !important;
  color: #99cc33 !important;
  border-color: #111111 !important;
}

/* v1.8.1 — centrare săgeată în cercul rezumatului rezervării */
.driveon-booking-summary-toggle,
.driveon-summary-toggle,
.driveon-summary-arrow-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.driveon-booking-summary-toggle .driveon-summary-arrow,
.driveon-summary-toggle .driveon-summary-arrow,
.driveon-summary-arrow-wrap .driveon-summary-arrow,
.driveon-booking-summary-toggle svg,
.driveon-summary-toggle svg,
.driveon-summary-arrow-wrap svg {
  position: static !important;
  margin: 0 !important;
  inset: auto !important;
  transform-origin: 50% 50% !important;
  line-height: 1 !important;
}

.driveon-booking-summary-toggle::before,
.driveon-booking-summary-toggle::after,
.driveon-summary-toggle::before,
.driveon-summary-toggle::after {
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* v1.8.2 — corecție definitivă buton „Continuă cu pachetul ales” */
.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car],
.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car]:hover,
.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car]:focus,
.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car]:focus-visible,
.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car]:active,
.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car].is-step-loading,
.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car].is-step-complete {
  background: #111111 !important;
  background-image: none !important;
  color: #99cc33 !important;
  border-color: #111111 !important;
  box-shadow: none !important;
}

.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car] .driveon-button-spinner {
  border-color: rgba(153, 204, 51, .30) !important;
  border-top-color: #99cc33 !important;
}

.driveon-booking-results .driveon-car-card button.driveon-select-car[data-select-car] .driveon-button-check {
  color: #99cc33 !important;
  border-color: #99cc33 !important;
}

/* v1.8.2 — rezumat: text stânga, cerc dreapta, săgeată perfect centrată */
@media (max-width: 760px) {
  .driveon-summary-mobile-wrap .driveon-summary-toggle[data-driveon-summary-toggle] {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    text-align: left !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-toggle[data-driveon-summary-toggle] > span:first-child {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-toggle[data-driveon-summary-toggle] small,
  .driveon-summary-mobile-wrap .driveon-summary-toggle[data-driveon-summary-toggle] strong {
    width: 100% !important;
    text-align: left !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-toggle-icon {
    position: relative !important;
    display: flex !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    transform: none !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-toggle-icon::before {
    content: "" !important;
    display: block !important;
    width: 7px !important;
    height: 7px !important;
    margin: -3px 0 0 0 !important;
    border-right: 2px solid #5f8617 !important;
    border-bottom: 2px solid #5f8617 !important;
    transform: rotate(45deg) !important;
    transform-origin: 50% 50% !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-toggle.is-open .driveon-summary-toggle-icon {
    transform: none !important;
  }

  .driveon-summary-mobile-wrap .driveon-summary-toggle.is-open .driveon-summary-toggle-icon::before {
    margin: 3px 0 0 0 !important;
    transform: rotate(225deg) !important;
  }
}


/* v1.8.3 — desktop: spinner și bifă verzi în pasul de căutare */
@media (min-width: 761px) {
  .driveon-search-submit button.is-step-loading .driveon-button-spinner,
  .driveon-results-search button.is-step-loading .driveon-button-spinner {
    border-color: rgba(153, 204, 51, .30) !important;
    border-top-color: #99cc33 !important;
  }

  .driveon-search-submit button.is-step-complete .driveon-button-check,
  .driveon-results-search button.is-step-complete .driveon-button-check {
    color: #99cc33 !important;
    border-color: #99cc33 !important;
  }

  .driveon-search-submit button.is-step-loading,
  .driveon-search-submit button.is-step-complete,
  .driveon-results-search button.is-step-loading,
  .driveon-results-search button.is-step-complete {
    color: #99cc33 !important;
  }

  [data-driveon-customer-step] {
    scroll-margin-top: 18px;
  }

  .driveon-customer-step-header,
  .driveon-customer-main {
    scroll-margin-top: 18px;
  }
}


/* v1.9.0 — preferințe și recomandare */
.driveon-preferences {
  grid-column: 1 / -1;
  margin-top: 6px;
  padding: 16px;
  border: 1px solid #e5e8df;
  border-radius: 18px;
  background: #fff;
}

.driveon-preferences-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.driveon-preferences-head strong,
.driveon-preferences-head span {
  display: block;
}

.driveon-preferences-head strong {
  color: #111;
  font-size: 15px;
  line-height: 1.3;
}

.driveon-preferences-head > div > span {
  margin-top: 3px;
  color: #6c7068;
  font-size: 12px;
}

.driveon-preferences-count {
  flex: 0 0 auto;
  color: #6a8f20;
  font-size: 12px;
  font-weight: 800;
}

.driveon-preference-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.driveon-preference-chip {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #dfe4d7;
  border-radius: 999px;
  background: #f8faf5;
  color: #252821;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.driveon-preference-chip:hover {
  border-color: #99cc33;
  transform: translateY(-1px);
}

.driveon-preference-chip.is-selected {
  border-color: #99cc33;
  background: #99cc33;
  color: #111;
}

.driveon-preferences-message {
  display: none;
  margin-top: 9px;
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
}

.driveon-preferences-message.is-visible {
  display: block;
}

.driveon-recommendation-badge {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(153, 204, 51, .55);
  border-radius: 14px;
  background: #f7fbea;
}

.driveon-recommendation-badge span,
.driveon-recommendation-badge small {
  display: block;
}

.driveon-recommendation-badge span {
  color: #4f7412;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.driveon-recommendation-badge small {
  margin-top: 3px;
  color: #4f5549;
  font-size: 11px;
  line-height: 1.4;
}

@media (max-width: 760px) {
  .driveon-preferences {
    padding: 14px;
    border-radius: 16px;
  }

  .driveon-preference-chip {
    min-height: 36px;
    padding: 8px 11px;
    font-size: 12px;
  }
}


/* v1.9.1 — card recomandat mai evident */
.driveon-car-card.is-recommended {
  position: relative;
  z-index: 2;
  border: 2px solid #99cc33 !important;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, .12),
    0 0 0 5px rgba(153, 204, 51, .10) !important;
  transform: translateY(-4px);
}

.driveon-car-card.is-recommended::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 22px;
  right: 22px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: #99cc33;
}

.driveon-car-card.is-recommended .driveon-recommendation-badge {
  margin-top: 2px;
  padding: 12px 14px;
  border: 1px solid #99cc33;
  background: linear-gradient(
    135deg,
    rgba(153, 204, 51, .20),
    rgba(153, 204, 51, .08)
  );
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
}

.driveon-car-card.is-recommended .driveon-recommendation-badge span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #3f6408;
  font-size: 12px;
}

.driveon-car-card.is-recommended .driveon-recommendation-badge span::before {
  content: "★";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #99cc33;
  color: #111111;
  font-size: 11px;
  line-height: 1;
}

.driveon-car-card.is-recommended .driveon-recommendation-badge small {
  margin-top: 6px;
  color: #3f4639;
  font-size: 12px;
  font-weight: 600;
}

.driveon-car-card.is-recommended:hover {
  transform: translateY(-6px);
  box-shadow:
    0 24px 58px rgba(0, 0, 0, .15),
    0 0 0 6px rgba(153, 204, 51, .12) !important;
}

@media (max-width: 760px) {
  .driveon-car-card.is-recommended {
    transform: none;
    box-shadow:
      0 16px 36px rgba(0, 0, 0, .11),
      0 0 0 4px rgba(153, 204, 51, .10) !important;
  }

  .driveon-car-card.is-recommended:hover {
    transform: none;
  }

  .driveon-car-card.is-recommended::before {
    left: 16px;
    right: 16px;
  }

  .driveon-car-card.is-recommended .driveon-recommendation-badge {
    padding: 11px 12px;
  }
}


/* v1.9.3 — recomandare mai evidentă și preferințe afișate în rezultate */
.driveon-car-card.is-recommended {
  border: 3px solid #99cc33 !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, .16),
    0 0 0 7px rgba(153, 204, 51, .13) !important;
}

.driveon-car-card.is-recommended::before {
  top: -3px !important;
  left: 14px !important;
  right: 14px !important;
  height: 6px !important;
  background: #99cc33 !important;
}

.driveon-car-card.is-recommended .driveon-recommendation-badge {
  margin: -2px -2px 14px !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #99cc33 !important;
  box-shadow: 0 10px 26px rgba(153, 204, 51, .24) !important;
}

.driveon-car-card.is-recommended .driveon-recommendation-badge span {
  color: #111111 !important;
  font-size: 13px !important;
}

.driveon-car-card.is-recommended .driveon-recommendation-badge span::before {
  background: #111111 !important;
  color: #99cc33 !important;
}

.driveon-car-card.is-recommended .driveon-recommendation-badge small {
  color: #27320f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.driveon-results-preferences {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 18px;
  padding: 12px 14px;
  border: 1px solid rgba(153, 204, 51, .45);
  border-radius: 16px;
  background: #f8fbea;
}

.driveon-results-preferences[hidden] {
  display: none !important;
}

.driveon-results-preferences-label {
  flex: 0 0 auto;
  color: #4f7412;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.driveon-results-preference-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.driveon-results-preference-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #111111;
  color: #99cc33;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .driveon-car-card.is-recommended {
    border-width: 3px !important;
    box-shadow:
      0 18px 42px rgba(0, 0, 0, .15),
      0 0 0 5px rgba(153, 204, 51, .12) !important;
  }

  .driveon-results-preferences {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
  }
}


/* v1.9.4 — preferințe persistente și cod discount */
.driveon-results-search-preferences {
  margin-top: 2px;
}

.driveon-discount-box {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid #dfe5d7;
  border-radius: 16px;
  background: #f8faf5;
}

.driveon-discount-copy strong,
.driveon-discount-copy span {
  display: block;
}

.driveon-discount-copy strong {
  color: #111111;
  font-size: 14px;
}

.driveon-discount-copy span {
  margin-top: 3px;
  color: #6b7065;
  font-size: 12px;
}

.driveon-discount-form {
  display: flex;
  gap: 8px;
  margin-top: 11px;
}

.driveon-discount-form input {
  min-width: 0;
  flex: 1 1 auto;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #ccd3c4;
  border-radius: 11px;
  background: #ffffff;
  color: #111111;
  font-size: 14px;
  text-transform: uppercase;
}

.driveon-discount-form button {
  flex: 0 0 auto;
  min-width: 84px;
  height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 11px;
  background: #111111;
  color: #99cc33;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.driveon-discount-form button:disabled {
  cursor: wait;
  opacity: .85;
}

.driveon-discount-form button.is-applied {
  min-width: 42px;
  background: #99cc33;
  color: #111111;
}

.driveon-discount-status {
  min-height: 18px;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
}

.driveon-discount-status.is-success {
  color: #4f7412;
}

.driveon-discount-status.is-error {
  color: #b42318;
}


/* v1.9.7 — reducere separată și prețuri extra reorganizate */
.driveon-summary-discount-row {
  color: #537a12;
}

.driveon-summary-discount-row strong {
  color: #537a12 !important;
}

.driveon-summary-discount-row[hidden] {
  display: none !important;
}

.driveon-extra-card-copy {
  min-width: 0;
}

.driveon-extra-card-copy strong,
.driveon-extra-card-copy span {
  display: block;
}

.driveon-extra-total-label {
  margin-top: 5px;
  color: #687066;
  font-size: 13px;
  font-weight: 600;
}

.driveon-extra-card-action {
  align-items: center;
  gap: 12px;
}

.driveon-extra-daily-price {
  color: #111111;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .driveon-extra-card-action {
    gap: 8px;
  }

  .driveon-extra-daily-price {
    font-size: 12px;
  }

  .driveon-extra-total-label {
    font-size: 12px;
  }
}


/* v1.9.9 — eliminare cod discount */
.driveon-remove-discount {
  min-width: 82px !important;
  background: #ffffff !important;
  color: #b42318 !important;
  border: 1px solid #e0b7b3 !important;
}

.driveon-remove-discount:hover {
  background: #fff5f4 !important;
}

.driveon-remove-discount[hidden] {
  display: none !important;
}

@media (max-width: 760px) {
  .driveon-discount-form {
    flex-wrap: wrap;
  }

  .driveon-remove-discount {
    width: 100%;
  }
}


/* v1.11.0 — aliniere căutare și câmpuri internaționale */
@media (min-width: 1081px) {
  .driveon-results-search > .driveon-search-submit {
    position: relative;
    top: -2px;
    align-self: end;
  }
}

.driveon-customer-form select {
  width: 100%;
  min-height: 50px;
  padding: 0 42px 0 14px;
  border: 1px solid #d7dce2;
  border-radius: 10px;
  background-color: #ffffff;
  color: #111111;
  font: inherit;
  outline: none;
}

.driveon-customer-form select:focus {
  border-color: var(--driveon-green);
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .18);
}

.driveon-phone-control {
  display: grid;
  grid-template-columns: minmax(150px, .95fr) minmax(150px, 1.25fr);
  gap: 8px;
}

.driveon-phone-control .driveon-phone-country {
  min-width: 0;
  padding-right: 34px;
}

.driveon-phone-control input[type="tel"] {
  min-width: 0;
}

.driveon-form-field.has-error select,
.driveon-form-field.has-error .driveon-phone-control input {
  border-color: #d92d20 !important;
  box-shadow: 0 0 0 3px rgba(217, 45, 32, .10);
}

@media (max-width: 680px) {
  .driveon-phone-control {
    grid-template-columns: minmax(132px, .9fr) minmax(0, 1.1fr);
  }

  .driveon-phone-control .driveon-phone-country,
  .driveon-phone-control input[type="tel"],
  .driveon-customer-form select {
    min-height: 50px;
    font-size: 16px;
  }
}


/* v1.11.1 — dropdownuri compacte și căutabile */
.driveon-searchable-select {
  position: relative;
  width: 100%;
}

.driveon-searchable-input {
  width: 100%;
  min-height: 50px;
  padding: 0 38px 0 14px !important;
  border: 1px solid #d7dce2;
  border-radius: 10px;
  background:
    linear-gradient(45deg, transparent 50%, #667085 50%) calc(100% - 18px) 22px/5px 5px no-repeat,
    linear-gradient(135deg, #667085 50%, transparent 50%) calc(100% - 13px) 22px/5px 5px no-repeat,
    #ffffff;
  color: #111111;
  font: inherit;
  outline: none;
}

.driveon-searchable-input:focus {
  border-color: var(--driveon-green);
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .18);
}

.driveon-searchable-menu {
  position: absolute;
  z-index: 9999;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: 238px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #d7dce2;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(17, 17, 17, .16);
}

.driveon-searchable-menu[hidden] {
  display: none !important;
}

.driveon-searchable-option {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #111111;
  text-align: left;
  cursor: pointer;
}

.driveon-searchable-option:hover,
.driveon-searchable-option:focus {
  background: #f1f7e7;
  outline: none;
}

.driveon-searchable-flag {
  font-size: 19px;
  line-height: 1;
}

.driveon-searchable-name {
  min-width: 0;
  overflow: hidden;
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.driveon-searchable-dial {
  color: #527317;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.driveon-searchable-empty {
  padding: 14px 12px;
  color: #667085;
  font-size: 13px;
  text-align: center;
}

.driveon-searchable-menu::-webkit-scrollbar {
  width: 7px;
}

.driveon-searchable-menu::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #c9d3bc;
}

.driveon-searchable-menu::-webkit-scrollbar-track {
  background: transparent;
}

.driveon-phone-control {
  grid-template-columns: minmax(145px, .8fr) minmax(165px, 1.2fr);
}

@media (max-width: 680px) {
  .driveon-searchable-menu {
    max-height: 210px;
  }

  .driveon-phone-control {
    grid-template-columns: minmax(125px, .85fr) minmax(0, 1.15fr);
  }

  .driveon-searchable-input {
    font-size: 16px;
  }
}


/* v1.11.2 — dropdownuri mai lizibile, limbă dinamică și aliniere */
@media (min-width: 1081px) {
  .driveon-results-search > .driveon-search-submit {
    position: relative !important;
    top: -8px !important;
    align-self: end !important;
  }
}

.driveon-searchable-menu {
  max-height: 230px;
}

.driveon-searchable-option {
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 6px;
  min-height: 38px;
  padding: 6px 8px;
}

.driveon-searchable-flag {
  font-size: 16px;
}

.driveon-searchable-name {
  font-size: 12px;
  font-weight: 700;
}

.driveon-searchable-dial {
  font-size: 12px;
}

.driveon-phone-control {
  grid-template-columns: minmax(185px, .95fr) minmax(165px, 1.05fr);
}

@media (max-width: 680px) {
  .driveon-phone-control {
    grid-template-columns: minmax(160px, .95fr) minmax(0, 1.05fr);
  }

  .driveon-searchable-menu {
    max-height: 205px;
  }

  .driveon-searchable-option {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 5px;
    min-height: 36px;
    padding: 5px 7px;
  }

  .driveon-searchable-name,
  .driveon-searchable-dial {
    font-size: 11px;
  }

  .driveon-searchable-flag {
    font-size: 15px;
  }
}

.driveon-booking-results.is-booking-flow-active
  [data-driveon-results-preferences] {
  display: none !important;
}


/* v1.11.3 — aliniere rezumat rezervare strict pe desktop */
@media (min-width: 761px) {
  .driveon-summary-mobile-wrap
    .driveon-summary-toggle[data-driveon-summary-toggle] {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    padding: 18px 20px !important;
    text-align: left !important;
  }

  .driveon-summary-mobile-wrap
    .driveon-summary-toggle[data-driveon-summary-toggle]
    > span:first-child {
    display: block !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .driveon-summary-mobile-wrap
    .driveon-summary-toggle[data-driveon-summary-toggle]
    small,
  .driveon-summary-mobile-wrap
    .driveon-summary-toggle[data-driveon-summary-toggle]
    strong {
    width: auto !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .driveon-summary-mobile-wrap
    .driveon-summary-toggle[data-driveon-summary-toggle]
    .driveon-summary-toggle-icon {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
  }
}


/* v1.13.0 — RentSyst returning customer verification */
.driveon-returning-client {
  margin-bottom: 20px;
  padding: 18px;
  border: 1px solid #dfe7d5;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(153, 204, 51, .13), transparent 38%),
    #fbfdf8;
}

.driveon-returning-client-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.driveon-returning-client-kicker {
  display: block;
  margin-bottom: 4px;
  color: #66852a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.driveon-returning-client-head strong {
  display: block;
  color: #111;
  font-size: 17px;
  line-height: 1.3;
}

.driveon-returning-client-head p {
  margin: 5px 0 0;
  color: #667085;
  font-size: 12px;
  line-height: 1.5;
}

.driveon-returning-client-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 12px;
  padding: 0;
  background: #99cc33;
  color: #111;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  transition: transform .16s ease, background .16s ease;
}

.driveon-returning-client-icon:hover {
  background: #8abe25;
  transform: rotate(-18deg);
}

.driveon-returning-client-icon:focus-visible {
  outline: 3px solid rgba(153, 204, 51, .3);
  outline-offset: 3px;
}

.driveon-returning-client-send label,
.driveon-returning-client-code label {
  display: block;
  margin-bottom: 7px;
  color: #344054;
  font-size: 12px;
  font-weight: 800;
}

.driveon-returning-client-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.driveon-returning-client-row input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: #111;
  font-size: 15px;
  outline: none;
}

.driveon-returning-client-row input:focus {
  border-color: #99cc33;
  box-shadow: 0 0 0 3px rgba(153, 204, 51, .17);
}

.driveon-returning-client-row button {
  min-height: 46px;
  border: 0;
  border-radius: 10px;
  padding: 10px 16px;
  background: #111;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.driveon-returning-client-row button:hover {
  background: #2b2b2b;
}

.driveon-returning-client-row button:disabled {
  opacity: .62;
  cursor: wait;
}

.driveon-returning-client-code {
  margin-top: 14px;
}

.driveon-returning-resend {
  margin: 9px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #536f21;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.driveon-returning-client-status {
  min-height: 0;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}

.driveon-returning-client-status.is-success {
  color: #177245;
}

.driveon-returning-client-status.is-error {
  color: #b42318;
}

.driveon-returning-client-status.is-loading {
  color: #475467;
}

.driveon-form-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 4px 0 18px;
  color: #98a2b3;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.driveon-form-divider::before,
.driveon-form-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: #e4e7ec;
}

.driveon-customer-form.is-contact-loaded .driveon-returning-client {
  border-color: rgba(153, 204, 51, .85);
  background: #f8fced;
}

@media (max-width: 680px) {
  .driveon-returning-client {
    padding: 15px;
  }

  .driveon-returning-client-row {
    grid-template-columns: 1fr;
  }

  .driveon-returning-client-row button {
    width: 100%;
  }

  .driveon-returning-client-head {
    gap: 12px;
  }
}


/* v1.19.7 — rezumat: aliniază doar butonul de maximizare la dreapta */
.driveon-summary-toggle[data-driveon-summary-toggle]
  .driveon-summary-toggle-icon {
  margin-left: auto !important;
}


/* v1.20.1 — ascunde hero-ul mare de sus doar pe mobil */
@media (max-width: 767px) {
  .driveon-booking-hero,
  .driveon-hero,
  .driveon-booking-page-hero,
  .driveon-results-hero,
  .driveon-search-hero,
  [data-driveon-booking-hero] {
    display: none !important;
  }

  .driveon-booking-wrap,
  .driveon-booking-page,
  .driveon-booking-shell {
    padding-top: 0 !important;
  }
}


/* v1.20.2 — text explicativ pentru preferințe */
.driveon-preferences-helper {
  display: block;
  max-width: 680px;
  margin-top: 5px;
  color: #667085;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
}

@media (max-width: 767px) {
  .driveon-preferences-helper {
    font-size: 12px;
    line-height: 1.4;
  }
}


/* v1.20.5 — contact rapid în caz de eroare + polish butoane */
.driveon-error-contact {
  margin: 12px 0 0;
  padding: 14px;
  border: 1px solid rgba(217, 45, 32, .18);
  border-radius: 16px;
  background: #fff7f5;
  color: #344054;
}

.driveon-error-contact[hidden] {
  display: none !important;
}

.driveon-error-contact span {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.driveon-error-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.driveon-error-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.driveon-error-contact-btn.call {
  background: #111;
  color: #99cc33 !important;
  box-shadow: 0 10px 22px rgba(17, 17, 17, .16);
}

.driveon-error-contact-btn.whatsapp {
  background: #99cc33;
  color: #111 !important;
  box-shadow: 0 10px 22px rgba(153, 204, 51, .18);
}

.driveon-error-contact-btn:hover {
  transform: translateY(-1px);
}

.driveon-returning-client button,
.driveon-returning-client .driveon-button,
.driveon-returning-client [type="button"] {
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

.driveon-returning-client button:not(.driveon-returning-client-icon) {
  background: #111 !important;
  color: #99cc33 !important;
}

.driveon-returning-client button:not(.driveon-returning-client-icon):hover {
  background: #050505 !important;
  color: #a8dd3a !important;
  transform: translateY(-1px);
}

.is-step-loading .driveon-button-spinner,
button[aria-busy="true"] .driveon-button-spinner {
  border-top-color: #99cc33;
}

@media (max-width: 767px) {
  .driveon-error-contact {
    padding: 12px;
    border-radius: 14px;
  }

  .driveon-error-contact-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .driveon-error-contact-btn {
    width: 100%;
  }
}


/* v1.20.6 — taxe out-of-hours în price breakdown */
.driveon-out-hours-row span {
  color: #475467;
}

.driveon-out-hours-row strong {
  color: #111;
}


/* v1.20.7 — fix aliniere calendar pe mobil */
@media (max-width: 767px) {
  .driveon-date-picker,
  .driveon-datepicker,
  .driveon-calendar,
  .driveon-calendar-panel,
  .driveon-calendar-popup,
  .driveon-date-popover {
    max-width: calc(100vw - 24px) !important;
    width: calc(100vw - 24px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .driveon-calendar-weekdays,
  .driveon-datepicker-weekdays,
  .driveon-calendar-grid,
  .driveon-datepicker-grid,
  .driveon-date-grid,
  .driveon-days-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }

  .driveon-calendar-weekdays > *,
  .driveon-datepicker-weekdays > *,
  .driveon-calendar-grid > *,
  .driveon-datepicker-grid > *,
  .driveon-date-grid > *,
  .driveon-days-grid > * {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: stretch !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .driveon-calendar-day,
  .driveon-datepicker-day,
  .driveon-day,
  .driveon-date-day,
  [data-driveon-calendar-day],
  [data-date-day] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 42px !important;
    padding: 0 !important;
  }

  .driveon-calendar-day.is-in-range,
  .driveon-datepicker-day.is-in-range,
  .driveon-day.is-in-range,
  .driveon-date-day.is-in-range,
  [data-driveon-calendar-day].is-in-range,
  [data-date-day].is-in-range {
    border-radius: 0 !important;
  }

  .driveon-calendar-day.is-range-start,
  .driveon-datepicker-day.is-range-start,
  .driveon-day.is-range-start,
  .driveon-date-day.is-range-start,
  [data-driveon-calendar-day].is-range-start,
  [data-date-day].is-range-start {
    border-top-left-radius: 999px !important;
    border-bottom-left-radius: 999px !important;
  }

  .driveon-calendar-day.is-range-end,
  .driveon-datepicker-day.is-range-end,
  .driveon-day.is-range-end,
  .driveon-date-day.is-range-end,
  [data-driveon-calendar-day].is-range-end,
  [data-date-day].is-range-end {
    border-top-right-radius: 999px !important;
    border-bottom-right-radius: 999px !important;
  }

  .driveon-calendar-day.is-selected,
  .driveon-datepicker-day.is-selected,
  .driveon-day.is-selected,
  .driveon-date-day.is-selected,
  [data-driveon-calendar-day].is-selected,
  [data-date-day].is-selected {
    border-radius: 18px !important;
  }

  .driveon-calendar-weekdays > *,
  .driveon-datepicker-weekdays > * {
    font-size: 13px !important;
    line-height: 1.2 !important;
  }
}


/* v1.20.8 — fix real Flatpickr mobile grid: 7 coloane reale, nu doar container întins */
@media (max-width: 767px) {
  .flatpickr-calendar,
  .flatpickr-calendar.open,
  .flatpickr-calendar.inline {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .flatpickr-calendar .flatpickr-months,
  .flatpickr-calendar .flatpickr-innerContainer,
  .flatpickr-calendar .flatpickr-rContainer,
  .flatpickr-calendar .flatpickr-weekdays,
  .flatpickr-calendar .flatpickr-days {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .flatpickr-calendar .flatpickr-weekdays {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }

  .flatpickr-calendar .flatpickr-weekdaycontainer {
    display: contents !important;
  }

  .flatpickr-calendar span.flatpickr-weekday {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .flatpickr-calendar .dayContainer {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
  }

  .flatpickr-calendar .flatpickr-day {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
  }

  .flatpickr-calendar .flatpickr-day.inRange {
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .flatpickr-calendar .flatpickr-day.startRange {
    border-top-left-radius: 999px !important;
    border-bottom-left-radius: 999px !important;
  }

  .flatpickr-calendar .flatpickr-day.endRange {
    border-top-right-radius: 999px !important;
    border-bottom-right-radius: 999px !important;
  }

  .flatpickr-calendar .flatpickr-day.selected:not(.startRange):not(.endRange) {
    border-radius: 18px !important;
  }
}


/* v1.20.9 — calendar mai elegant + săptămână de luni și pe EN */
.flatpickr-calendar {
  border: 1px solid rgba(153, 204, 51, .18) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow:
    0 28px 70px rgba(16, 24, 40, .18),
    0 8px 22px rgba(16, 24, 40, .08) !important;
  overflow: hidden !important;
}

.flatpickr-calendar::before,
.flatpickr-calendar::after {
  display: none !important;
}

.flatpickr-calendar .flatpickr-months {
  padding: 18px 18px 8px !important;
}

.flatpickr-calendar .flatpickr-month {
  height: 48px !important;
}

.flatpickr-calendar .flatpickr-current-month {
  padding-top: 4px !important;
  height: 48px !important;
}

.flatpickr-calendar .flatpickr-current-month .cur-month,
.flatpickr-calendar .flatpickr-current-month input.cur-year {
  font-weight: 900 !important;
  color: #111 !important;
}

.flatpickr-calendar .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-next-month {
  top: 20px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  transition: background .16s ease, transform .16s ease;
}

.flatpickr-calendar .flatpickr-prev-month:hover,
.flatpickr-calendar .flatpickr-next-month:hover {
  background: rgba(153, 204, 51, .12) !important;
  transform: translateY(-1px);
}

.flatpickr-calendar .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-next-month svg {
  stroke: #111 !important;
  fill: none !important;
}

.flatpickr-calendar .flatpickr-weekdays {
  padding: 6px 18px 4px !important;
}

.flatpickr-calendar span.flatpickr-weekday {
  color: #6b7280 !important;
  font-weight: 900 !important;
}

.flatpickr-calendar .flatpickr-days {
  padding: 8px 18px 20px !important;
}

.flatpickr-calendar .flatpickr-day {
  border: 0 !important;
  color: #2f3033 !important;
  font-weight: 850 !important;
  transition: background .14s ease, color .14s ease, transform .14s ease;
}

.flatpickr-calendar .flatpickr-day.prevMonthDay,
.flatpickr-calendar .flatpickr-day.nextMonthDay {
  color: #c8c8c8 !important;
}

.flatpickr-calendar .flatpickr-day.today:not(.selected):not(.startRange):not(.endRange) {
  border: 2px solid #99cc33 !important;
  background: #fff !important;
  color: #222 !important;
}

.flatpickr-calendar .flatpickr-day:hover {
  background: rgba(153, 204, 51, .12) !important;
  color: #111 !important;
}

.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange {
  background: #99cc33 !important;
  color: #111 !important;
  font-weight: 950 !important;
}

.flatpickr-calendar .flatpickr-day.inRange {
  background: rgba(153, 204, 51, .22) !important;
  color: #111 !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .flatpickr-calendar {
    border-radius: 26px !important;
    box-shadow:
      0 22px 55px rgba(16, 24, 40, .18),
      0 6px 16px rgba(16, 24, 40, .08) !important;
  }

  .flatpickr-calendar .flatpickr-months {
    padding: 14px 14px 6px !important;
  }

  .flatpickr-calendar .flatpickr-weekdays {
    padding: 4px 12px 2px !important;
  }

  .flatpickr-calendar .flatpickr-days {
    padding: 6px 12px 16px !important;
  }

  .flatpickr-calendar .flatpickr-day {
    font-size: 16px !important;
  }
}


/* v1.21.0 — reset sigur pentru Flatpickr desktop/web cu două luni */
.flatpickr-calendar.driveon-flatpickr-multi-month,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) {
  width: auto !important;
  max-width: min(calc(100vw - 32px), 760px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(153, 204, 51, .18) !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow:
    0 28px 70px rgba(16, 24, 40, .16),
    0 8px 22px rgba(16, 24, 40, .07) !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month .flatpickr-innerContainer,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) .flatpickr-innerContainer {
  display: flex !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month .flatpickr-rContainer,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) .flatpickr-rContainer {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month .flatpickr-weekdays,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) .flatpickr-weekdays {
  display: flex !important;
  width: auto !important;
  max-width: none !important;
  padding: 6px 18px 4px !important;
  box-sizing: border-box !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month .flatpickr-weekdaycontainer,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) .flatpickr-weekdaycontainer {
  display: flex !important;
  width: 307.875px !important;
  min-width: 307.875px !important;
  max-width: 307.875px !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month span.flatpickr-weekday,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) span.flatpickr-weekday {
  display: block !important;
  flex: 1 0 14.285714% !important;
  width: 14.285714% !important;
  max-width: 14.285714% !important;
  min-width: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month .flatpickr-days,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) .flatpickr-days {
  display: flex !important;
  width: auto !important;
  max-width: none !important;
  padding: 8px 18px 20px !important;
  box-sizing: border-box !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month .dayContainer,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) .dayContainer {
  display: flex !important;
  flex-wrap: wrap !important;
  grid-template-columns: none !important;
  width: 307.875px !important;
  min-width: 307.875px !important;
  max-width: 307.875px !important;
  flex: 0 0 307.875px !important;
  box-sizing: border-box !important;
}

.flatpickr-calendar.driveon-flatpickr-multi-month .flatpickr-day,
.flatpickr-calendar:not(.driveon-flatpickr-single-month) .flatpickr-day {
  display: inline-block !important;
  width: 14.2857143% !important;
  max-width: 14.2857143% !important;
  min-width: 14.2857143% !important;
  height: 39px !important;
  line-height: 39px !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Single-month/mobile: aici aplicăm 7 coloane reale */
.flatpickr-calendar.driveon-flatpickr-single-month .flatpickr-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.flatpickr-calendar.driveon-flatpickr-single-month .flatpickr-weekdaycontainer {
  display: contents !important;
}

.flatpickr-calendar.driveon-flatpickr-single-month .dayContainer {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.flatpickr-calendar.driveon-flatpickr-single-month .flatpickr-day {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  line-height: 1 !important;
}

/* Range styling comun, fără să strice coloanele */
.flatpickr-calendar .flatpickr-day.inRange {
  box-shadow: none !important;
}

.flatpickr-calendar .flatpickr-day.startRange {
  border-top-left-radius: 999px !important;
  border-bottom-left-radius: 999px !important;
}

.flatpickr-calendar .flatpickr-day.endRange {
  border-top-right-radius: 999px !important;
  border-bottom-right-radius: 999px !important;
}

@media (max-width: 767px) {
  .flatpickr-calendar.driveon-flatpickr-single-month {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    border-radius: 26px !important;
  }

  .flatpickr-calendar.driveon-flatpickr-single-month .flatpickr-weekdays {
    padding: 4px 12px 2px !important;
  }

  .flatpickr-calendar.driveon-flatpickr-single-month .flatpickr-days {
    padding: 6px 12px 16px !important;
  }

  .flatpickr-calendar.driveon-flatpickr-single-month .flatpickr-day {
    font-size: 16px !important;
  }
}
