/* UdonCarRent.com native Ecalypse Booking page — v1.7.0 */
body.udcr-booking-page .site.grid-container,
body.udcr-booking-page .site-content,
body.udcr-booking-page .content-area,
body.udcr-booking-page main.site-main,
body.udcr-booking-page article,
body.udcr-booking-page .inside-article,
body.udcr-booking-page .entry-content {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.udcr-booking-page .entry-header,
body.udcr-booking-page .entry-title { display:none!important; }

.udcr-native-booking,
.udcr-native-booking * { box-sizing:border-box; }
.udcr-native-booking {
  --nb-navy:#041b31;
  --nb-navy2:#0a3966;
  --nb-blue:#0873dc;
  --nb-blue-soft:#eaf5ff;
  --nb-yellow:#ffc400;
  --nb-green:#0a9466;
  --nb-ink:#102a43;
  --nb-muted:#61768a;
  --nb-line:#dce7f0;
  --nb-soft:#f5f9fc;
  --nb-shadow:0 22px 65px rgba(6,38,64,.12);
  width:100%;
  overflow:hidden;
  color:var(--nb-ink);
  background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Thai","Helvetica Neue",Arial,sans-serif;
  font-size:16.5px;
  line-height:1.65;
}
.udcr-native-booking a { text-decoration:none; }
.udcr-native-wrap { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.udcr-native-booking--results .udcr-native-wrap { width:min(1380px,calc(100% - 48px)); }

.udcr-native-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:72px 0 118px;
  color:#fff;
  background:radial-gradient(circle at 88% 14%,rgba(67,161,255,.30),transparent 29%),linear-gradient(122deg,#041b31 0%,#093c70 57%,#0873dc 100%);
}
.udcr-native-hero::after {
  position:absolute; z-index:-1; right:-170px; bottom:-250px; width:650px; height:650px;
  border:1px solid rgba(255,255,255,.12); border-radius:50%;
  box-shadow:0 0 0 82px rgba(255,255,255,.03),0 0 0 175px rgba(255,255,255,.02); content:"";
}
.udcr-native-booking--results .udcr-native-hero { padding:42px 0 78px; }
.udcr-native-eyebrow { display:inline-flex; align-items:center; gap:8px; margin-bottom:13px; color:#acd5ff; font-size:.77rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.udcr-native-eyebrow::before { width:8px; height:8px; border-radius:50%; background:var(--nb-yellow); content:""; }
.udcr-native-hero h1 { max-width:850px; margin:0 0 15px; color:#fff; font-size:clamp(2.35rem,5vw,4.8rem); line-height:1.1; letter-spacing:-.04em; }
.udcr-native-booking--results .udcr-native-hero h1 { font-size:clamp(2rem,4vw,3.6rem); }
.udcr-native-hero p { max-width:780px; margin:0; color:rgba(255,255,255,.80); font-size:1.02rem; }
.udcr-native-progress { display:grid; grid-template-columns:repeat(4,1fr); max-width:800px; margin-top:25px; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(255,255,255,.07); backdrop-filter:blur(10px); }
.udcr-native-progress-step { display:flex; min-height:58px; align-items:center; gap:9px; padding:10px 14px; color:rgba(255,255,255,.56); font-size:.76rem; font-weight:800; }
.udcr-native-progress-step + .udcr-native-progress-step { border-left:1px solid rgba(255,255,255,.11); }
.udcr-native-progress-step i { display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; border-radius:50%; background:rgba(255,255,255,.10); color:rgba(255,255,255,.62); font-style:normal; font-size:.69rem; font-weight:950; }
.udcr-native-progress-step.is-active { color:#fff; background:rgba(255,255,255,.06); }
.udcr-native-progress-step.is-active i { background:var(--nb-yellow); color:#041b31; }
.udcr-native-progress-step.is-done { color:#dff3ff; }
.udcr-native-progress-step.is-done i { background:#1baa76; color:#fff; }

.udcr-native-workspace { position:relative; z-index:3; margin-top:-68px; padding-bottom:78px; background:linear-gradient(180deg,transparent 0 68px,var(--nb-soft) 68px 100%); }
.udcr-native-search-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr); gap:20px; align-items:start; }
.udcr-native-engine-card { overflow:hidden; border:1px solid var(--nb-line); border-radius:22px; background:#fff; box-shadow:var(--nb-shadow); }
.udcr-native-booking--results .udcr-native-engine-card { border-radius:20px; }
.udcr-native-engine-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:22px 24px 18px; border-bottom:1px solid var(--nb-line); }
.udcr-native-engine-head strong { display:block; margin:4px 0 3px; color:var(--nb-navy); font-size:1.15rem; }
.udcr-native-engine-head small { display:block; color:var(--nb-muted); font-size:.78rem; }
.udcr-native-engine-head > a { flex:0 0 auto; padding:7px 10px; border:1px solid #cee0ed; border-radius:10px; color:var(--nb-blue); font-size:.75rem; font-weight:850; }
.udcr-native-live { display:inline-flex; align-items:center; gap:7px; color:var(--nb-blue); font-size:.7rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.udcr-native-live::before { width:8px; height:8px; border-radius:50%; background:#18a66b; box-shadow:0 0 0 4px rgba(24,166,107,.11); content:""; }
.udcr-native-engine { padding:24px; }
.udcr-native-booking--results .udcr-native-engine { padding:18px; }

/* STEP 1: real Ecalypse form, but no unnecessary fleet query/results. */
.udcr-native-booking--search .carrental-custom-theme { width:100%!important; max-width:none!important; font-family:inherit!important; }
.udcr-native-booking--search .carrental-custom-theme .columns-2.aside-on-left { display:block!important; width:100%!important; max-width:none!important; }
.udcr-native-booking--search .carrental-custom-theme .columns-2.aside-on-left > .column { float:none!important; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
.udcr-native-booking--search .carrental-custom-theme .column-fluid { display:none!important; }
.udcr-native-booking--search .carrental-custom-theme .column-fixed > .box { border:0!important; background:transparent!important; box-shadow:none!important; }
.udcr-native-booking--search .carrental-custom-theme .column-fixed .box > :not([data-target="modify-search"]):not([data-id="modify-search"]) { display:none!important; }
.udcr-native-booking--search .carrental-custom-theme [data-target="modify-search"] { display:none!important; }
.udcr-native-booking--search .carrental-custom-theme [data-id="modify-search"] { display:block!important; padding:0!important; border:0!important; }
.udcr-native-booking--search #carrental_booking_form fieldset { display:grid!important; grid-template-columns:1fr 1fr!important; gap:14px!important; margin:0!important; padding:0!important; border:0!important; }
.udcr-native-booking--search #carrental_booking_form fieldset > .control-group { margin:0!important; min-width:0!important; }
.udcr-native-booking--search #carrental_booking_form fieldset > .control-group:not(.columns-2):not(.columns) { grid-column:1 / -1!important; }
.udcr-native-booking--search #carrental_booking_form fieldset > .columns-2.control-group,
.udcr-native-booking--search #carrental_booking_form fieldset > .columns.control-group { display:grid!important; grid-template-columns:minmax(0,1fr) 112px!important; gap:10px!important; width:100%!important; }
.udcr-native-booking--search #carrental_booking_form fieldset > .columns-2.control-group > .column,
.udcr-native-booking--search #carrental_booking_form fieldset > .columns.control-group > .column { float:none!important; width:auto!important; min-width:0!important; margin:0!important; padding:0!important; }
.udcr-native-booking--search #carrental_booking_form .control-field { width:100%!important; }
.udcr-native-booking--search #carrental_booking_form select,
.udcr-native-booking--search #carrental_booking_form input[type="text"] { width:100%!important; min-height:54px!important; height:54px!important; padding:0 14px!important; border:1px solid #cbdce8!important; border-radius:12px!important; background:#fff!important; color:#17324d!important; font-family:inherit!important; font-size:.88rem!important; box-shadow:none!important; }
.udcr-native-booking--search #carrental_booking_form select:focus,
.udcr-native-booking--search #carrental_booking_form input[type="text"]:focus { border-color:var(--nb-blue)!important; outline:none!important; box-shadow:0 0 0 3px rgba(8,115,220,.10)!important; }
.udcr-native-booking--search #carrental_booking_form .control-addon { display:block!important; width:100%!important; }
.udcr-native-booking--search #carrental_booking_form .control-addon-item { right:8px!important; top:50%!important; transform:translateY(-50%)!important; }
.udcr-native-booking--search #carrental_booking_form label { color:#566e83!important; font-family:inherit!important; font-size:.8rem!important; font-weight:700!important; }
.udcr-native-booking--search #carrental_booking_form input[type="checkbox"] { width:18px!important; height:18px!important; vertical-align:middle!important; accent-color:var(--nb-blue); }
.udcr-native-booking--search #carrental_book_now { width:100%!important; min-height:56px!important; border:0!important; border-radius:12px!important; background:linear-gradient(180deg,#0b78e4,#0867cf)!important; color:#fff!important; font-family:inherit!important; font-size:.9rem!important; font-weight:900!important; box-shadow:0 12px 25px rgba(8,103,207,.20)!important; }
.udcr-native-booking--search #carrental_book_now:hover { background:#0759b2!important; }
.udcr-native-booking--search #carrental_book_errors { grid-column:1/-1!important; margin:6px 0 0!important; padding-left:20px!important; }

.udcr-native-help { display:grid; gap:13px; }
.udcr-native-help-card { padding:21px; border:1px solid var(--nb-line); border-radius:17px; background:#fff; box-shadow:0 9px 28px rgba(6,38,64,.05); }
.udcr-native-help-card h2 { margin:0 0 13px; color:var(--nb-navy); font-size:1rem; letter-spacing:-.02em; }
.udcr-native-help-card ul { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.udcr-native-help-card li { display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:start; color:#566e83; font-size:.79rem; }
.udcr-native-help-card li b { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--nb-blue-soft); color:var(--nb-blue); font-size:.67rem; }
.udcr-native-text-link { display:block; margin-top:14px; padding-top:12px; border-top:1px solid var(--nb-line); color:var(--nb-blue)!important; font-size:.77rem; font-weight:850; }
.udcr-native-help-card--dark { background:linear-gradient(145deg,var(--nb-navy),#0b4e8b); color:#fff; }
.udcr-native-help-card--dark h2 { color:#fff; }
.udcr-native-help-card--dark p { color:rgba(255,255,255,.72); font-size:.79rem; }
.udcr-native-help-card--dark > a { display:flex; min-height:42px; align-items:center; justify-content:space-between; margin-top:8px; padding:8px 10px; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:rgba(255,255,255,.06); color:#fff!important; font-size:.76rem; font-weight:850; }

/* STEP 2: keep Ecalypse's proven DOM/layout, only host it cleanly in the modern page. */
.udcr-native-booking--results .carrental-custom-theme { width:100%!important; max-width:none!important; }
.udcr-native-booking--results .carrental-custom-theme .columns-2.aside-on-left { width:100%!important; max-width:none!important; }
.udcr-native-booking--results .carrental-custom-theme .column-fluid { min-width:0!important; }

.udcr-native-assurance { padding:66px 0; background:#fff; }
.udcr-native-assurance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.udcr-native-assurance article { padding:22px; border:1px solid var(--nb-line); border-radius:16px; background:#fff; }
.udcr-native-assurance article b { display:grid; width:37px; height:37px; margin-bottom:12px; place-items:center; border-radius:10px; background:var(--nb-blue-soft); color:var(--nb-blue); font-size:.71rem; }
.udcr-native-assurance article h2 { margin:0 0 6px; color:var(--nb-navy); font-size:1rem; }
.udcr-native-assurance article p { margin:0; color:var(--nb-muted); font-size:.8rem; }
.udcr-native-booking-error { padding:30px; border:1px solid #f3c4bd; border-radius:14px; background:#fff4f2; color:#8b3429; }

@media (max-width:980px) {
  .udcr-native-search-layout { grid-template-columns:1fr; }
  .udcr-native-help { grid-template-columns:1fr 1fr; }
  .udcr-native-assurance-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
  .udcr-native-wrap,
  .udcr-native-booking--results .udcr-native-wrap { width:min(100% - 28px,1380px); }
  .udcr-native-hero { padding:56px 0 102px; }
  .udcr-native-booking--results .udcr-native-hero { padding:38px 0 70px; }
  .udcr-native-progress { grid-template-columns:1fr 1fr; }
  .udcr-native-progress-step:nth-child(3) { border-left:0; border-top:1px solid rgba(255,255,255,.11); }
  .udcr-native-progress-step:nth-child(4) { border-top:1px solid rgba(255,255,255,.11); }
  .udcr-native-workspace { margin-top:-56px; padding-bottom:56px; background:linear-gradient(180deg,transparent 0 56px,var(--nb-soft) 56px 100%); }
  .udcr-native-engine { padding:17px; }
  .udcr-native-booking--search #carrental_booking_form fieldset { grid-template-columns:1fr!important; }
  .udcr-native-booking--search #carrental_booking_form fieldset > .control-group,
  .udcr-native-booking--search #carrental_booking_form fieldset > .columns-2.control-group,
  .udcr-native-booking--search #carrental_booking_form fieldset > .columns.control-group { grid-column:1!important; }
  .udcr-native-help { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .udcr-native-progress { grid-template-columns:1fr; }
  .udcr-native-progress-step + .udcr-native-progress-step { border-left:0; border-top:1px solid rgba(255,255,255,.11); }
  .udcr-native-booking--search #carrental_booking_form fieldset > .columns-2.control-group,
  .udcr-native-booking--search #carrental_booking_form fieldset > .columns.control-group { grid-template-columns:1fr!important; }
  .udcr-native-assurance-grid { grid-template-columns:1fr; }
}
