.mp-line-reserve-form {
    --mplr-accent: #caa8d6;
    --mplr-accent-dark: #a67cb8;
    --mplr-heading: #4a3752;
    --mplr-text: #5c4a63;
    --mplr-muted: #8f7a95;
    --mplr-border: rgba(202,168,214,0.35);
    max-width: 520px;
    margin: 0 auto;
    font-family: 'Noto Sans JP', sans-serif;
    color: var(--mplr-text);
}
.mp-line-form-row { margin-bottom: 20px; display: flex; flex-direction: column; gap: 8px; }
.mp-line-form-row label {
    font-size: 13px;
    color: var(--mplr-heading);
    letter-spacing: 0.02em;
}
.mp-line-required {
    display: inline-block;
    margin-left: 8px;
    font-size: 10px;
    color: #fff;
    background: var(--mplr-accent-dark);
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0.05em;
}
.mp-line-form-row input,
.mp-line-form-row select,
.mp-line-form-row textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1px solid var(--mplr-border);
    border-radius: 4px;
    font-size: 15px;
    font-family: inherit;
    color: var(--mplr-text);
    background: #fff;
    box-sizing: border-box;
}
.mp-line-form-row textarea { resize: vertical; }
.mp-line-form-row input:focus,
.mp-line-form-row select:focus,
.mp-line-form-row textarea:focus {
    outline: none;
    border-color: var(--mplr-accent-dark);
}
.mp-line-liff-status {
    font-size: 12px;
    color: var(--mplr-accent-dark);
    background: rgba(202,168,214,0.12);
    padding: 10px 14px;
    border-radius: 4px;
    margin-bottom: 20px;
}
.mp-line-submit-btn {
    width: 100%;
    padding: 16px;
    background: var(--mplr-accent-dark);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.25s ease;
}
.mp-line-submit-btn:hover { background: var(--mplr-accent); }
.mp-line-submit-btn:disabled { opacity: 0.6; cursor: default; }
.mp-line-form-message {
    margin-top: 16px;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 13px;
}
.mp-line-form-message.is-success { background: rgba(120,170,120,0.12); color: #3a6b3a; }
.mp-line-form-message.is-error   { background: rgba(200,90,90,0.12); color: #a33; }
