.dcart[data-screen="form"] > .dcart__screen--form { display: block }

.dcart__screen--form { padding: 5px 20px 0 20px;  }

/* select */
.dcart__select { margin: 5px 0 0 0; position: absolute; z-index: 3; visibility: hidden; opacity: 0; background: #fff; max-height: 0; overflow: hidden; -webkit-overflow-scrolling: touch;  border-radius: 3px; box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .25);
    transform: translateY(10px);
    transition: transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s 0.15s;
}

.dcart__select-option { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font: 400 15px/17px geometria, arial; cursor: pointer; padding: 10px 10px; position: relative; }
.dcart__select-option--active { background: #FFE484; }
.dcart__select-option--faster { font: 12px/12px geometria; white-space: normal; }


.dcart__select--times {  width: 108px; right: -5px; }
.dcart--flowers .dcart__select--times { width: 150px; }
.dcart__select--minutes { width: 100%; }
.dcart__select--card { width: 100%; }

.dcart--select-times .dcart__select--times,
.dcart--select-minutes .dcart__select--minutes,
.dcart--select-card .dcart__select--card,
.dcart--select-dates .dcart__select--dates { max-height: 270px; visibility: visible; opacity: 1; overflow: auto;
    transform: translateY(0);
    transition: transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s;
}


.dcart__field { display: block; position: relative; margin: 0 0 23px 0; }
.dcart__field--caption:before { content: attr(data-caption); font: 400 12px/12px geometria; background-color: #fff; position: absolute; margin: -7px 0 0 0; padding: 0 5px;z-index: 1; }
.dcart__input { position: relative;  font: 400 16px/18px geometria; border: 0; border-bottom: 1px solid #d5d5d5; height: 45px; width: 100%; padding: 2px 5px 0 5px; border-radius: 0; }
textarea.dcart__input { padding: 10px 15px; height: 57px; line-height: 18px; min-height: 50px; resize: none; }
.dcart__input--tick { cursor: pointer; }
.dcart__input--tick:after { position: absolute; width: 16px; right: 10px; top: 0;  bottom: 0; content: ""; background: url(i/tick.svg) no-repeat 0 55% / 15px; opacity: .5; }
.dcart__input:focus { border-color: #0086FF; }
.dcart__input:hover:not(.dcart__input--city) { border-color: #0086FF; }


.dcart__hint { margin: 8px 0 0 0; font: 13px/15px geometria, arial; color: #555; }




/* формы оплаты */
.dcart__field--pay { margin-top: 15px }

.dcart__pay-label { display: inline-block; vertical-align: top; width: 33.33333%; padding: 0 0 0 30px; position: relative; cursor: pointer; }
.dcart__pay { position: absolute; left: -9999px; }
.dcart__pay-ico { width: 22px; height: 22px; border: 3px solid #979797; position: absolute; border-radius: 50%; left: 0; transition: background-color 250ms; margin: -4px 0 0 0; }
.dcart__pay:checked + .dcart__pay-ico { background-color: #0086FF; border: none; }
.dcart__pay:checked + .dcart__pay-ico:before { content: ''; position: absolute; border-radius: 50%; width: 20px; height: 20px; background-color: #fff; left: 0; right: 0; top: 0; bottom: 0; margin: auto; animation: dcart__pay-circle 150ms ease 10ms forwards; -webkit-animation: dcart__pay-circle 150ms ease 10ms forwards; }
.dcart__pay-name { font: 400 14px/14px geometria;  }
.dcart__pay--off ~ .dcart__pay-name,
.dcart__pay--off ~ .dcart__pay-ico { opacity: .2; }



@keyframes dcart__pay-circle {
    0% {
        width: 20px;
        height: 20px
    }
    100% {
        width: 10px;
        height: 10px
    }
}

@-webkit-keyframes dcart__pay-circle {
    0% {
        width: 20px;
        height: 20px
    }
    100% {
        width: 10px;
        height: 10px
    }
}


/* сдача */


.dcart__field--oddmoney { display: none; }
.dcart--cash .dcart__field--oddmoney { display: block; }
.dcart--pickup .dcart__field--oddmoney { display: none; }

.dcart__field--memorize-card { background: #EEFCDF; margin-left: -20px; margin-right: -20px; padding: 12px 20px 12px 50px; display: none; }
.dcart__field--memorize-card .dcart__checkbox-ico { left: 20px; top: 14px; margin: 0; }
.dcart__field--card { display: none; }
.dcart--online .dcart__field--memorize-card,
.dcart--online .dcart__field--card { display: block; }

.dcart__card-dots { display: inline-block; vertical-align: middle; font: 40px/15px geometria; }
.dcart__card-remove { position: absolute; width: 30px; height: 30px; right: 5px; top: 2px; background: url(i/card-remove.svg) no-repeat 50% 50% / 14px auto; }
.dcart__input--card .dcart__card-remove { display: none; }
.dcart__input--card { line-height: 44px; }
.dcart__input--card[data-type="visa"],
.dcart__select-option--visa { padding-left: 45px; background: url(i/card-visa.svg) no-repeat 0 8px / 32px auto; }
.dcart__input--card[data-type="master"],
.dcart__select-option--master { padding-left: 45px; background: url(i/card-master.svg) no-repeat 0 8px / 32px auto; }
.dcart__select-option--visa,
.dcart__select-option--master { background-position: 10px 2px; padding-left: 52px; }


/* Бесконтактная доставка */
.dcart__field--hidden { display: none; }
.dcart__field--contactless { display: block; background: #EEFCDF; margin-left: -20px; margin-right: -20px; padding: 12px 20px 10px 50px }
.dcart__field--contactless .dcart__checkbox-ico { left: 20px; top: 14px; margin: 0; }
.dcart__contactless-hint { font: 400 12px/16px geometria; margin: 6px 0 0 0; }
.dcart--pickup .dcart__field--contactless { display: none; }


/* предзаказ */
.dcart__preorder { font: 14px/30px geometria; position: relative; padding: 0 0 0 30px; cursor: pointer; }
.dcart__preorder:before { content: ''; position: absolute; width: 22px; height: 28px; left: 0; background: url(i/preorder.svg) no-repeat 50% / 22px; }
.dcart--preorder .dcart__preorder:before { background-image: url(i/preorder-active.svg); }

.dcart__field--preorder { display: none; }
.dcart--preorder .dcart__field--preorder { display: block; }


.dcart__field--minutes { display: none }
.dcart--pickup:not(.dcart--preorder) .dcart__field--minutes { display: block; }


.dcart__input--date { width: 200px; width: calc(100% - 10px - 100px); cursor: pointer; line-height: 40px; margin: 0 10px 0 0; display: inline-block; vertical-align: top; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;  }
.dcart__input--time { width: 100px; font-size: 16px; line-height: 40px; cursor: pointer; display: inline-block; vertical-align: top; text-align: center;  }
.dcart__input--minutes { line-height: 40px; }

.dcart--flowers .dcart__input--date { width: calc(100% - 10px - 125px); font-size: 15px; }
.dcart--flowers .dcart__input--time { width: 125px; font-size: 15px; }


/* адрес */
.dcart--pickup .dcart__address-wrap { display: none; }
.dcart__field--house { display: inline-block; width: 80px; margin: 0 15px 0 0; }
.dcart__field--flat { display: inline-block; width: 40px; margin: 0 15px 0 0; }
.dcart__field--entrance { display: inline-block; width: 40px; margin: 0 45px 0 0 }
.dcart__field--floor { display: inline-block; width: 40px;  }

.dcart__input--city { cursor: default; }


@supports(display: grid) {

    .dcart__address-columns { display: grid; grid-template-columns: 2fr 1fr 1.5fr 1fr; grid-gap: 20px; margin: 0 0 35px 0 }
    .dcart__field--house,
    .dcart__field--entrance,
    .dcart__field--flat,
    .dcart__field--floor { width: auto; margin: 0;}

    .dcart__input--flat { width: 40px; }
    .dcart__input--entrance { width: 40px; }
    .dcart__input--floor { width: 40px; }
}


/* имя */
.dcart__input--phone,
.dcart__input--recipient-phone { font-size: 15px; }

/*
.dcart--flowers .dcart__field--name,
.dcart__field--recipient-name { width: 110px; display: inline-block; }
.dcart--flowers .dcart__field--phone,
.dcart__field--recipient-phone { width: 60%; width: calc(100% - 110px - 15px); display: inline-block; margin-left: 15px; }
*/

/* предзаказ */
.dcart--flowers .dcart__field--time { display: none; }