:root{
  --lm-primary: #2563eb;
  --lm-accent: #06b6d4;
  --lm-bg: #ffffff;
  --lm-input-bg: #fbfdff;
  --lm-border: #e6eef8;
  --lm-text: #0f172a;
  --lm-radius:10px;
  --lm-shadow: 0 10px 30px rgba(2,6,23,0.06);
  --lm-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Container */
.lm-form{
  max-width:720px;
  margin:18px auto;
  background:var(--lm-bg);
  border-radius:var(--lm-radius);
  padding:18px;
  box-shadow:var(--lm-shadow);
  font-family:var(--lm-font-sans);
  color:var(--lm-text);
  border:1px solid var(--lm-border);
}

/* Inputs */
.lm-form input[type="text"], .lm-form input[type="email"], .lm-form select, .lm-form textarea {
  width:100%;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid var(--lm-border);
  background:var(--lm-input-bg);
  font-size:1rem;
  color:var(--lm-text);
  transition: box-shadow .12s, border-color .12s;
  box-sizing:border-box;
}
.lm-form input:focus, .lm-form textarea:focus, .lm-form select:focus{
  outline:none;
  box-shadow: 0 6px 20px rgba(37,99,235,0.08);
  border-color: var(--lm-primary);
}

/* Labels & layout */
.lm-form p{ margin:12px 0; }
.lm-form label{ display:block; font-weight:600; margin-bottom:6px; color:#0b1220; }

/* Select + price alignment */
#lm-site-limit-select{ max-width:360px; display:inline-block; vertical-align:middle; }
#lm-selected-price{ display:inline-block; margin-left:12px; font-weight:700; color:var(--lm-accent); }

/* Submit button */
.lm-form .lm-button{
  background: linear-gradient(180deg, var(--lm-primary), #1e40af);
  border:none;
  color:#fff;
  padding:10px 16px;
  border-radius:8px;
  font-weight:700;
  cursor:pointer;
  box-shadow: 0 8px 24px rgba(37,99,235,0.12);
  transition: transform .12s, box-shadow .12s;
}
.lm-form .lm-button:hover{ transform: translateY(-3px); }

/* Result messages */
.lm-success{ background:#ecfdf5; color:#064e3b; padding:10px; border-radius:8px; border:1px solid #bbf7d0; }
.lm-error{ background:#fffbf0; color:#78350f; padding:10px; border-radius:8px; border:1px solid #fcd34d; }

/* Responsive */
@media (max-width:640px){
  .lm-form{ padding:14px; margin:12px; }
  #lm-site-limit-select{ width:100%; max-width:100%; display:block; margin-bottom:8px; }
  #lm-selected-price{ display:block; margin-left:0; margin-top:6px; }
}

/* Accessibility helpers */
.lm-form input:invalid { box-shadow: 0 0 0 3px rgba(239,68,68,0.06); border-color:#ef4444; }

/* Legacy browser fallback hints */
/* IE9+ will ignore CSS variables; provide decent defaults above */