

/* Покупка в один клик */
.one-click {
   text-align: left;
   padding: 20px;
   box-sizing: border-box;
   font-size: .9em;
}
.main-swiper.swiper .text .one-click .title {
   text-shadow: none;
   font-size: 2.5em;
   font-weight: 900;
   text-transform: uppercase;
   color: #303030;
   padding: 0 30px 0 0;
}
.one-click .small {
   margin: 0 0 10px 0;
   padding-bottom: 10px;
   font-size: .8em;
}
.one-click .row {
   clear: both;
}
.one-click .card {
   margin-bottom: 20px;
}
.one-click .link-region {
   margin-bottom: 20px;
}
.one-click .link-region .item {
   display: inline-block;
   margin-right: 20px;
   font-weight: 700;
   color: #888;
   cursor: pointer;
   user-select: none;
   transition: .3s ease;
   border: 1px solid transparent;
   border-radius: 5px;
   padding: 5px 10px;
}
.one-click .link-region .item:hover {
   color: black;
}
.one-click .link-region .item.active {
   color: #31a31b;
   border: 1px solid #31a31b;
}
.one-click .link-region .item.active:hover {
   color: #31a31b;
}
.one-click label {
   user-select: none;
   cursor: pointer;
}

.one-click details summary {
   user-select: none;
   cursor: pointer;
   outline: none;
}
.one-click details summary::marker {
   color: #31a31b;
}
.one-click details summary ~ div {
   overflow: hidden;
}
.one-click details[open] summary ~ div { 
   animation: sweep 2s ease-in-out;
   padding: 10px;
   margin-left: 3px;
   border-left: 1px dotted rgba(0,0,0, .2);
}
@keyframes sweep {
   0%    {max-height:0;}
   100%  {max-height:2000px;}
}

.one-click input,
.one-click select {
   border: 1px solid rgba(0,0,0, .6);
   padding: 5px;
   margin: 5px;
   border-radius: 5px;
   box-shadow: none;
   font: 300 1em sans-serif;
   height: 30px;
   min-width: 300px;
   width: auto;
}
.one-click input[type="checkbox"],
.one-click input[type="radio"] {
   height: auto;
   min-width: auto;
}

.one-click input[type="radio"] + label {
   margin-left: 0;
}

.one-click input[disabled],
.one-click select[disabled] {
   cursor: default;
}

.one-click .flex {
   display: flex;
   align-items: center;
}

.one-click .flex label {
   margin-top: 0;
   padding: 0;
   color: black;
}

.one-click label:not(.label-title) {
   width: 120px;
   display: inline-block;
}

.one-click .flex label.label-title {
   text-transform: uppercase;
   font-weight: 700;
   line-height: 1;
}

.one-click .flex input + label {
   color: #888;
}
.one-click .flex input:checked + label {
   color: black;
}

.one-click .flex.type-contacts {
   justify-content: space-between;
}

.one-click .contacts {
   margin: 10px 0 0 40px;
}

.one-click .block {
   margin-left: 30px;
}

.one-click .block.disabled {
   color: #888;
   cursor: default;
}

.one-click input[disabled="disabled"] {
   color: #aaa;
   background: white;
}

.one-click div.disabled label {
   cursor: default;
   color: #888;
}

.one-click .btn {
   display: inline-block;
   margin-top: 10px;
   border-radius: 5px;
}

.one-click .btn-block {
   display: flex;
   align-items: center;
   margin: 20px 0 10px 0;
}
.one-click .btn-block .btn {
   width: 200px;
   text-align: center;
   margin-top: 0;
}
.one-click .btn-block p {
   margin: 0;
   margin-left: 30px;
   font-size: .7em;
   line-height: 1;
   max-width: 320px;
}

.one-click .error {
   color: red;
}


@media screen and (max-width: 720px) {
   .one-click {
      top: 50%;
   }
   .one-click input[type="text"],
   .one-click input[type="date"],
   .one-click select {
      min-width: auto;
      width: 100%;
   }
   .one-click .flex.type-contacts {
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      width: 100%;
      margin-left: 20px;
   }
   .one-click .flex {
      width: 50%;
   }
   .one-click .btn-block p {
      display: none;
   }
   .one-click .btn-block {
      justify-content: center;
   }
   .one-click .contacts {
      margin-left: 0;
      display: flex;
      flex-wrap: wrap;
   }
   .one-click .contacts > div {
      width: calc(50% - 10px);
   }
   .one-click .contacts > div:nth-child(1),
   .one-click .contacts > div:nth-child(3) {
      margin-right: 10px;
   }
   .one-click .contacts > div:nth-child(2),
   .one-click .contacts > div:nth-child(4) {
      margin-left: 10px;
   }
   .one-click details[open] summary ~ div {
      padding: 0 10px;
   }
   .one-click .btn-block {
      margin: 10px 0 0 0;
   }
   .one-click .card {
      margin-bottom: 10px;
   }
   .one-click input,
   .one-click select {
      margin: 0 0 5px 0;
   }
   .one-click .btn-block > div {
      width: 100%;
   }
   .one-click .btn-block .btn {
      width: 100%;
   }
   .one-click .link-region {
      margin-bottom: 10px;
   }
}



.one-click input[type="checkbox"] {
   position: absolute;
   z-index: -1;
   opacity: 0;
}

.one-click input[type="checkbox"]+label::before {
  content: '';
  display: block;
  float: left;
  margin-top: -1px;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  flex-grow: 0;
  border: 1px solid #adb5bd;
  border-radius: 0.25em;
  margin-right: 0.5em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}

.one-click input[type="checkbox"]:checked+label::before {
  border-color: #32a41a;
  background-color: #32a41a;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}




.one-click input[type="radio"] {
   position: absolute;
   z-index: -1;
   opacity: 0;
}
.one-click input[type="radio"]+label {
   display: inline-flex;
   align-items: center;
   user-select: none;
}
.one-click input[type="radio"]+label::before {
   content: '';
   display: inline-block;
   width: 1em;
   height: 1em;
   flex-shrink: 0;
   flex-grow: 0;
   border: 1px solid #adb5bd;
   border-radius: 50%;
   margin-right: 0.5em;
   background-repeat: no-repeat;
   background-position: center center;
   background-size: 50% 50%;
}
.one-click input[type="radio"]:not(:disabled):not(:checked)+label:hover::before {
   border-color: #32a41a;
}
.one-click input[type="radio"]:not(:disabled):active+label::before {
   background-color: #32a41a;
   border-color: #32a41a;
}
.one-click input[type="radio"]:focus+label::before {
   box-shadow: 0 0 0 0.2rem rgba(50, 164, 26, 0.25);
}
.one-click input[type="radio"]:focus:not(:checked)+label::before {
   border-color: #32a41a;
}
.one-click input[type="radio"]:checked+label::before {
   border-color: #32a41a;
   background-color: #32a41a;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.one-click input[type="radio"]:disabled+label::before {
   background-color: #32a41a;
}
.one-click sup {
    color: red;
    font-size: .9em;
    position: absolute;
    margin-top: -3px;
}



