
        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

 

        .form-wrapper {
            max-width: 1140px;
            margin: 0 auto;
            background: #fff;
            border-radius: 6px;
            padding: 28px 28px 20px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
            margin-top:40px;
        }

        /* ── Row layout ── */
        .field-row {
            display: flex;
            gap: 16px;
            margin-bottom: 14px;
            align-items: flex-start;
        }

        .field-group {
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        .field-group.full {
            flex: none;
            width: 100%;
        }

        label.field-label {
            font-size: 17.5px;
            font-weight: 700;
            color: #444;
            margin-bottom: 5px;
        }

        label.field-label .req {
            color: #e53935;
            margin-left: 1px;
        }

        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="number"],
        textarea,
        select {
            width: 100%;
            padding: 7px 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-family: 'Roboto', sans-serif;
            font-size: 13px;
            color:black 
            !important;
            background: #fff;
            outline: none;
            transition: border-color 0.15s;
        }

        input:focus,
        textarea:focus,
        select:focus {
            border-color: #5b9bd5;
        }

        input::placeholder,
        textarea::placeholder {
            color: #aaa;
            font-size: 12.5px;
        }

        textarea {
            resize: none;
            height: 60px;
        }

        select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 10px center;
            padding-right: 28px;
            cursor: pointer;
            color: black;
        }

        /* ── Checkbox row ── */
        .checkbox-section {
            margin-bottom: 14px;
        }

        .checkbox-row {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin-bottom: 3px;
        }

        .checkbox-row input[type="checkbox"] {
            margin-top: 2px;
            width: 14px;
            height: 14px;
            accent-color: #5b9bd5;
            flex-shrink: 0;
        }

        .checkbox-row label {
            font-size: 15.5px;
            color: #333;
            cursor: pointer;
        }

        .checkbox-note {
            font-size: 11.5px;
            color: #666;
            margin-left: 22px;
            margin-top: 2px;
        }

        /* ── Photo upload ── */
        .photo-section {
            margin-bottom: 20px;
        }

        .upload-label-text {
            font-size: 12.5px;
            font-weight: 500;
            color: #444;
            margin-bottom: 6px;
            display: block;
        }

        .upload-box {
            width: 110px;
            height: 90px;
            border: 1.5px dashed #bbb;
            border-radius: 4px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            background: #fafafa;
            transition: border-color 0.15s;
        }

        .upload-box:hover {
            border-color: #5b9bd5;
        }

        .upload-box input {
            display: none;
        }

        .upload-box .plus {
            font-size: 22px;
            color: #aaa;
            line-height: 1;
            margin-bottom: 4px;
        }

        .upload-box .upload-text {
            font-size: 11px;
            color: #999;
        }

        /* ── Bank Details Box ── */
        .bank-section {
            background: #fffde6;
            border: 1px solid #e8d58a;
            border-radius: 6px;
            padding: 18px 20px;
            margin-bottom: 14px;
        }

        .bank-section h3 {
            font-size: 14px;
            font-weight: 500;
            color: #5a4800;
            text-align: center;
            margin-bottom: 14px;
            border-bottom: 1px solid #e8d58a;
            padding-bottom: 10px;
        }

        .bank-inner {
            display: flex;
            gap: 20px;
            align-items: flex-start;
        }

        .bank-text {
            flex: 1;
        }

        .bank-text p {
            font-size: 12.5px;
            color: #444;
            margin-bottom: 5px;
            line-height: 1.5;
        }

        .bank-text strong {
            color: #222;
            font-weight: 500;
        }

        .qr-side {
            text-align: center;
        }

        .qr-box {
            width: 110px;
            border: 1px solid #ddd;
            border-radius: 6px;
            overflow: hidden;
            background: #fff;
            padding: 6px;
        }

        .qr-title {
            font-size: 10.5px;
            font-weight: 500;
            color: #555;
            background: #fff3cd;
            text-align: center;
            padding: 3px 0 4px;
            margin: -6px -6px 6px -6px;
            border-bottom: 1px solid #e8d58a;
        }

        .qr-img {
            width: 90px;
            height: 90px;
            margin: 0 auto;
            display: block;
            background: repeating-linear-gradient(45deg,
                    #ddd 0px, #ddd 2px,
                    #fff 2px, #fff 8px);
            border-radius: 2px;
        }

        .bhim-label {
            font-size: 9.5px;
            color: #777;
            margin-top: 5px;
            letter-spacing: 0.5px;
            font-weight: 500;
        }

        .upi-icons {
            display: flex;
            justify-content: center;
            gap: 4px;
            margin-top: 4px;
        }

        .upi-badge {
            font-size: 8px;
            padding: 2px 5px;
            border-radius: 3px;
            font-weight: 700;
            letter-spacing: 0.3px;
        }

        .badge-bhim {
            background: #1a237e;
            color: #fff;
        }

        .badge-upi {
            background: #6a1b9a;
            color: #fff;
        }

        .badge-visa {
            background: #003087;
            color: #fff;
        }

        /* ── Tip bar ── */
        .tip-bar {
            background: #e8f4fd;
            border: 1px solid #b3d7f5;
            border-radius: 4px;
            padding: 9px 14px;
            font-size: 12px;
            color: #1a5276;
            margin-bottom: 18px;
        }

        .tip-bar a {
            color: #1a6dd5;
            font-weight: 500;
            text-decoration: none;
        }

        .tip-bar a:hover {
            text-decoration: underline;
        }

        /* ── Submit button ── */
        .submit-wrap {
            text-align: center;
        }

        .btn-submit {
            background: #2c3e6b;
            color: #fff;
            border: none;
            border-radius: 5px;
            padding: 11px 38px;
            font-size: 14px;
            font-family: 'Roboto', sans-serif;
            font-weight: 500;
            cursor: pointer;
            letter-spacing: 0.3px;
            transition: background 0.15s;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .btn-submit:hover {
            background: #1a2850;
        }

        .btn-submit .heart {
            color: #e74c3c;
            font-size: 13px;
        }

        /* section label row */
        .label-row {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 6px;
        }

        .label-row .field-label {
            margin-bottom: 0;
        }

        @media (max-width: 500px) {
            .field-row {
                flex-direction: column;
                gap: 10px;
            }

            .bank-inner {
                flex-direction: column;
            }
        }
