/* A7 Rent - mobile 4-step detail/order wizard */
.a7-mdw{display:none}

@media(max-width:760px){
  html:has(#a7-mobile-detail-wizard),
  body:has(#a7-mobile-detail-wizard){
    background:#f7f8fa!important;
    overflow-x:hidden!important;
  }
  body:has(#a7-mobile-detail-wizard) .a7-site-header,
  body:has(#a7-mobile-detail-wizard) .page-head,
  body:has(#a7-mobile-detail-wizard) #card-head,
  body:has(#a7-mobile-detail-wizard) #sSimilarProducts,
  body:has(#a7-mobile-detail-wizard) #s-content{
    display:none!important;
  }
  body:has(#a7-mobile-detail-wizard) .main-wrapper,
  body:has(#a7-mobile-detail-wizard) main{
    padding-top:0!important;
    margin-top:0!important;
  }

  .a7-mdw{
    display:block;
    width:100%;
    min-height:100dvh;
    color:#11151c;
    font-family:inherit;
    background:#f7f8fa;
  }
  .a7-mdw *{box-sizing:border-box}
  .a7-mdw button,.a7-mdw input,.a7-mdw select{font:inherit}
  .a7-mdw__step{
    display:none;
    min-height:100dvh;
    padding-bottom:112px;
    background:#f7f8fa;
  }
  .a7-mdw__step.is-active{display:block}

  .a7-mdw__gallery-wrap{
    position:relative;
    height:min(55dvh,520px);
    min-height:330px;
    overflow:hidden;
    background:#e9edf1;
  }
  .a7-mdw__gallery{
    display:flex;
    width:100%;
    height:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .a7-mdw__gallery::-webkit-scrollbar{display:none}
  .a7-mdw__gallery-slide{
    flex:0 0 100%;
    width:100%;
    height:100%;
    scroll-snap-align:start;
  }
  .a7-mdw__gallery-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .a7-mdw__back{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#111;
    box-shadow:0 5px 20px rgba(20,28,40,.12);
    font-size:27px;
    line-height:1;
    cursor:pointer;
  }
  .a7-mdw__back--photo{
    position:absolute;
    z-index:5;
    top:max(18px,env(safe-area-inset-top));
    left:20px;
  }

  .a7-mdw__progress{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    min-width:150px;
  }
  .a7-mdw__progress strong{
    margin-right:6px;
    font-size:16px;
    font-weight:600;
  }
  .a7-mdw__progress span{
    display:block;
    width:38px;
    height:6px;
    border-radius:99px;
    background:#d9dde3;
  }
  .a7-mdw__progress span.is-on{background:#ffd400}
  .a7-mdw__progress--photo{
    position:absolute;
    z-index:5;
    top:max(30px,calc(env(safe-area-inset-top) + 12px));
    right:20px;
    color:#fff;
    text-shadow:0 1px 8px rgba(0,0,0,.45);
  }
  .a7-mdw__progress--photo span{background:rgba(255,255,255,.55)}

  .a7-mdw__photo-count{
    position:absolute;
    z-index:5;
    right:18px;
    bottom:24px;
    padding:10px 14px;
    border-radius:22px;
    background:rgba(18,22,29,.72);
    color:#fff;
    font-size:14px;
    font-weight:600;
    backdrop-filter:blur(7px);
  }

  .a7-mdw__sheet{
    position:relative;
    z-index:2;
    margin-top:-24px;
    padding:26px 20px 24px;
    border-radius:28px 28px 0 0;
    background:#fff;
  }
  .a7-mdw__car-title{
    margin:0 0 14px;
    color:#101318;
    font-size:30px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.5px;
    text-transform:uppercase;
  }
  .a7-mdw__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px;
  }
  .a7-mdw__chips span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:7px 11px;
    border-radius:18px;
    background:#f3f4f6;
    color:#252b34;
    font-size:13px;
    font-weight:500;
  }

  .a7-mdw__rental-card{
    padding:16px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 30px rgba(24,32,44,.08);
    border:1px solid #eef0f3;
  }
  .a7-mdw__field-group{margin-bottom:18px}
  .a7-mdw__field-group:last-child{margin-bottom:0}
  .a7-mdw__group-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 8px;
    font-size:15px;
    font-weight:700;
  }
  .a7-mdw__date-time-row{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(110px,.9fr);
    gap:8px;
  }
  .a7-mdw__field,
  .a7-mdw__select-wrap{
    min-width:0;
    min-height:68px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid #d5dbe3;
    border-radius:12px;
    background:#fff;
    color:#11151c;
    text-align:left;
  }
  .a7-mdw__field{
    width:100%;
    cursor:pointer;
  }
  .a7-mdw__field-icon{
    flex:0 0 auto;
    font-size:21px;
  }
  .a7-mdw__field > span:not(.a7-mdw__field-icon){
    display:flex;
    flex:1 1 auto;
    min-width:0;
    flex-direction:column;
  }
  .a7-mdw__field strong{
    font-size:18px;
    line-height:1.15;
    font-weight:700;
    white-space:nowrap;
  }
  .a7-mdw__field small{
    margin-top:3px;
    color:#7a8391;
    font-size:12px;
    line-height:1.1;
  }
  .a7-mdw__field b,
  .a7-mdw__select-wrap b{
    margin-left:auto;
    color:#526071;
    font-size:16px;
  }

  .a7-mdw__time-strip{
    display:flex;
    gap:8px;
    margin-top:8px;
    padding:8px 2px 4px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .a7-mdw__time-strip::-webkit-scrollbar{display:none}
  .a7-mdw__time-strip[hidden]{display:none!important}
  .a7-mdw__time-choice{
    flex:0 0 calc((100% - 32px)/5);
    min-width:58px;
    padding:10px 4px;
    border:1px solid #dce1e7;
    border-radius:10px;
    background:#fff;
    color:#242b35;
    text-align:center;
    scroll-snap-align:center;
  }
  .a7-mdw__time-choice.is-selected{
    border-color:#078bf8;
    background:#078bf8;
    color:#fff;
    font-weight:700;
  }

  .a7-mdw__tip{
    margin:-2px 0 18px;
    padding:10px 12px;
    border-radius:12px;
    background:#f5f6f8;
    color:#596577;
    font-size:12px;
    line-height:1.35;
  }
  .a7-mdw__select-wrap{
    position:relative;
    width:100%;
    min-height:62px;
  }
  .a7-mdw__select-wrap select{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0 42px 0 47px;
    border:0;
    outline:0;
    appearance:none;
    background:transparent;
    color:#11151c;
    font-size:16px;
    font-weight:700;
  }
  .a7-mdw__select-wrap .a7-mdw__field-icon,
  .a7-mdw__select-wrap b{
    position:relative;
    z-index:1;
    pointer-events:none;
  }

  .a7-mdw__rent-summary{
    margin-top:14px;
    padding:14px 15px;
    border-radius:14px;
    background:#f6f7f9;
  }
  .a7-mdw__rent-summary > strong{
    display:block;
    margin-bottom:9px;
    font-size:18px;
    line-height:1.2;
  }
  .a7-mdw__rent-summary div{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:6px;
    color:#4e5968;
    font-size:13px;
    line-height:1.3;
  }
  .a7-mdw__rent-summary div b{color:#1f252d}

  .a7-mdw__topbar{
    position:sticky;
    top:0;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:78px;
    padding:max(14px,env(safe-area-inset-top)) 20px 12px;
    background:rgba(247,248,250,.96);
    backdrop-filter:blur(14px);
  }
  .a7-mdw__page{
    padding:14px 20px 30px;
  }
  .a7-mdw__page h2{
    margin:0 0 6px;
    color:#0f1319;
    font-size:34px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.7px;
  }
  .a7-mdw__subtitle{
    margin:0 0 22px;
    color:#747d8a;
    font-size:18px;
    line-height:1.3;
  }

  .a7-mdw__protection-list{
    display:grid;
    gap:12px;
  }
  .a7-mdw__protection{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:18px 16px;
    border:1.5px solid #e1e5ea;
    border-radius:20px;
    background:#fff;
    box-shadow:0 5px 18px rgba(22,30,42,.04);
    cursor:pointer;
  }
  .a7-mdw__protection.is-selected{
    border-color:#e7b900;
    background:linear-gradient(135deg,#fffef2,#fff);
  }
  .a7-mdw__protection.is-disabled{
    opacity:.56;
    cursor:not-allowed;
  }
  .a7-mdw__protection input{
    position:absolute;
    opacity:0;
    pointer-events:none;
  }
  .a7-mdw__radio{
    width:28px;
    height:28px;
    margin-top:1px;
    border:2px solid #818b98;
    border-radius:50%;
    background:#fff;
  }
  .a7-mdw__protection.is-selected .a7-mdw__radio{
    border:8px solid #ffd500;
    background:#111;
  }
  .a7-mdw__protection-body h3{
    margin:0 0 8px;
    font-size:24px;
    line-height:1.1;
    font-weight:800;
  }
  .a7-mdw__protection-body p{
    margin:12px 0 14px;
    color:#667181;
    font-size:16px;
    line-height:1.35;
  }
  .a7-mdw__protection-body > strong{
    display:block;
    padding-top:14px;
    border-top:1px solid #e7e9ed;
    font-size:24px;
    line-height:1.1;
    font-weight:800;
  }
  .a7-mdw__badge{
    display:inline-flex;
    padding:5px 9px;
    border-radius:9px;
    background:#f0f1f3;
    color:#596270;
    font-size:13px;
    line-height:1;
  }
  .a7-mdw__badge--green{
    background:#e7f7e4;
    color:#0a8d2b;
  }

  .a7-mdw__order-head{
    padding:14px 0 18px;
    border-bottom:1px solid #e2e5e9;
  }
  .a7-mdw__order-head strong{
    display:block;
    font-size:23px;
    line-height:1.15;
    font-weight:800;
    text-transform:uppercase;
  }
  .a7-mdw__order-head span{
    display:block;
    margin-top:6px;
    color:#727b88;
    font-size:15px;
  }
  .a7-mdw__receipt{
    background:#fff;
  }
  .a7-mdw__receipt-row,
  .a7-mdw__deposit-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    min-height:78px;
    padding:14px 2px;
    border-bottom:1px solid #e2e5e9;
  }
  .a7-mdw__receipt-row > div,
  .a7-mdw__deposit-row > div{
    min-width:0;
  }
  .a7-mdw__receipt-row strong,
  .a7-mdw__deposit-row strong{
    display:block;
    font-size:18px;
    line-height:1.2;
    font-weight:700;
  }
  .a7-mdw__receipt-row small,
  .a7-mdw__deposit-row small{
    display:block;
    margin-top:4px;
    color:#747e8b;
    font-size:14px;
    line-height:1.25;
  }
  .a7-mdw__receipt-row > b,
  .a7-mdw__deposit-row > b{
    font-size:20px;
    white-space:nowrap;
  }
  .a7-mdw__receipt-action{
    border:0;
    background:transparent;
    color:#15191f;
    text-decoration:underline;
    font-size:17px;
    font-weight:600;
  }
  .a7-mdw__receipt-row--discount b{color:#0b9a36}
  .a7-mdw__receipt-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:22px 0;
    border-bottom:1px solid #e2e5e9;
  }
  .a7-mdw__receipt-total strong,
  .a7-mdw__receipt-total b{
    font-size:30px;
    line-height:1;
    font-weight:800;
  }
  .a7-mdw__promo{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin:16px 0 5px;
  }
  .a7-mdw__promo input{
    min-width:0;
    height:54px;
    padding:0 14px;
    border:1px solid #d7dce3;
    border-radius:12px;
    outline:0;
    background:#fff;
    font-size:16px;
  }
  .a7-mdw__promo button{
    height:54px;
    padding:0 18px;
    border:0;
    border-radius:12px;
    background:#ffd500;
    color:#111;
    font-weight:700;
  }
  .a7-mdw__promo-error{
    min-height:20px;
    color:#d84343;
    font-size:13px;
  }
  .a7-mdw__deposit-row{
    margin-top:0;
    padding-left:0;
    padding-right:0;
  }

  .a7-mdw__confirm-car{
    overflow:hidden;
    margin:12px 0 22px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 6px 24px rgba(22,30,42,.07);
  }
  .a7-mdw__confirm-car img{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
  }
  .a7-mdw__confirm-car > div{
    padding:16px;
  }
  .a7-mdw__confirm-car strong{
    display:block;
    font-size:23px;
    font-weight:800;
    text-transform:uppercase;
  }
  .a7-mdw__confirm-car span{
    display:block;
    margin-top:8px;
    color:#404a59;
    font-size:15px;
  }
  .a7-mdw__customer{
    padding:18px 16px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 6px 24px rgba(22,30,42,.06);
  }
  .a7-mdw__customer label{
    display:block;
    margin-bottom:18px;
  }
  .a7-mdw__customer label > span{
    display:block;
    margin-bottom:7px;
    font-size:17px;
    font-weight:700;
  }
  .a7-mdw__customer input,
  .a7-mdw__customer select{
    width:100%;
    height:58px;
    padding:0 14px;
    border:1px solid #d3dae3;
    border-radius:12px;
    outline:0;
    background:#fff;
    color:#11151c;
    font-size:18px;
    font-weight:600;
  }
  .a7-mdw__form-error{
    min-height:18px;
    color:#d33e3e;
    font-size:13px;
  }
  .a7-mdw__privacy{
    margin:8px 0 0;
    color:#78818e;
    font-size:12px;
    line-height:1.4;
  }

  .a7-mdw__bottom{
    position:fixed;
    z-index:40;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(148px,44%);
    gap:12px;
    align-items:center;
    padding:12px 16px max(12px,env(safe-area-inset-bottom));
    border-radius:24px 24px 0 0;
    background:rgba(255,255,255,.97);
    box-shadow:0 -8px 30px rgba(18,25,36,.10);
    backdrop-filter:blur(14px);
  }
  .a7-mdw__bottom-total{
    min-width:0;
  }
  .a7-mdw__bottom-total strong{
    display:block;
    font-size:29px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
  }
  .a7-mdw__bottom-total span{
    display:inline-block;
    max-width:100%;
    margin-top:6px;
    padding:4px 8px;
    border-radius:9px;
    background:#e5f7dd;
    color:#14812f;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
  }
  .a7-mdw__next{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:0 17px;
    border:0;
    border-radius:16px;
    background:#ffd500;
    color:#111;
    font-size:21px;
    font-weight:800;
    cursor:pointer;
  }
  .a7-mdw__next:disabled{opacity:.6;cursor:wait}
  .a7-mdw__next span{font-size:27px;font-weight:400}

  .a7-mdw__seat-modal,
  .a7-mdw__success,
  .a7-mdw-cal{
    position:fixed;
    z-index:2147483001;
    inset:0;
  }
  .a7-mdw__seat-modal,
  .a7-mdw__success{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:18px;
    background:rgba(0,0,0,.58);
  }
  .a7-mdw__seat-modal[hidden],
  .a7-mdw__success[hidden]{display:none!important}
  .a7-mdw__seat-sheet{
    position:relative;
    width:100%;
    max-width:540px;
    padding:22px;
    border-radius:22px;
    background:#fff;
  }
  .a7-mdw__seat-sheet h3{margin:0 0 5px;font-size:24px}
  .a7-mdw__seat-sheet p{margin:0 0 16px;color:#707987}
  .a7-mdw__seat-close{
    position:absolute;
    right:14px;
    top:10px;
    width:36px;
    height:36px;
    border:0;
    background:transparent;
    font-size:29px;
  }
  .a7-mdw__seat-options{
    display:grid;
    gap:9px;
  }
  .a7-mdw__seat-options button{
    min-height:52px;
    border:1px solid #d8dde4;
    border-radius:12px;
    background:#fff;
    font-weight:700;
  }
  .a7-mdw__seat-options button:hover{border-color:#ffd500}

  .a7-mdw__success{
    align-items:center;
  }
  .a7-mdw__success-card{
    width:100%;
    max-width:430px;
    padding:28px 22px 22px;
    border-radius:22px;
    background:#fff;
    text-align:center;
    box-shadow:0 25px 80px rgba(0,0,0,.25);
  }
  .a7-mdw__success-card h2{
    margin:0 0 8px;
    font-size:28px;
  }
  .a7-mdw__success-card p{
    margin:0 0 22px;
    color:#687281;
    line-height:1.4;
  }
  .a7-mdw__success-card button{
    width:100%;
    min-height:56px;
    border:0;
    border-radius:14px;
    background:#ffd500;
    color:#111;
    font-size:18px;
    font-weight:800;
  }

  /* full-screen two-month calendar used by the mobile order wizard */
  .a7-mdw-cal{
    overflow-y:auto;
    padding:max(12px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
    background:#fff;
    color:#111827;
  }
  .a7-mdw-cal[hidden]{display:none!important}
  .a7-mdw-cal__head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    min-height:52px;
    padding:4px 0 10px;
    background:#fff;
  }
  .a7-mdw-cal__close{
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#f1f3f5;
    font-size:27px;
  }
  .a7-mdw-cal__title{
    flex:1;
    padding-right:42px;
    text-align:center;
    font-size:19px;
    font-weight:800;
  }
  .a7-mdw-cal__month{
    margin:0 0 15px;
  }
  .a7-mdw-cal__month h3{
    margin:7px 0 9px;
    text-align:center;
    font-size:20px;
    text-transform:capitalize;
  }
  .a7-mdw-cal__weekdays,
  .a7-mdw-cal__grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:2px;
  }
  .a7-mdw-cal__weekdays{
    margin-bottom:4px;
    color:#717b89;
    font-size:12px;
    text-align:center;
  }
  .a7-mdw-cal__weekdays span{line-height:26px}
  .a7-mdw-cal__day{
    height:clamp(36px,5dvh,42px);
    padding:0;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#111827;
    font-size:15px;
    font-weight:600;
  }
  .a7-mdw-cal__day.is-disabled{
    color:#c5cbd3;
  }
  .a7-mdw-cal__day.is-range{
    border-radius:0;
    background:#eef4fb;
  }
  .a7-mdw-cal__day.is-start,
  .a7-mdw-cal__day.is-end{
    background:#078bf8;
    color:#fff;
    font-weight:800;
  }
}

@media(min-width:761px){
  #a7-mobile-detail-wizard{display:none!important}
}

@media(max-width:760px){
  .a7-mdw-cal__navs{
    position:absolute;
    right:0;
    top:6px;
    display:flex;
    gap:6px;
  }
  .a7-mdw-cal__navs button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    padding:0;
    border:0;
    border-radius:10px;
    background:#f1f3f5;
    color:#111827;
    font-size:23px;
    line-height:1;
  }
  .a7-mdw-cal__title{
    padding-left:44px;
    padding-right:88px;
  }
}
@media(max-width:760px){
  .a7-mdw__receipt-seat-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
  }
  .a7-mdw__receipt-seat-right b{
    font-size:20px;
    white-space:nowrap;
  }
}

@media(max-width:760px){
  body:has(#a7-mobile-detail-wizard) .a7-site-footer{
    display:none!important;
  }
}
