/* UDON CAR RENT: face-lift for the booking engine's own steps (details, extras, summary, manage booking).
   Pure CSS: no engine or MU-plugin code is changed. Tokens match site-bundle.css. */
.carrental-custom-theme{
  --e-ink:#1c211e;--e-muted:#5d625c;--e-accent:#f8c914;--e-accent-dark:#e5b700;--e-paper:#fffdf7;--e-soft:#f6f3e9;
  --e-line:#e5e1d5;--e-field:#8a8574;--e-focus:#745700;--e-ok:#1f6b3a;--e-bad:#a3261f;--e-r:14px;
  color:var(--e-ink);font-size:16px;line-height:1.55;padding:clamp(20px,3vw,40px) 0 clamp(48px,7vw,96px);background:var(--e-paper)
}
.carrental-custom-theme *,.carrental-custom-theme *::before,.carrental-custom-theme *::after{box-sizing:border-box}
.carrental-custom-theme .container{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.carrental-custom-theme a{color:var(--e-focus);text-underline-offset:3px}
.carrental-custom-theme a:hover{color:var(--e-ink)}
.carrental-custom-theme h1,.carrental-custom-theme h2,.carrental-custom-theme h3,.carrental-custom-theme .h2{margin:0 0 .5em;line-height:1.2;color:var(--e-ink)}
.carrental-custom-theme .h2{font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:800}
.carrental-custom-theme hr,.carrental-custom-theme hr.separate{border:0;border-top:1px solid var(--e-line);margin:26px 0}
.carrental-custom-theme .sprite-arrow-right,.carrental-custom-theme .sprite-calendar,.carrental-custom-theme .sprite-time,.carrental-custom-theme [class^="sprite-"],.carrental-custom-theme [class*=" sprite-"]{display:none}
.carrental-custom-theme .pull-right{float:right}

/* Steps */
.carrental-custom-theme ul.steps{list-style:none;margin:0 0 clamp(20px,3vw,32px);padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.carrental-custom-theme ul.steps li{margin:0;min-width:0}
.carrental-custom-theme ul.steps li a{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 14px;border:1px solid var(--e-line);border-radius:999px;background:#fff;color:var(--e-muted);text-decoration:none;font-weight:650;font-size:14px;line-height:1.2}
.carrental-custom-theme ul.steps li.active a{background:var(--e-ink);border-color:var(--e-ink);color:#fff}
.carrental-custom-theme .steps-number{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--e-soft);color:var(--e-ink);font-weight:800;font-size:13px}
.carrental-custom-theme ul.steps li.active .steps-number{background:var(--e-accent);color:var(--e-ink)}

/* Two-column layout: search summary on the left, form on the right */
.carrental-custom-theme .columns-2.aside-on-left{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
.carrental-custom-theme .column-fixed{position:sticky;top:16px}
.carrental-custom-theme .column-fluid{min-width:0}
.carrental-custom-theme .columns-2:not(.aside-on-left),.carrental-custom-theme .columns-3{display:grid;gap:14px 18px}
.carrental-custom-theme .columns-2:not(.aside-on-left){grid-template-columns:repeat(2,minmax(0,1fr))}
.carrental-custom-theme .columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.carrental-custom-theme .column,.carrental-custom-theme .column-wide,.carrental-custom-theme .column-wider,.carrental-custom-theme .column-thin,.carrental-custom-theme .column-thiner{min-width:0}

/* The site stylesheet carries legacy percentage widths for these helper classes; the grid owns sizing here. */
.carrental-custom-theme .column,.carrental-custom-theme [class*="column-"]:not(.columns-2):not(.columns-3):not(.columns-4){width:auto!important;max-width:none!important;float:none!important;flex:none!important;margin:0!important;padding:0!important}
.carrental-custom-theme ul.steps li::before,.carrental-custom-theme ul.steps li::after{content:none!important;display:none!important}
.carrental-custom-theme #carrental_booking_form .control-group.columns-2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important;gap:10px!important}
.carrental-custom-theme .box-white>.columns-2{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)!important;gap:clamp(16px,2.6vw,32px)}
.carrental-custom-theme .control-addon{display:block}

/* Car header + trip details inside "Complete reservation" */
.carrental-custom-theme .box-white>.columns-2{grid-template-columns:1fr!important}
.carrental-custom-theme .box-white>.columns-2:has(.list-item-media img){grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)!important}
.carrental-custom-theme .list-item-media p{margin:0;font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:850;line-height:1.15}
.carrental-custom-theme .list-item-media img{width:100%;border-radius:12px;margin-bottom:10px}
.carrental-custom-theme .box-darken{background:var(--e-soft);border:1px solid var(--e-line);border-radius:12px}
.carrental-custom-theme .box-darken h5{margin:14px 0 4px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--e-muted);font-weight:800}
.carrental-custom-theme .box-darken h5:first-child{margin-top:0}
.carrental-custom-theme p.point-location.highlight{background:none;padding:0;margin:0 0 6px;font-weight:800;font-size:1.05rem;border-radius:0}
.carrental-custom-theme .icon-text.highlight{display:inline-block;background:#fff;border:1px solid var(--e-line);padding:3px 10px;border-radius:8px;margin:2px 6px 2px 0;font-weight:650;font-size:.92rem}
.carrental-custom-theme .icon-text-list{font-size:.95rem;line-height:1.7}
.carrental-custom-theme .icon-text-list>*{margin:0 0 2px}

/* Boxes */
.carrental-custom-theme .box,.carrental-custom-theme .bordered-content{background:#fff;border:1px solid var(--e-line);border-radius:var(--e-r);box-shadow:0 1px 0 rgba(28,33,30,.03)}
.carrental-custom-theme .box-clean{overflow:hidden}
.carrental-custom-theme .box-title,.carrental-custom-theme .bordered-content-title{padding:14px 18px;font-weight:800;font-size:1rem;background:var(--e-soft);border-bottom:1px solid var(--e-line);color:var(--e-ink)}
.carrental-custom-theme .bordered-content{border:0;background:transparent;box-shadow:none}
.carrental-custom-theme .bordered-content-title{margin:0 0 14px;border:0;background:none;padding:0;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:850}
.carrental-custom-theme .box-inner,.carrental-custom-theme .box-white{padding:clamp(16px,2.4vw,28px)}
.carrental-custom-theme .box-inner-small{padding:16px 18px}
.carrental-custom-theme .mobile-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.carrental-custom-theme .mobile-toggle::after{content:"+";font-weight:800;font-size:1.2rem;line-height:1}
.carrental-custom-theme .mobile-toggle.active::after{content:"−"}

/* Forms */
.carrental-custom-theme .form fieldset{border:0;margin:0;padding:0;min-width:0}
.carrental-custom-theme .control-group{margin:0 0 14px}
.carrental-custom-theme .control-group>label,.carrental-custom-theme label{display:block;margin:0 0 5px;font-size:.88rem;font-weight:700;color:var(--e-ink)}
.carrental-custom-theme label.custom-block{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 10px;border:1px solid var(--e-line);border-radius:12px;background:#fff;font-weight:600;cursor:pointer}
.carrental-custom-theme label.custom-block:has(input:checked){border-color:var(--e-ink);background:var(--e-soft)}
.carrental-custom-theme .control-input,.carrental-custom-theme .form select,.carrental-custom-theme .form textarea,.carrental-custom-theme .form input[type=text],.carrental-custom-theme .form input[type=email],.carrental-custom-theme .form input[type=tel],.carrental-custom-theme .form input[type=number]{
  width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--e-field);border-radius:12px;background:#fffefa;color:var(--e-ink);font:inherit;font-size:16px;line-height:1.3;appearance:auto}
.carrental-custom-theme .form textarea{min-height:110px;resize:vertical}
.carrental-custom-theme .control-input:focus,.carrental-custom-theme .form select:focus,.carrental-custom-theme .form textarea:focus,.carrental-custom-theme .form input:focus{outline:3px solid var(--e-accent);outline-offset:1px;border-color:var(--e-focus)}
.carrental-custom-theme .form input[type=checkbox],.carrental-custom-theme .form input[type=radio]{width:20px;height:20px;min-height:0;flex:none;margin:2px 0 0;accent-color:var(--e-ink)}
.carrental-custom-theme .control-addon{display:flex;gap:8px;align-items:stretch}
.carrental-custom-theme .control-addon-item{flex:1 1 auto;min-width:0}
.carrental-custom-theme .control-field{min-width:0}
.carrental-custom-theme ::placeholder{color:#7a776c;opacity:1}
.carrental-custom-theme #carrental_book_errors,.carrental-custom-theme .errors{list-style:none;margin:10px 0 0;padding:0;color:var(--e-bad);font-weight:650}
.carrental-custom-theme .alert,.carrental-custom-theme .message{padding:12px 16px;border-radius:12px;border:1px solid var(--e-line);background:var(--e-soft);margin:0 0 16px}
.carrental-custom-theme .alert-danger,.carrental-custom-theme .alert.danger{border-color:var(--e-bad);color:var(--e-bad);background:#fff4f2}
.carrental-custom-theme .alert-success{border-color:var(--e-ok);color:var(--e-ok);background:#f0f8f2}

/* Buttons */
.carrental-custom-theme .btn,.carrental-custom-theme button.btn,.carrental-custom-theme input[type=submit],.carrental-custom-theme .form button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border:1.5px solid var(--e-ink);border-radius:999px;background:#fff;color:var(--e-ink);font:inherit;font-weight:800;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;text-transform:none;letter-spacing:0}
.carrental-custom-theme .btn:hover{background:var(--e-soft);color:var(--e-ink)}
.carrental-custom-theme .btn-primary,.carrental-custom-theme input[type=submit].btn-primary,.carrental-custom-theme .form button.btn-primary{background:var(--e-accent);border-color:var(--e-accent);color:var(--e-ink)}
.carrental-custom-theme .btn-primary:hover{background:var(--e-accent-dark);border-color:var(--e-accent-dark);color:var(--e-ink)}
.carrental-custom-theme .btn-light{background:var(--e-soft);border-color:var(--e-line)}
.carrental-custom-theme .btn-block{display:flex;width:100%}
.carrental-custom-theme .btn-large,.carrental-custom-theme .xxlarge{min-height:56px;font-size:17px}
.carrental-custom-theme .btn:focus-visible{outline:3px solid var(--e-accent);outline-offset:2px}
.carrental-custom-theme .btn[disabled],.carrental-custom-theme .btn.disabled{opacity:.55;cursor:not-allowed}

/* Charges and totals */
.carrental-custom-theme .row{display:block}
.carrental-custom-theme .row-boxed{display:flex;justify-content:space-between;gap:16px;padding:13px 16px;margin:0 0 8px;border:1px solid var(--e-line);border-radius:12px;background:#fff}
.carrental-custom-theme .row-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;margin:14px 0 0;border-radius:var(--e-r);background:var(--e-ink);color:#fff;font-size:1.1rem;font-weight:800}
.carrental-custom-theme .row-total *{color:inherit}
.carrental-custom-theme .highlight{background:var(--e-accent);color:var(--e-ink);padding:0 .35em;border-radius:6px;font-weight:800}
.carrental-custom-theme table{width:100%;border-collapse:collapse}
.carrental-custom-theme th,.carrental-custom-theme td{padding:10px 12px;border-bottom:1px solid var(--e-line);text-align:left;vertical-align:top}
.carrental-custom-theme th{background:var(--e-soft);font-weight:800}

/* Car cards inside the engine's own results/detail pages */
.carrental-custom-theme .car-item,.carrental-custom-theme .vehicle{border:1px solid var(--e-line);border-radius:var(--e-r);background:#fff;padding:16px;margin:0 0 16px}
.carrental-custom-theme img{max-width:100%;height:auto;border-radius:10px}

/* Date picker (jQuery UI, shipped by the engine) */
.ui-datepicker{z-index:9999!important;padding:10px;border:1px solid var(--e-line,#e5e1d5);border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(28,33,30,.18);font:inherit;font-size:14px}
.ui-datepicker .ui-datepicker-header{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;background:none;border:0;font-weight:800}
.ui-datepicker table{width:100%;border-collapse:separate;border-spacing:2px}
.ui-datepicker td,.ui-datepicker th{padding:0;border:0;text-align:center;background:none}
.ui-datepicker td a,.ui-datepicker td span{display:block;min-width:36px;padding:8px 0;border-radius:10px;text-decoration:none;color:#1c211e}
.ui-datepicker td a:hover{background:#f6f3e9}
.ui-datepicker td .ui-state-active,.ui-datepicker td a.ui-state-highlight{background:#f8c914;color:#1c211e;font-weight:800}
.ui-datepicker .ui-state-disabled span{opacity:.35}
.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer;padding:6px 10px;border-radius:8px}


/* Spacing and the promo/total bar */
.carrental-custom-theme .h2.additional{margin-top:30px}
.carrental-custom-theme .form .control-field{margin-bottom:12px}
.carrental-custom-theme .row-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center}
.carrental-custom-theme .row-total .btn{color:var(--e-ink)!important;background:var(--e-accent);border-color:var(--e-accent)}
.carrental-custom-theme .row-total .control-input,.carrental-custom-theme .row-total input{background:#fff;color:var(--e-ink)!important;border-color:#fff}
.carrental-custom-theme .row-total ::placeholder{color:#6b685d}
@media(max-width:768px){.carrental-custom-theme .row-total{grid-template-columns:1fr}}


.carrental-custom-theme .form fieldset::after{content:"";display:table;clear:both}
@media(max-width:640px){
  .carrental-custom-theme .control-group.columns-2:not(#x){grid-template-columns:1fr}
  .carrental-custom-theme #carrental_booking_form .control-group.columns-2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important}
  .carrental-custom-theme .control-field select,.carrental-custom-theme .form select{width:100%!important}
  .carrental-custom-theme .pull-right{float:none!important;width:100%}
  .carrental-custom-theme .pull-right .btn{width:100%}
}

/* Print (booking summary / receipt) */
@media print{
  .utility,.header,.footer,.mobile-contact,.udc-global-line-chat,ul.steps,.column-fixed{display:none!important}
  .carrental-custom-theme{padding:0;background:#fff}
  .carrental-custom-theme .columns-2.aside-on-left{display:block}
}

/* Tablet and phone */
@media(max-width:960px){
  .carrental-custom-theme .columns-2.aside-on-left{grid-template-columns:1fr}
  .carrental-custom-theme .column-fixed{position:static}
  .carrental-custom-theme ul.steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .md-hidden{display:none}
  .carrental-custom-theme .columns-2:not(.aside-on-left),.carrental-custom-theme .columns-3{grid-template-columns:1fr}
  .carrental-custom-theme .row-boxed,.carrental-custom-theme .row-total{flex-direction:column;align-items:flex-start;gap:4px}
  .carrental-custom-theme .btn{width:100%}
  .carrental-custom-theme ul.steps li a{font-size:13px;padding:6px 10px}
  /* The site's sticky contact bar already offers LINE; avoid a second floating bubble on phones. */
  .udc-global-line-chat{display:none!important}
}
@media(prefers-reduced-motion:reduce){.carrental-custom-theme *{transition:none!important;animation:none!important}}

/* --- Sitewide accessibility fixes (audit B: contrast, field borders, small type) --- */
.header nav .mobile-menu-actions>.button{color:#1c211e}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{border-color:#8a8574}
.eyebrow{font-size:11px}
.eyebrow{font-size:11px!important}
.footer-address{margin:10px 0 0;font-size:13px;line-height:1.5;opacity:.85}

/* === Phase B (booking journey), 18 Oct 2026: CSS only, no engine markup or logic changed === */
/* Extras the engine marks as unavailable (disabled) are not shown as choices */
.carrental-custom-theme label.custom-block:has(input:disabled){display:none}
.carrental-custom-theme label.custom-block{align-items:center}
.carrental-custom-theme label.custom-block .pull-right{float:none!important;width:auto!important;margin-left:auto;padding-left:10px;white-space:nowrap;font-weight:800}
@media(max-width:768px){
  /* Steps: one compact row, the current step shows its name */
  .carrental-custom-theme ul.steps{display:flex;gap:6px;margin-bottom:18px}
  .carrental-custom-theme ul.steps li{flex:0 0 48px!important;width:48px!important;max-width:48px!important;min-width:0!important;padding:0!important;height:auto!important}
  .carrental-custom-theme ul.steps li.active{flex:1 1 0!important;width:auto!important;max-width:none!important}
  .carrental-custom-theme ul.steps li a{width:100%;font-size:0;gap:0;min-height:48px;padding:6px;justify-content:center}
  .carrental-custom-theme ul.steps li.active a{font-size:13px;gap:8px;justify-content:flex-start;padding:6px 14px 6px 10px;white-space:nowrap;overflow:hidden}
  .carrental-custom-theme ul.steps .steps-number{font-size:14px}
  /* The sticky contact bar already offers call, LINE and WhatsApp */
  .carrental-custom-theme .box-inner-small:has(.box-contact){display:none}
  /* Car and trip card: photo on top, price first, one column */
  .carrental-custom-theme .box-white>.columns-2:has(.list-item-media),.carrental-custom-theme .box-white>.columns-2:has(.list-item-media img){grid-template-columns:1fr!important}
  .carrental-custom-theme .list-item-media img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 60%;margin-bottom:12px}
  .carrental-custom-theme .list-item-media p:last-child{font-size:1.3rem}
  .carrental-custom-theme .box-darken>.columns-2{grid-template-columns:1fr!important}
  .carrental-custom-theme .box-darken>.columns-2>.column:last-child{display:flex;flex-direction:column}
  .carrental-custom-theme .box-darken>.columns-2>.column:last-child>p:last-child{order:-1;display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid var(--e-line)}
  .carrental-custom-theme .box-darken>.columns-2>.column:last-child>p:last-child br{display:none}
  .carrental-custom-theme .additional.xxlarge{font-size:1.5rem;font-weight:850}
  /* Charges: label left, amount right */
  .carrental-custom-theme .row-boxed,.carrental-custom-theme .row-total{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
  .carrental-custom-theme .row-boxed .pull-right,.carrental-custom-theme .row-total .pull-right{width:auto!important;white-space:nowrap}
}
/* Visible field labels (added by site.js) */
.carrental-custom-theme .udcr-field-label{display:block;margin:0 0 4px;font-size:.85rem;font-weight:700;color:var(--e-ink)}
@media(max-width:640px){
  /* first and last name stay side by side; everything else is one column */
  .carrental-custom-theme #carrental_confirm_reservation .control-group.columns-2:has(input[name=first_name]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .carrental-custom-theme #carrental_confirm_reservation .control-group{margin-bottom:10px}
}
/* Totals: label left, amount right; the amount is the largest thing in the block */
.carrental-custom-theme .row-total>p{margin:0;width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px}
.carrental-custom-theme .row-total>p br{display:none}
.carrental-custom-theme .row-total>p strong{font-size:1rem;font-weight:700;line-height:1.3}
.carrental-custom-theme .row-total .carrental_total_amount{font-size:1.6rem;font-weight:850;white-space:nowrap}
/* Placeholders repeat the label above the field */
.carrental-custom-theme .udcr-field-label+.control-input::placeholder{color:transparent}
/* Sticky bar: price under the action */
.mobile-contact .button{flex-direction:column;gap:1px}
.mobile-contact .mc-main{font-weight:800}
.mobile-contact .mc-sub{font-size:11px;font-weight:600;line-height:1.1;opacity:.85}
.carrental-custom-theme .row-total>p strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:520px){
  .carrental-custom-theme .row-total>p{flex-direction:column;align-items:flex-start;gap:2px}
}
/* Error summary stays in view while the browser jumps to the first invalid field */
.carrental-custom-theme .udc-booking-error-summary:not(:empty){position:sticky;top:8px;z-index:25;margin:0 0 14px;padding:12px 14px;border:2px solid var(--e-bad);border-radius:12px;background:#fff4f2;color:var(--e-bad);font-weight:650;font-size:.95rem;box-shadow:0 6px 18px rgba(28,33,30,.14)}
/* Legacy promo banner of the engine's own pages (English slogan and unverified claims): the site header already says who we are */
.carrental-custom-theme .intro,.carrental-custom-theme .intro+hr{display:none}
.carrental-custom-theme section.content>.container>form>fieldset>h1{font-size:clamp(1.5rem,5vw,2rem);font-weight:850;margin:0 0 18px}
.carrental-custom-theme .udc-mb-lost{margin:18px 0 0}

/* Owner requests 18 Oct 2026 */
/* The renter-age line is only shown when it matters (surcharge or too young); "age requirement met" is hidden */
.carrental-custom-theme .udc-renter-age-message.is-ok{display:none!important}
/* Payment method: full width under the consent boxes (it used to float to the right and stick out of the card) */
.carrental-custom-theme .pull-right:has(#carrental_payment_options_select){float:none!important;width:100%!important;margin:14px 0 0!important;padding:0!important}
.carrental-custom-theme #carrental_payment_options_select{width:100%!important;max-width:none!important;min-height:48px}
.carrental-custom-theme .udcr-pay-note{margin:8px 2px 0;font-size:.85rem;line-height:1.45;color:var(--e-muted,#59615c)}
/* Phone box */
.carrental-custom-theme .box-contact .udcr-phone{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}
.carrental-custom-theme .box-contact .udcr-phone svg{flex:0 0 auto;color:var(--e-accent,#b45309)}
.carrental-custom-theme .box-contact .udcr-phone:hover span,.carrental-custom-theme .box-contact .udcr-phone:focus span{text-decoration:underline}
.carrental-custom-theme .box-contact .h2:has(.udcr-phone){display:flex;justify-content:center}
