/* V278. Important declarations in this layer override legacy unlayered UI rules. */
@layer av278 {
body:has(.hero.av93-home)>header.top{position:relative!important;inset:auto!important;transform:none!important;background:#fff!important;z-index:110!important;margin:0!important}
.hero.av93-home{isolation:isolate!important}
.hero .search{--av278-range-height:28px}
.hero.av93-home .search .av104-range{display:flex!important;flex-direction:column!important;gap:0!important;padding:0 0 4px!important;min-height:0!important;align-self:center!important}
.hero .search .av104-range>small{margin:0!important;line-height:18px!important;text-align:center!important}
.hero .search .av104-range-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:0 15px!important;position:relative!important;min-width:0!important;width:100%!important}
.hero .search .av104-range-button>span:first-child{flex:0 1 auto!important;width:auto!important;text-align:center!important;white-space:nowrap!important}
.hero .search .av104-days{flex:0 0 auto!important;width:auto!important;margin:0!important;padding:0!important;line-height:1.2!important}
.hero .search .av104-chevron{position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%)!important;flex:none!important;width:12px!important}
.hero .search .av100-search-scroll{max-width:100%!important;min-width:0!important}
.hero .search .home-filter-wrap{min-width:0!important}
.hero .search #homeFilterBtn,.hero .search #homeGoBtn{min-width:0!important;width:100%!important;box-sizing:border-box!important;font-size:13px!important;gap:4px!important;margin:0!important}
.hero .search #homeFilterBtn>span{font-size:13px!important}
@media(min-width:651px) and (max-width:1100px){
 .hero.av93-home .search{height:35.2px!important;padding:2px 10px!important;--av278-range-height:18.2px}
 .hero.av93-home .search .av100-search-row{height:29.2px!important;grid-template-rows:29.2px!important;gap:0 8px!important}
 .hero.av93-home .search .av100-search-row>:is(.av104-pickup,.av104-drop,.av104-range,.av170-age){height:29.2px!important;min-height:0!important;padding:0!important;gap:0!important}
 .hero.av93-home .search .av100-search-row :is(small,.av170-age>span){font-size:10px!important;line-height:11px!important}
 .hero.av93-home .search .av170-age>select{height:18.2px!important;min-height:0!important;padding:0!important;line-height:18px!important;font-size:12px!important}
 .hero.av93-home .search .av104-range-button>span:first-child{font-size:12px!important}
}
@media(min-width:1101px) and (max-width:1200px){
 .hero.av93-home .search{height:51.2px!important;padding:3px 10px!important;--av278-range-height:25.2px}
 .hero.av93-home .search .av100-search-row{height:43.2px!important;grid-template-rows:43.2px!important}
 .hero.av93-home .search .av100-search-row>:is(.av104-pickup,.av104-drop,.av104-range,.av170-age){height:43.2px!important;padding:0!important}
}
@media(min-width:601px) and (max-width:650px){
 .hero.av93-home .search{height:107.2px!important;padding:4px 12px!important;--av278-range-height:18px}
 .hero.av93-home .search .av100-search-row{height:97.2px!important;grid-template-rows:32px 32px 26px!important;row-gap:3.6px!important}
 .hero.av93-home .search .av100-search-row>:is(.av104-pickup,.av104-drop,.av104-range){height:32px!important;min-height:0!important;padding:0!important}
 .hero.av93-home .search .av100-search-row small{line-height:14px!important}
 .hero.av93-home .search .av170-age{min-height:0!important}
}
@media(max-width:600px){
 .hero .search{--av278-range-height:22px}
 .hero.av93-home .search .av104-range{padding-bottom:3px!important}
}
/* 174.5px -> 130.875px: exactly 25% shorter at all catalogue widths. */
.av136-form.av244-controls{--av278-range-height:28px;--av278-bar-height:42px;box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:52px 42px!important;height:130.875px!important;min-height:0!important;gap:14.875px!important;padding:10px!important}
.av136-form .av136-dates{height:52px!important;min-height:0!important;grid-template-rows:18px 28px!important;row-gap:2px!important;border:0!important;padding:0!important;margin:0!important}
.av136-form .av136-dates>.av170-age{height:52px!important;min-height:0!important;gap:0!important;padding:0!important}
.av136-form .av170-age>span{height:18px!important;font-size:11px!important;line-height:18px!important}
.av136-form .av170-age>select{height:30px!important;min-height:30px!important;max-height:30px!important;flex:0 0 30px!important}
.av136-form .av136-bar{height:42px!important;min-height:0!important;padding:0!important;margin:0!important;gap:5px!important}
.av136-form .av136-bar>details,.av136-form .av136-bar>details>summary{height:42px!important;min-height:42px!important;max-height:42px!important}
.av136-form .av136-bar>details>summary.av243-summary{grid-template-rows:12px 20px!important;gap:0!important;padding:4px 18px 4px 8px!important}
.av136-form .av243-caption{height:12px!important;line-height:12px!important;font-size:10px!important}
.av136-form .av243-value{height:20px!important;line-height:20px!important;font-size:12px!important}
.av136-form .av136-bar>details>summary:after{top:12px!important}
.av136-form .av136-validation:empty{display:none!important}
.av136-form .av76-view-switch{height:42px!important;min-height:0!important}
/***** Shared vehicle fields: leave grid tracks stable and resize each control's column. *****/
form.av159-form .av159-r1 [data-av159-field]{align-self:end!important;min-width:0!important;gap:4px!important}
form.av159-form [data-av159-field=brand]{width:90%!important}
form.av159-form [data-av159-field=year]{width:85%!important}
form.av159-form :is([data-av159-field=transmission],[data-av159-field=fuel]){width:80%!important}
form.av159-form [data-av159-field=fuel_consumption]{width:110%!important;max-width:110%!important}
form.av159-form .av159-r1 .av159-label{height:32px!important;min-height:32px!important;line-height:16px!important;flex:none!important;align-items:flex-end!important}
form.av159-form .av159-r1 :is(input:not([type=hidden]),select,.av100-select-button,.av170-dropdown>summary){height:32px!important;min-height:32px!important;max-height:32px!important;box-sizing:border-box!important;font-size:14px!important;line-height:22px!important;padding:4px 8px!important;margin:0!important}
form.av159-form .av159-r1 .av170-dropdown>summary{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
form.av159-form .av159-r1 .av170-dropdown{min-height:0!important}
@media(max-width:700px){form.av159-form [data-av159-field=seats]{margin-left:12px!important;width:calc(100% - 12px)!important}}
/* Halve vertical spacing without halving text line-height. */
#login{z-index:3000!important;padding:16px!important;align-items:center!important}
#login .auth-switch{margin-bottom:14px!important;gap:3px!important}
#login .auth-heading h2{margin-bottom:4px!important}
#login .auth-heading p{margin-bottom:12px!important}
#login .auth-field{margin-top:0!important;margin-bottom:7px!important;padding:0!important}
#login .auth-field>span{margin-bottom:3.5px!important}
#login .auth-grid{gap:6px!important}
#login .password-hint{margin-top:3px!important}
#login .auth-consent{margin-top:9px!important;margin-bottom:9px!important}
#login .auth-bottom{margin-top:9px!important;padding-top:9px!important}
#login .auth-panel{padding:19px 21px 15px!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important}
#login .auth-shell{max-height:calc(100dvh - 32px)!important}
#login .auth-promo{min-height:0!important;padding:22px 19px!important}
#login .auth-promo h2{margin:60px 0 8px!important;font-size:26px!important;letter-spacing:-.5px!important}
#login .auth-promo-stats{gap:6px!important;grid-template-columns:1fr 1fr!important}
@media(min-width:981px){#login>.auth-shell{width:min(601.6px,76.8vw)!important}}
@media(min-width:601px) and (max-width:980px){#login>.auth-shell{width:min(480px,76.8vw)!important}}
@media(max-width:650px){
 header.top{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;gap:4px!important;padding:4px 8px!important}
 header.top>.site-brand{grid-area:1/1!important;width:100%!important;max-width:125px!important;min-width:0!important}
 header.top>.av278-earn{grid-area:1/2!important;text-align:center!important;line-height:1.2!important;font-size:11px!important;width:100%!important;min-width:0!important;white-space:normal!important;padding:3px!important;box-sizing:border-box!important}
 header.top>.right{grid-area:1/3!important;justify-self:end!important;margin:0!important;gap:4px!important}
 header.top>nav,header.top>.av160-earn{display:none!important}
 .client-layout,#ownerPage{min-width:0!important;max-width:100%!important}
 #ownerPage>.av79-owner-nav,.client-layout>.client-side{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px!important;align-items:center!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;position:static!important;padding:8px!important;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 #ownerPage>.av79-owner-nav>:is(a,button),.client-layout>.client-side>:is(a,button){flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;min-height:36px!important;white-space:nowrap!important;padding:6px 12px!important;margin:0!important;scroll-snap-align:start;border-radius:8px!important}
}
/* Keep the card in #carPage for the existing quote and date-picker integrations. */
html.av278-booking-open,html.av278-booking-open body{overflow:hidden!important}
html.av278-booking-open #carPage{contain:none!important;content-visibility:visible!important;transform:none!important;filter:none!important;perspective:none!important;will-change:auto!important}
#av278-booking{position:fixed!important;inset:0!important;z-index:2250!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#13223299!important;padding:24px!important;box-sizing:border-box!important}
#av278-booking[hidden]{display:none!important}
#av278-booking .av278-window{width:70vw!important;max-width:none!important;height:90dvh!important;max-height:90dvh!important;background:var(--card,#fff)!important;color:var(--text,#172b4d)!important;border-radius:18px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-shadow:0 20px 80px #0005!important}
#av278-booking .av278-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:12px 18px!important;border-bottom:1px solid #dce5ed!important;gap:10px!important}
#av278-booking .av278-head h2{margin:0!important;font-size:20px!important;line-height:1.3!important}
#av278-booking .av278-close{width:36px!important;height:36px!important;min-height:36px!important;min-width:36px!important;padding:0!important;margin:0!important;font-size:24px!important}
#av278-booking .av278-content{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,42%)!important;gap:20px!important;padding:20px!important;overflow:auto!important;min-height:0!important;align-items:start!important;overscroll-behavior:contain!important}
#av278-booking .av278-info{min-width:0!important}
#av278-booking .av278-info img{width:100%;max-height:300px;object-fit:cover;border-radius:12px}
#av278-booking .av278-info h3{font-size:24px;line-height:1.2;margin:0 0 14px}
#av278-booking .booking{grid-column:2!important;grid-row:1!important;position:sticky!important;top:0!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:16px!important;box-sizing:border-box!important;max-height:calc(90dvh - 112px)!important;overflow:auto!important;border:1px solid #d9e3ed!important;border-radius:12px!important;align-self:start!important}
#av278-booking #bookBtn{display:flex!important;position:static!important;inset:auto!important;transform:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;width:100%!important;min-width:0!important;justify-content:center!important;margin:12px 0!important}
#av278-booking .booking :is(.dates,#calc,#av49-renter){min-width:0!important;max-width:100%!important}
#av278-booking .booking .line{overflow-wrap:anywhere!important}
@media(max-width:1200px){
 #av278-booking{padding:0!important}
 #av278-booking .av278-window{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 #av278-booking .booking{max-height:calc(100dvh - 106px)!important}
}
@media(max-width:600px){
 #av278-booking .av278-content{display:flex!important;flex-direction:column!important;padding:12px!important;gap:16px!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
 #av278-booking .booking{order:-1!important;position:static!important;max-height:none!important;overflow:visible!important;flex-shrink:0!important}
 #av278-booking .av278-info{width:100%!important}
}
}
@layer av278 {
 #login .auth-field>:is(input,select,.av274-password){margin-top:0!important;margin-bottom:0!important}
 #login .auth-promo h2{font-size:23px!important;overflow-wrap:anywhere!important}
 #login .auth-grid{grid-template-columns:1fr!important}
 @media(max-width:650px){
  #ownerPage>.av79-owner-nav,.client-layout>.client-side{inset:auto!important;transform:none!important;height:auto!important;max-height:none!important;grid-column:1!important;grid-row:1!important}
  #ownerPage>.av79-owner-nav>.profile{flex:0 0 150px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;max-height:56px!important;padding:0!important;margin:0!important;font-size:12px!important}
  #ownerPage>.av79-owner-nav>.profile>.circle{width:28px!important;height:28px!important;flex:0 0 28px!important}
  .av118-toggle,.av118-shade,.av118-close{display:none!important}
 }
}
@layer av278 {
 #login .auth-field{margin-top:4px!important;margin-bottom:4px!important}
 #login .auth-panel{padding-top:12px!important;padding-bottom:12px!important}
 @media(min-width:601px){#login>.auth-shell{width:min(601.6px,72vw)!important}}
 @media(max-width:650px){
  #ownerPage>.av79-owner-nav,.client-layout>.client-side{height:56px!important;min-height:0!important;max-height:56px!important;padding:8px!important}
  .client-side>.av88-client-profile{flex:0 0 auto!important;min-width:0!important;max-height:40px!important;margin:0!important;padding:0!important;line-height:14px!important;font-size:11px!important}
  .client-side>.av88-client-profile:empty{display:none!important}
 }
}
