:root{
  --cream: #FFF8EB;
  --gold:  #F2B461;
  --btn:   #F7C982;
  --white: #ffffff;
  --radius: 5px;
  --input-h: 50px;
  --panel-max: 540px;
}
.mm-trigger{ cursor:pointer; }
.mm-overlay{ position: fixed; inset: 0; z-index: 9999; opacity: 0; pointer-events: none; transition: opacity .5s ease; }
.mm-overlay .mm-backdrop{ position:absolute; inset:0; background: var(--cream); }
.mm-panel{ position: relative; max-width: var(--panel-max); margin: 8vh auto; background: transparent; padding: 24px; transform: translateY(20px); opacity: 0; transition: transform .5s ease, opacity .5s ease; }
.mm-overlay.is-open{ opacity: 1; pointer-events: auto; }
.mm-overlay.is-open .mm-panel{ transform: translateY(0); opacity: 1; }
.mm-close{ position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border: 2px solid var(--white); background: transparent; color: #333; font-size: 24px; line-height: 1; border-radius: 50%; cursor: pointer; }
.mm-title{ font-family: 'Montserrat', sans-serif; font-weight: 300; font-size: 28px; color: #2c3e50; margin: 0 0 18px; text-align: center; }
.mm-form{ font-family:'Montserrat',sans-serif; display:flex; flex-direction:column; gap:16px; width:100%; max-width:480px; margin:0 auto; }
.mm-field{ width:100%; }
.mm-label{ display:block; margin-bottom:6px; font-size:16px; font-weight:500; color:#2c3e50; }
.mm-input{ width:100%; height:var(--input-h); background: var(--white) !important; border: 2px solid var(--gold) !important; border-radius: var(--radius) !important; padding:10px 12px; font-size:16px; color:#2c3e50; outline:none; box-shadow:none; display:block; }
.mm-input:focus{ box-shadow:0 0 0 3px rgba(242,180,97,.18); }
.mm-input:-webkit-autofill{ -webkit-box-shadow: 0 0 0 1000px var(--white) inset !important; -webkit-text-fill-color: #2c3e50 !important; border: 2px solid var(--gold) !important; }
.mm-actions{ text-align:center; margin-top:6px; }
.mm-submit{ width:300px; height:60px; background:var(--btn); color:#1a1a1a; border:2px solid var(--white); border-radius:8px; font-family:'Montserrat',sans-serif; font-size:22px; font-weight:300; cursor:pointer; }
.mm-submit:hover{ filter:brightness(.97); }
.mm-status{ text-align:center; margin-top:10px; font-size:14px; color:#2c3e50; }
.mm-error{ color:#c0392b; font-size:12px; margin-top:6px; min-height:14px; }
@media (max-width:700px){ .mm-panel{ margin:4vh auto; padding:16px; } }
