.m-coupon {
    padding: 12px 0 0;
}

.card {
    background: var(--color-white);
    border: 1px solid #E5E7EB;    
    padding: 16px;
    box-shadow: 0 6px 16px rgba(0,0,0,.04);
}

.card-title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 1000;
    color: #111827;
}

.card-desc {
    margin: 0 0 14px;
    font-size: 12px;
    color: #6B7280;
    line-height: 1.45;
}

.form { display:flex; flex-direction: column; gap: 12px; }

.field { display:flex; flex-direction: column; gap: 6px; padding: 0.5rem 0; }

.label {
    font-size: 12px;
    font-weight: 1000;
    color: #111827;
}

.select, .input {
    height: 44px;    
    border: 1px solid #E5E7EB;
    background: #fff;
    color: #111827;
    padding: 0 12px;
    font-size: 16px; /* iOS 확대 방지 */
    outline: none;
    width: 100%;
}

.select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.select:focus, .input:focus{
    border-color: rgba(29,124,242,.45);
    box-shadow: 0 0 0 3px rgba(29,124,242,.14);
}

.help {
    font-size: 11px;
    color: #6B7280;
    line-height: 1.35;
}

.btn-primary {
    margin-top: 2rem;
    width: 100%;
    height: 48px;    
    border: 1px solid rgba(29,124,242,.3);
    background: var(--color-blue);
    color: #fff;
    font-size: 14px;
    font-weight: 1000;
    cursor: pointer;
}

.btn-primary:active {
    transform: translateY(1px);
}

.notice {
    margin-top: 2px;
    padding: 10px 12px;    
    font-size: 12px;
    line-height: 1.45;
    border: 1px solid #E5E7EB;
    background: #fff;
    color: #111827;
}

.notice.info {
    background: rgba(29,124,242,.08);
    border-color: rgba(29,124,242,.18);
    color: #0b4fb2;
}

.notice.error {
    background: rgba(239,68,68,.08);
    border-color: rgba(239,68,68,.18);
    color: #b91c1c;
}

.safe-bottom { height: 16px; }