/* Extracted from site/print-partner-apply.html on 2026-04-14 */

.partner-page { max-width: 640px; margin: 0 auto; padding: 24px 16px 64px; }
        .partner-page h1 { font-size: 32px; font-weight: 800; margin-bottom: 8px; }
        .partner-page .sub { color: var(--text-secondary); font-size: 16px; line-height: 1.6; margin-bottom: 32px; }

        .value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 32px; }
        .value-card { padding: 20px; border: 1.5px solid var(--border); border-radius: 10px; background: white; }
        .value-card h3 { font-size: 14px; margin-bottom: 4px; }
        .value-card p { font-size: 13px; color: var(--text-secondary); line-height: 1.4; }

        .form-section { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 24px; }
        .form-section h2 { font-size: 18px; font-weight: 700; margin-bottom: 16px; }
        .form-group { margin-bottom: 14px; }
        .form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--text-secondary); margin-bottom: 4px; }
        .form-group input, .form-group textarea, .form-group select {
            width: 100%; padding: 12px; border: 1.5px solid var(--border); border-radius: 8px;
            font-size: 15px; outline: none; box-sizing: border-box; font-family: inherit;
        }
        .form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--accent); }
        .form-group textarea { resize: vertical; min-height: 80px; }

        .row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

        .submit-btn {
            width: 100%; padding: 14px; background: var(--accent); color: white; border: none;
            border-radius: 10px; font-size: 16px; font-weight: 700; cursor: pointer; margin-top: 8px;
        }
        .submit-btn:hover { opacity: 0.9; }
        .submit-btn:disabled { opacity: 0.5; cursor: not-allowed; }

        .success-icon-wrap { width: 56px; height: 56px; background: #ecfdf5; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px; }
        .success-msg { display: none; text-align: center; padding: 32px; }
        .success-msg h2 { font-size: 22px; margin-bottom: 8px; }
        .success-msg p { color: var(--text-secondary); }

        @media (max-width: 500px) {
            .value-grid { grid-template-columns: 1fr; }
            .row-2 { grid-template-columns: 1fr; }
        }
