.cc-modal[hidden] { display: none; }
.cc-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 20px; background: rgba(7,20,36,.72); }
.cc-modal__panel { position: relative; width: min(820px,100%); max-height: calc(100vh - 40px); overflow-y: auto; border-radius: 18px; background: #fff; color: #1f2937; box-shadow: 0 24px 70px rgba(0,0,0,.3); padding: 30px; }
.cc-modal__panel--success { width: min(480px,100%); text-align: center; }
.cc-modal__close { position: absolute; top: 12px; right: 14px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #eef2f7; color: #0b1f3a; cursor: pointer; font-size: 26px; line-height: 1; }
.cc-modal h2 { margin: 0 42px 8px 0; color: #0b1f3a; }
.cc-modal__intro { margin: 0 0 22px; color: #64748b; }
.cc-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.cc-form-grid .cc-full { grid-column: 1/-1; }
.cc-modal label { display: block; margin-bottom: 6px; color: #0b1f3a; font-size: 14px; font-weight: 700; }
.cc-modal input,.cc-modal select,.cc-modal textarea { width: 100%; padding: 11px 12px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; color: #1f2937; font: inherit; }
.cc-modal textarea { min-height: 105px; resize: vertical; }
.cc-products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 12px; border: 1px solid #cbd5e1; border-radius: 9px; }
.cc-products label { display: flex; align-items: flex-start; gap: 7px; margin: 0; font-weight: 400; }
.cc-products input { width: auto; margin-top: 4px; }
.cc-submit,.cc-success-close { min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: #f5b301; color: #111827; cursor: pointer; font: inherit; font-weight: 800; }
.cc-submit:disabled { cursor: wait; opacity: .65; }
.cc-form-error { min-height: 24px; margin-top: 10px; color: #991b1b; font-weight: 700; }
body.cc-modal-open { overflow: hidden; }
@media (max-width: 640px) { .cc-modal { padding: 10px; } .cc-modal__panel { max-height: calc(100vh - 20px); padding: 22px 18px; } .cc-form-grid { grid-template-columns: 1fr; } .cc-form-grid .cc-full { grid-column: auto; } .cc-products { grid-template-columns: 1fr; } }
