.order-card{display:flex;flex-direction:column;gap:12px;max-width:400px;margin:100px 0 24px;padding:16px;background:rgba(255,255,255,0.98);border:1px solid #e6e6e6;border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.12);position:relative;z-index:10;max-height:calc(100vh - 130px);margin-right:auto}
.basic__top .order-card{margin-top:48px}
.oc-header{flex:0 0 auto;position:sticky;top:0;background:#fff;z-index:20}
.oc-scroll{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;min-height:1px}
.oc-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.oc-footer{flex-direction:column;align-items:stretch}
.order-card__addresses{display:grid;gap:12px}
.oc-address-group{display:block;background:#fff;border:1px solid #e6e6e6;border-radius:16px;overflow:visible}
.oc-address-row{display:flex;align-items:center;gap:8px;padding:18px 14px 12px;border-top:1px solid #f0f0f0;position:relative;z-index:1}
.oc-address-row--active{z-index:50}
.oc-row-label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;font-weight:600;color:#999;line-height:1;background:#fff;padding:0 4px;transition:all .15s ease}
.oc-address-row--focused .oc-row-label,.oc-address-row--filled .oc-row-label{top:6px;transform:none;font-size:12px;color:#777}
.oc-row-control{display:flex;align-items:center;gap:8px;flex:1}
.oc-address-row:first-child{border-top:none}
.oc-suggestions{position:absolute;left:0;right:0;top:100%;z-index:10000;pointer-events:auto}
.oc-suggestions__list{position:relative;top:0;left:0;right:0;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.06);z-index:10001;max-height:260px;overflow:auto;display:none;pointer-events:auto}
.oc-suggestions__item{text-align:left}
.oc-suggestions__item{padding:10px 12px;cursor:pointer}
.oc-suggestions__item:hover{background:#f7f7f7}
.oc-input--row:focus{outline:none}
.order-card__field{display:flex;flex-direction:column;gap:6px}
.order-card label{color:#333;font-weight:600;font-size:14px;margin-bottom:4px}
.oc-input{height:48px;border:1px solid #e3e3e3;border-radius:8px;padding:0 12px;font-size:16px}
.oc-input--row{flex:1;border:0;background:transparent;border-radius:8px;padding:0 12px}
.oc-add-stop{height:36px;border:1px dashed #bbb;border-radius:8px;background:#fff;padding:0 12px;color:#333}
.oc-row-remove{width:36px;height:36px;border:0;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.oc-row-remove:hover{background:#fff0f0}
.oc-row-remove[hidden]{display:none !important}
.oc-row-clear{width:28px;height:28px;border:0;background:#f2f2f2;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;color:#666}
.oc-row-clear:hover{background:#e8e8e8}
.oc-address-row--clear .oc-row-clear{display:flex}
.oc-add-row{cursor:pointer}
.oc-add-row__text{color:#333;font-weight:600}
.oc-add-row:hover{background:#f8f8f8}
.oc-list{margin-top:8px}
.oc-list-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin:8px 0;background:#fff;border:1px solid #e6e6e6;border-radius:16px}
.oc-list-row--input input{width:100%}
.oc-list-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-card__payment.oc-list-row{display:flex;align-items:center;justify-content:space-between}
.oc-pay-options{display:flex;gap:16px;align-items:center;white-space:nowrap}
.oc-switch{position:relative;width:44px;height:24px}
.oc-switch input{display:none}
.oc-switch__bar{position:absolute;inset:0;background:#ddd;border-radius:12px}
.oc-switch__bar:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.oc-switch input:checked + .oc-switch__bar{background:#ff8c00}
.oc-switch input:checked + .oc-switch__bar:after{left:23px}
.order-card__classes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.oc-class{border:1px solid #e3e3e3;border-radius:10px;padding:10px;text-align:center;cursor:pointer;background:#fff}
.oc-class--active{border-color:#ff8c00;box-shadow:0 0 0 2px rgba(255,140,0,.15)}
.oc-class__name{font-weight:600}
.oc-class__price{color:#666;font-size:18px}
.order-card__options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.oc-option{display:flex;gap:8px;align-items:center;border:1px solid #e3e3e3;border-radius:8px;padding:8px}
.order-card__payment{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.oc-payment-title{font-weight:600}
.order-card__time{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.oc-datetime{height:40px;border:1px solid #e3e3e3;border-radius:8px;padding:0 10px;font-size:16px}
.order-card__comment{display:flex;flex-direction:column;gap:6px}
.oc-textarea{border:1px solid #e3e3e3;border-radius:8px;padding:8px}
.order-card__summary{display:flex;gap:24px}
.oc-summary-item{display:flex;gap:6px;align-items:center}
.oc-summary-value{font-size:20px;font-weight:700}
.order-card__submit{height:48px;border:none;border-radius:12px;background:#ff8c00;color:#fff;font-weight:700;width:100%;font-size:18px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;box-shadow:0 3px 0 rgba(168,100,5,.6)}
.order-card__submit:hover{filter:brightness(.85)}
.order-card__submit:active{transform:translateY(3px) scale(.97);box-shadow:inset 0 4px 12px rgba(0,0,0,.25);filter:brightness(.8)}
.order-card__submit:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,140,0,.35)}
.order-card__submit:disabled{opacity:.6;cursor:pointer;transform:none;box-shadow:none}
@media(max-width:768px){
  .basic__top .container{
    max-width:100%;
    padding:0;
  }
  .basic__top .order-card{
    margin-top:0;
    top:-12px;
    width:calc(100% - 8px);
    max-width:calc(100% - 8px);
    margin-right:8px;
    left:auto;
    transform:none;
    border-radius:16px;
  }
  .oc-scroll{
    padding-bottom:72px;
  }
  .oc-footer{
    position:sticky;
    bottom:0;
    background:#fff;
    z-index:10;
  }
}
@media(max-width:440px){
  .basic__top .order-card{
    width:calc(100vw - 4px);
    max-width:none;
    margin:0 4px 0 0;
    border-radius:16px;
    left:auto;
    transform:none;
  }
}
