.mar-form { --mar-accent: #8B7355; max-width: 720px; }
.mar-form-title { font-size: 26px; font-weight: 500; margin: 0 0 6px; }
.mar-form-subtitle { font-size: 15px; color: #666; margin: 0 0 32px; line-height: 1.6; }

.mar-section { margin-bottom: 28px; }
.mar-section-label {
    font-size: 12px; font-weight: 600; letter-spacing: 2px;
    text-transform: uppercase; color: var(--mar-accent);
    margin-bottom: 14px; display: flex; align-items: center; gap: 6px;
}
.mar-section-label .dashicons { font-size: 16px; width: 16px; height: 16px; }

.mar-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.mar-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.mar-field { margin-bottom: 12px; }
.mar-label { font-size: 12px; color: #666; margin: 0 0 5px; display: block; }
.mar-req { color: #C0392B; margin-left: 2px; }

.mar-form input[type="text"],
.mar-form input[type="email"],
.mar-form input[type="tel"],
.mar-form input[type="url"],
.mar-form select,
.mar-form textarea {
    width: 100%; box-sizing: border-box; padding: 10px 12px;
    border: 1px solid #ddd; border-radius: 4px; font-size: 14px;
    font-family: inherit; transition: border-color 0.2s;
    background: #fff;
}
.mar-form input:focus, .mar-form select:focus, .mar-form textarea:focus {
    outline: none; border-color: var(--mar-accent);
}

.mar-tier-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.mar-tier-card { cursor: pointer; display: block; }
.mar-tier-card input { display: none; }
.mar-tier-inner {
    border: 1px solid #ddd; border-radius: 6px; padding: 16px 14px;
    text-align: center; transition: border-color 0.2s, background 0.2s;
}
.mar-tier-card input:checked + .mar-tier-inner {
    border-color: var(--mar-accent); background: rgba(139,115,85,0.05);
}
.mar-tier-card:hover .mar-tier-inner { border-color: #bbb; }
.mar-tier-price { font-size: 20px; font-weight: 500; margin-bottom: 4px; }
.mar-tier-desc { font-size: 11px; color: #999; line-height: 1.4; }

.mar-map-container {
    width: 100%; height: 220px; border-radius: 6px; border: 1px solid #ddd;
    margin-bottom: 14px; overflow: hidden; position: relative;
}
.mar-map-placeholder {
    width: 100%; height: 100%; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 6px;
    background: #f8f8f6; cursor: pointer; transition: background 0.2s;
}
.mar-map-placeholder:hover { background: #f0ede8; }
.mar-map-placeholder span { font-size: 13px; color: #888; }
.mar-map-hint { font-size: 11px; color: #bbb; }

.mar-upload-area {
    border: 1px dashed #ccc; border-radius: 6px; padding: 24px;
    text-align: center; cursor: pointer; transition: border-color 0.2s;
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    margin-bottom: 12px;
}
.mar-upload-area:hover { border-color: var(--mar-accent); }
.mar-upload-area span { font-size: 13px; color: #888; }
.mar-upload-hint { font-size: 11px; color: #bbb; }

.mar-file-list { display: flex; flex-wrap: wrap; gap: 8px; }
.mar-file-item {
    font-size: 12px; background: #f0ede8; padding: 5px 10px;
    border-radius: 4px; display: flex; align-items: center; gap: 6px;
}
.mar-file-remove { cursor: pointer; color: #C0392B; font-weight: bold; }

.mar-divider { border: none; border-top: 1px solid #eee; margin: 32px 0; }

.mar-check-row {
    display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px;
}
.mar-check-row input[type="checkbox"] { margin-top: 3px; accent-color: var(--mar-accent); }
.mar-check-row label { font-size: 13px; color: #666; line-height: 1.5; cursor: pointer; }

.mar-errors {
    background: #FDF2F2; border: 1px solid #F5C6C6; border-radius: 6px;
    padding: 14px 18px; margin-bottom: 16px; font-size: 13px; color: #C0392B;
}
.mar-errors ul { margin: 0; padding: 0 0 0 18px; }
.mar-errors li { margin-bottom: 4px; }

.mar-submit-btn {
    width: 100%; padding: 15px; font-size: 16px; font-weight: 500;
    color: #fff; background: #2C3E50; border: none; border-radius: 6px;
    cursor: pointer; letter-spacing: 0.5px; transition: background 0.2s, opacity 0.2s;
    font-family: inherit;
}
.mar-submit-btn:hover { background: #34495E; }
.mar-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.mar-submit-note {
    font-size: 12px; color: #999; text-align: center; margin: 10px 0 0; line-height: 1.5;
}

.mar-success {
    text-align: center; padding: 60px 20px;
}
.mar-success h3 { font-size: 18px; font-weight: 500; color: #333; margin: 16px 0 0; line-height: 1.6; }

@media (max-width: 680px) {
    .mar-row-2, .mar-row-3, .mar-tier-grid { grid-template-columns: 1fr; }
}
