.cart-contact-overlay{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#221017ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.cart-contact-modal{background:#fffaf7;border:1px solid #75405338;width:min(520px,100%);max-height:calc(100vh - 40px);padding:clamp(24px,5vw,42px);position:relative;overflow-y:auto;box-shadow:0 28px 80px #1c0c1252}.cart-contact-modal h2{color:var(--wine-dark);margin:8px 42px 10px 0;font-size:clamp(27px,5vw,39px);line-height:1.05}.cart-contact-modal>p{color:var(--muted);margin:0 0 22px;line-height:1.7}.cart-contact-close{border:1px solid var(--line);width:42px;height:42px;color:var(--wine-dark);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.cart-contact-close svg{width:18px;height:18px}.cart-contact-modal form{gap:16px;display:grid}.cart-contact-modal form>label:not(.cart-contact-consent){color:var(--ink);gap:7px;font-size:14px;font-weight:600;display:grid}.cart-contact-modal input[type=text],.cart-contact-modal input[type=tel],.cart-contact-modal form>label:not(.cart-contact-consent) input{width:100%;min-height:50px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d8c8cf;padding:12px 14px;font-size:16px}.cart-contact-modal input:focus{border-color:var(--wine);outline:3px solid #75405333}.cart-contact-consent{color:#5f5357;cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;display:flex}.cart-contact-consent input{width:18px;height:18px;accent-color:var(--wine);flex-shrink:0;margin-top:2px}.cart-contact-error{color:#852d36;background:#fff0f0;border:1px solid #e1adaf;padding:10px 12px;font-size:13px}.cart-contact-modal form>small{color:var(--muted);text-align:center;font-size:11px;line-height:1.6}.cart-contact-modal form>small a{color:var(--wine-dark)}@media (max-width:560px){.cart-contact-overlay{align-items:end;padding:0}.cart-contact-modal{width:100%;max-height:92vh;padding:28px 20px calc(24px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}}
