/* ===== WRAPPER ===== */

.dr-booking-app{

display:flex;

gap:20px;

margin:30px 0;

align-items:flex-start;

}

.dr-booking-left{
flex:1;
}

.dr-booking-right{
width:370px;
flex-shrink:0;
}


/* ===== CARD ===== */

.dr-booking-left .dr-booking-card{

background:#fff;

border:none;

border-radius:30px;

padding:28px;

box-shadow:
0 25px 70px rgba(0,0,0,.08),
0 10px 25px rgba(0,0,0,.04);

}

/* ===== RIGHT PREMIUM ===== */

.dr-booking-right .dr-booking-card{

background:#111;

position:sticky;

top:120px;

border:none;

border-radius:28px;

padding:30px;

color:#fff;

box-shadow:
0 25px 60px rgba(0,0,0,.18);

overflow:hidden;

isolation:isolate;

}


/* декоративное свечение */

.dr-booking-right .dr-booking-card:before{

content:"";

position:absolute;

z-index:-1;

width:220px;

height:220px;

border-radius:50%;

background:
radial-gradient(
rgba(236,32,40,.35),
transparent 70%
);

top:-120px;

right:-80px;

pointer-events:none;

}


/* заголовок */

.dr-booking-right h3{

font-size:20px;

font-weight:700;

margin:0 0 25px;

color:#fff;

letter-spacing:-0.3px;

text-transform:none;

line-height:1.2;

}


/* строки */

.dr-booking-right{

font-size:14px;

line-height:1.7;

color:rgba(255,255,255,.75);

}


/* значения справа */

.dr-rent-price,
.dr-days,
.dr-services-total{

float:right;

font-size:15px;

font-weight:700;

color:#fff;

}


/* линия */

.dr-booking-right hr{

border:none;

height:1px;

background:rgba(255,255,255,.08);

margin:24px 0;

}


/* итог */

.dr-total-price{

display:block;

font-size:42px;

font-weight:800;

margin-top:10px;

line-height:1;

color:#fff;

}


/* кнопка */

.dr-booking-right .dr-book-btn{

margin-top:30px;

background:#EC2028!important;

color:#fff!important;

height:62px;

font-size:15px!important;

font-weight:500!important;

box-shadow:
0 12px 35px rgba(236,32,40,.35);

}


.dr-booking-right .dr-book-btn:hover{

transform:translateY(-3px);

box-shadow:
0 20px 45px rgba(236,32,40,.45);

}


/* ===== ROWS ===== */

.dr-row{
display:flex;
gap:18px;
margin-bottom:18px;
}

.dr-booking-form > .dr-row:nth-last-child(3){
margin-bottom:0!important;
}



.dr-service-title{
margin-top:20px;
margin-bottom:20px;
}

.dr-field{
flex:1;
display:flex;
flex-direction:column;
}

.dr-field label{
font-size:13px;
font-weight:600;
margin-bottom:10px;
color:#666;
}


/* ===== INPUT ===== */

.dr-booking-app input,

.dr-booking-app select{

height:64px!important;

width:100%;

background:#F6F7F9!important;

border:none!important;

border-radius:18px!important;

padding:0 20px!important;

outline:none!important;

box-shadow:none!important;

font-size:16px!important;

font-weight:600!important;

color:#111!important;

}

.dr-booking-app input:focus,
.dr-booking-app select:focus{

background:#f2f2f2!important;

}





.dr-booking-app select{

height:64px!important;

width:100%;

background:#F6F7F9!important;

border:none!important;

border-radius:18px!important;

padding-left:20px!important;

padding-right:60px!important;

font-size:16px!important;

color:#111!important;

appearance:none!important;

-webkit-appearance:none!important;

-moz-appearance:none!important;

}



.dr-field{
position:relative;
}

.dr-field:has(select)::after{

content:"";

position:absolute;

right:22px;

top:50%;

transform:translateY(-50%);

margin-top:18px;

width:14px;
height:14px;

background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 10L12 15L17 10' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

background-repeat:no-repeat;
background-size:contain;

pointer-events:none;

opacity:.8;

}

/* ===== FLATPICKR ===== */

.flatpickr-input{

cursor:pointer!important;

}

.flatpickr-calendar{

width:auto!important;

max-width:none!important;

transform-origin:top center;

}


/* ===== MESSENGER ===== */

.dr-messenger{

display:flex;

gap:12px;

}

.dr-msg{

height:64px;

flex:1;

display:flex;

align-items:center;

justify-content:center;

gap:10px;

padding:0 18px;

border-radius:18px;

cursor:pointer;

font-size:15px;

font-weight:600;

transition:.25s;

background:#F6F7F9;

border:2px solid transparent;

}

.dr-msg svg{

width:20px;

height:20px;

flex-shrink:0;

display:block;

}

.dr-msg span{

line-height:1;

display:flex;

align-items:center;

}


/* Telegram */

.dr-telegram{

color:#229ED9;

}

.dr-telegram.active{

background:#229ED9;

color:#fff;

box-shadow:none!important;

}


/* Viber */

.dr-viber{

color:#7360F2;

}

.dr-viber.active{

background:#7360F2;

color:#fff;

box-shadow:none!important;

}


.dr-msg:hover{

transform:translateY(-2px);

}
/* ===== SERVICES ===== */

.dr-service-title{

font-size:18px;
font-weight:700;

margin-top:0!important;
margin-bottom:20px!important;

padding-top:20px;

}



.dr-services{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:16px;

}

.dr-service{

position:relative;

display:grid!important;

grid-template-columns:1fr auto;

gap:15px;

align-items:center;

padding:22px!important;

min-height:92px;

background:#F6F7F9;

border-radius:22px;

cursor:pointer;

transition:
transform .3s,
background .3s,
box-shadow .3s,
border-color .3s,
color .3s;

overflow:hidden;

border:2px solid transparent;

will-change:transform;

}

.dr-service:hover{

box-shadow:none!important;

transform:none;

}

.dr-service input{

display:none!important;

}

.dr-service-content{

display:flex;

flex-direction:column;

gap:5px;

}

.dr-service strong{

font-size:14px;

font-weight:700;

line-height:1;

margin:0!important;

padding:0!important;

}

.dr-service small{

font-size:12px;

line-height:1.2;

margin:0!important;

padding:0!important;

color:#8E8E93;

}

.dr-service-card-price{

display:flex;

gap:4px;

font-size:14px;

font-weight:700;

white-space:nowrap;

color:#111!important;

}

.dr-service-card-price *{

color:inherit!important;

}

.dr-service:has(input:checked){

background:#EC2028;

border-color:#EC2028;

color:#fff;

box-shadow:none!important;

}

.dr-service:has(input:checked) small{

color:rgba(255,255,255,.7);

}

.dr-service:has(input:checked)
.dr-service-card-price{

color:#fff!important;

}



/* ===== BUTTON ===== */

.dr-book-btn{

width:100%;

height:66px;

border:none!important;

border-radius:100px!important;

background:#111!important;

color:#fff!important;

font-size:16px!important;

font-weight:600!important;

cursor:pointer;

transition:.3s;

}

.dr-book-btn:hover{

transform:translateY(-2px);

}


/* ===== CURRENCY ===== */

.dr-currency-dropdown{

position:relative;

width:74px;

z-index:9999;

}

.dr-currency-current{

    height:25px;

    padding:10px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:5px;

    background:#fff!important;

    color:#111!important;

    border-radius:8px;

    border:1px solid rgba(0,0,0,.06)!important;

    box-shadow:0 2px 8px rgba(0,0,0,.03);

    font-size:13px;

    line-height:1;
    cursor: pointer;

}

.dr-current-currency{

font-size:12px;

font-weight:600;

color:#111!important;

}

.dr-currency-arrow{

display:flex;

align-items:center;

transition:.25s;

opacity:.6;

color:#111!important;

}

.dr-currency-arrow svg{

color:#111!important;

stroke:#111!important;

}

.dr-currency-dropdown.active
.dr-currency-arrow{

transform:rotate(180deg);

opacity:1;

}

.dr-currency-list{

position:absolute;

top:35px;

left:0;

width:100%;

background:#fff!important;

border-radius:10px;

overflow:hidden;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

opacity:0;

visibility:hidden;

transform:translateY(10px);

transition:.25s;

}

.dr-currency-dropdown.active
.dr-currency-list{

opacity:1;

visibility:visible;

transform:none;

}

.dr-currency-item{

height:40px;

display:flex;

align-items:center;

justify-content:center;

cursor:pointer;

font-size:12px;

font-weight:600;

background:#fff!important;

color:#111!important;

}

.dr-currency-item:hover{

background:#F7F7F7!important;

}


@media(max-width:1200px){

.dr-booking-app{

flex-direction:column;

gap:16px;

margin:20px 0;

}

.dr-booking-left,
.dr-booking-right{

width:100%;

}



.dr-booking-left .dr-booking-card{

padding:18px;

border-radius:24px;

}

.dr-booking-right .dr-booking-card{

position:relative;

top:auto;

padding:20px;

border-radius:24px;

}

.dr-booking-car{

height:130px;

margin:0;

}

.dr-row{

flex-direction:column;

gap:16px;

margin-bottom:16px;

}

.dr-services{

grid-template-columns:1fr;

gap:12px;

}

.dr-service{

min-height:80px;

padding:18px!important;

}

.dr-service-title{

font-size:17px;

margin:16px 0;

}

.dr-total-price{

font-size:28px;

}

.dr-book-btn{

height:58px;

font-size:15px!important;

}

}











/* ===== WHITE INFO CARD ===== */

.dr-booking-stats{

background:#fff;

border-radius:20px;

padding:18px;

margin:0 0 20px;

display:flex;

flex-direction:column;

gap:14px;

}

.dr-stat{

display:flex;

justify-content:space-between;

align-items:center;

}

.dr-stat span{

font-size:13px;

font-weight:500;

color:#777;

}

.dr-stat b{

font-size:15px;

font-weight:700;

color:#111;

}


/* старые float убираем */

.dr-rent-price,
.dr-days,
.dr-services-total{

float:none!important;

color:#111!important;

font-size:15px;

}


/* линию больше не показываем */

.dr-booking-right hr{

display:none;

}








.dr-rent-price .dr-currency-symbol,
.dr-services-total .dr-currency-symbol,
.dr-total-price .dr-currency-symbol{

font-size:inherit!important;
font-weight:inherit!important;
color:inherit!important;

margin-left:0;

display:inline-block;

vertical-align:baseline;

}


























.dr-address-row{

display:none;

animation:drFade .25s ease;

}

.dr-address-row.active{

display:flex;

}

@keyframes drFade{

from{

opacity:0;
transform:translateY(-6px);

}

to{

opacity:1;
transform:none;

}

}







/* FIX Flatpickr ширины */

.flatpickr-calendar{

width:300px!important;

max-width:300px!important;


transform-origin:top center;

}

.flatpickr-rContainer{

width:auto!important;

}

.flatpickr-days{

width:auto!important;

}

.dayContainer{

width:auto!important;

min-width:auto!important;

}





/* ===== FLATPICKR REAL FIX ===== */

.flatpickr-weekdays{
width:100%!important;
}

.flatpickr-weekdaycontainer{
display:grid!important;
grid-template-columns:repeat(7,1fr)!important;
width:100%!important;
}

.flatpickr-days{
width:100%!important;
}

.flatpickr-day{
max-width:none!important;
}

.flatpickr-calendar .dayContainer{
display:grid!important;
grid-template-columns:repeat(7,1fr)!important;
width:100%!important;
min-width:100%!important;
}

.flatpickr-weekday{
display:flex!important;
justify-content:center!important;
align-items:center!important;
}














































/* фото авто */

.dr-booking-car{

margin:-5px 0 0px;

height:100px;

display:flex;

align-items:center;

justify-content:center;

overflow:visible;

}

.dr-booking-car img{

width:100%;

height:100%;

object-fit:contain;

display:block;

padding:0;

filter:
drop-shadow(
0 18px 30px rgba(0,0,0,.35)
);

}

/* убираем всё лишнее */

.dr-booking-car:after,
.dr-booking-car-info{

display:none;

}




.dr-stat-car b{

max-width:160px;

text-align:right;

line-height:1.2;

}




.dr-booking-success{

display:none;

min-height:400px;

padding:20px;

text-align:center;

justify-content:center;

align-items:center;

flex-direction:column;

}

.dr-booking-success h3{

margin:0 0 10px;

font-size:28px;

font-weight:700;

color:#111;

}

.dr-booking-success p{

margin:0;

color:#777;

line-height:1.7;

max-width:500px;

}



.dr-book-btn:disabled{

opacity:.5;

cursor:not-allowed;

pointer-events:none;

transform:none!important;

box-shadow:none!important;

}

.dr-booking-form{

transition:
opacity .3s ease,
height .3s ease,
padding .3s ease,
margin .3s ease;

overflow:hidden;

}



.dr-loader{

width:18px;

height:18px;

border:2px solid rgba(255,255,255,.3);

border-top-color:#fff;

border-radius:50%;

display:inline-block;

animation:drSpin .7s linear infinite;

margin-right:10px;

flex-shrink:0;

}

@keyframes drSpin{

to{

transform:rotate(360deg);

}

}

.dr-book-btn{

display:flex!important;

align-items:center;

justify-content:center;

gap:10px;

}


.dr-book-btn{

display:flex!important;

align-items:center;

justify-content:center;

gap:10px;

position:relative;

}


.dr-book-btn.loading{

pointer-events:none;

}


.dr-loader{

width:18px;

height:18px;

border:2px solid rgba(255,255,255,.25);

border-top:2px solid #fff;

border-radius:50%;

animation:drSpin .6s linear infinite;

flex-shrink:0;

}


@keyframes drSpin{

to{

transform:rotate(360deg);

}

}








.dr-new-booking{

margin-top:25px;

height:58px;

padding:0 30px;

border:none;

border-radius:100px;

background:#EC2028;

color:#fff;

font-size:15px;

font-weight:600;

cursor:pointer;

transition:.3s;

box-shadow:
0 10px 30px rgba(236,32,40,.25);

}

.dr-new-booking:hover{

transform:translateY(-2px);

box-shadow:
0 15px 40px rgba(236,32,40,.35);

}









/* iPhone zoom fix */

@media(max-width:1200px){

.dr-booking-app input,

.dr-booking-app select{

font-size:16px!important;

transform:translateZ(0);

}

}















.dr-promo-wrap{
    margin:18px 0 14px;
}

.dr-promo-toggle{
    width:100%;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff!important;
    color:#111!important;

    border:1px solid rgba(0,0,0,.08)!important;
    border-radius:100px!important;

    font-size:14px;
    font-weight:600!important;

    cursor:pointer;
    transition:.25s;
}

.dr-promo-toggle:hover{
    border-color:#EC2028!important;
    color:#EC2028!important;
}


.dr-promo-box{
    margin-top:8px;
}

.dr-promo-row{
    display:flex;
    gap:6px;
}


/* поле */

.dr-promo-row .dr-promo-input{

    flex:1;

    height:36px!important;
    min-height:36px!important;

    padding:0 14px!important;

    border:1px solid rgba(0,0,0,.08)!important;
    border-radius:100px!important;

    font-size:13px!important;
    line-height:36px!important;

    box-sizing:border-box;

    outline:none;

}

.dr-promo-row .dr-promo-input:focus{

    border-color:#EC2028!important;

}


/* кнопка OK */

.dr-promo-row .dr-promo-apply{

    height:36px!important;

    padding:0 14px!important;

    background:#EC2028!important;

    border:none!important;

    border-radius:100px!important;

    color:#fff!important;

    font-size:13px!important;

    font-weight:600!important;

    cursor:pointer;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

}


/* сообщение */

.dr-promo-message{

    margin-top:8px;

    font-size:13px;

}





















.dr-discount-row{

display:flex;

justify-content:space-between;

align-items:center;

margin-top:10px;

padding-top:10px;

border-top:1px dashed rgba(0,0,0,.06);

font-size:14px;

}

.dr-discount-price{

color:#2eaf52;

font-weight:700;

}
















/* =========================
   LANGUAGE SWITCHER
========================= */

.dr-lang-dropdown{

position:relative;

width:74px;

z-index:9999;

}


.dr-lang-current{

height:25px;

padding:10px;

display:inline-flex;

align-items:center;

justify-content:center;

gap:5px;

background:#fff!important;

color:#111!important;

border-radius:8px;

border:1px solid rgba(0,0,0,.06)!important;

box-shadow:0 2px 8px rgba(0,0,0,.03);

font-size:13px;

line-height:1;

cursor:pointer;

}


.dr-lang-current-text{

font-size:12px;

font-weight:600;

color:#111!important;

}


.dr-lang-arrow{

display:flex;

align-items:center;

transition:.25s;

opacity:.6;

color:#111!important;

}


.dr-lang-arrow svg{

color:#111!important;

stroke:#111!important;

}


.dr-lang-dropdown.active
.dr-lang-arrow{

transform:rotate(180deg);

opacity:1;

}


.dr-lang-list{

position:absolute;

top:35px;

left:0;

width:100%;

background:#fff!important;

border-radius:10px;

overflow:hidden;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

opacity:0;

visibility:hidden;

transform:translateY(10px);

transition:.25s;

}


.dr-lang-dropdown.active
.dr-lang-list{

opacity:1;

visibility:visible;

transform:none;

}


.dr-lang-item{

height:40px;

display:flex;

align-items:center;

justify-content:center;

cursor:pointer;

font-size:12px;

font-weight:600;

background:#fff!important;

color:#111!important;

transition:.2s;

}


.dr-lang-item:hover{

background:#F7F7F7!important;

}


.dr-lang-item.active{

background:#EC2028!important;

color:#fff!important;

}