:root{
  --acp-font-family: inherit;
  --acp-text-color:#222;
  --acp-accent-bg:#b31319;
  --acp-accent-text:#fff;
  --acp-accent-border:#b31319;
  --acp-accent-radius:4px;
  --acp-button-weight:700;
  --acp-link-color:var(--acp-accent-bg);
}
.acp-lock{overflow:hidden!important}
.acp-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.acp-overlay.is-open{opacity:1;visibility:visible}
.acp-modal{position:relative;width:min(760px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:28px;color:var(--acp-text-color);font-family:var(--acp-font-family);line-height:1.4}
.acp-modal *{font-family:inherit;box-sizing:border-box}
.acp-close{position:absolute;right:16px;top:10px;border:0;background:transparent;font-size:34px;line-height:1;cursor:pointer;color:var(--acp-text-color);padding:4px 8px}
.acp-head{padding-right:40px;margin-bottom:18px}
.acp-title{font-size:25px;font-weight:700;line-height:1.18;color:var(--acp-text-color)}
.acp-subtitle{font-size:16px;color:rgba(34,34,34,.7);margin-top:7px}
.acp-products{border-top:1px solid #eee;border-bottom:1px solid #eee}
.acp-product{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center;padding:13px 0}
.acp-product+.acp-product{border-top:1px solid #f0f0f0}
.acp-product img{width:76px;height:76px;object-fit:cover;border-radius:5px;background:#f5f5f5}
.acp-product-name{font-weight:700;color:var(--acp-text-color);line-height:1.3}
.acp-product-attr,.acp-product-meta{font-size:13px;color:rgba(34,34,34,.65);margin-top:3px}
.acp-product-price{font-size:18px;font-weight:700;white-space:nowrap}
.acp-more{padding:8px 0 12px;font-size:13px;color:rgba(34,34,34,.65)}
.acp-total{text-align:right;padding:14px 0 18px;font-size:15px}
.acp-total strong{font-size:17px}
.acp-label{font-size:16px;font-weight:700;margin-bottom:9px;color:var(--acp-text-color)}
.acp-input-row{display:grid;grid-template-columns:1fr auto}
.acp-input-row input{height:46px;border:1px solid #ccc;border-radius:5px 0 0 5px;padding:0 14px;font-size:15px;min-width:0;background:#fff;color:var(--acp-text-color)}
.acp-input-row input:focus{outline:none;border-color:var(--acp-accent-border);box-shadow:0 0 0 2px rgba(0,0,0,.06)}
.acp-input-row button{height:46px;border:1px solid var(--acp-accent-border);border-left:0;border-radius:0 var(--acp-accent-radius) var(--acp-accent-radius) 0;padding:0 22px;font-size:13px;font-weight:var(--acp-button-weight);letter-spacing:.02em;cursor:pointer;background:var(--acp-accent-bg);color:var(--acp-accent-text);text-transform:uppercase}
.acp-input-row button:disabled{opacity:.65;cursor:wait}
.acp-checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-top:14px;margin-bottom:8px;font-size:13px;color:rgba(34,34,34,.8);cursor:pointer}
.acp-checkbox-row input{margin-top:2px;accent-color:var(--acp-accent-bg);width:16px;height:16px;flex:0 0 auto}
.acp-checkbox-row span{display:block;line-height:1.5}
.acp-checkbox-row a,.acp-checkbox-row a:visited,.acp-checkbox-row a:hover,.acp-checkbox-row a:active{color:var(--acp-link-color)!important;text-decoration:underline;font-weight:600}
.acp-msg{min-height:21px;font-size:13px;margin-top:9px}
.acp-msg.is-error{color:#b42318}
.acp-msg.is-success{color:#16794b}
.acp-product-image-empty{width:76px;height:76px;border-radius:5px;background:#f5f5f5}
@media(max-width:600px){
  .acp-overlay{padding:10px;align-items:flex-end}
  .acp-modal{padding:22px 18px;border-radius:12px 12px 0 0;max-height:92vh}
  .acp-title{font-size:21px}
  .acp-product{grid-template-columns:58px 1fr auto;gap:10px}
  .acp-product img,.acp-product-image-empty{width:58px;height:58px}
  .acp-product-price{font-size:14px}
  .acp-input-row{grid-template-columns:1fr}
  .acp-input-row input{border-radius:5px 5px 0 0}
  .acp-input-row button{border-left:1px solid var(--acp-accent-border);border-radius:0 0 var(--acp-accent-radius) var(--acp-accent-radius)}
}
