.cm2-plz-card {
    max-width: 380px; margin: 20px auto; padding: 24px;
    border-radius: 16px; background: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    font-family: 'Inter', sans-serif;
}

.cm2-plz-title {
    font-size: 20px; margin-bottom: 16px; text-align:center; color:#333;
}

.cm2-plz-form {
    display: flex; flex-direction: column; gap: 12px;
}

.cm2-plz-field {
    display: flex; gap: 8px;
}

.cm2-plz-field input {
    flex: 1; padding: 12px 16px;
    border-radius: 12px; border:1px solid #ddd;
    font-size: 16px;
}

.cm2-btn {
    padding: 4px 8px; border:none; 
    background: linear-gradient(90deg,#4f46e5,#6366f1);
    color:#fff; font-weight:600; cursor:pointer;
    position: relative;
    min-width:100px;
    border-radius:9999px;
}

.cm2-btn:disabled { opacity:0.6; cursor:not-allowed; }

.cm2-btn .spinner {
    border: 2px solid #fff; border-top: 2px solid transparent;
    border-radius:50%; width:16px; height:16px;
    animation: spin 0.8s linear infinite;
    position: absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    display:none;
}

.cm2-plz-msg {
    min-height:20px; font-size:14px; color:#555; text-align:center;
}

@keyframes spin { 100%{ transform: rotate(360deg); } }

@media(max-width:480px){
    .cm2-plz-card { padding:16px; }
    .cm2-plz-field { flex-direction: column; }
    .cm2-btn { width:100%; }
}
.cm2-timer {
  margin-left: 8px;
  font-size: 0.9em;
  color: #666;
}
.cm2-plz-field.phone-field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.phone-group {
  display: flex;
  flex: 1;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 6px;
  overflow: hidden;
}

.phone-group select {
  border: none;
  padding: 6px 8px;
  background: #f8f8f8;
  font-size: 14px;
}

.phone-group input {
  flex: 1;
  border: none;
  padding: 6px 10px;
  font-size: 14px;
}
